Đăng ký Đăng nhập
Trang chủ Xây dựng ứng dụng máy tính bỏ túi trên android...

Tài liệu Xây dựng ứng dụng máy tính bỏ túi trên android

.PDF
51
1
83

Mô tả:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN KHOA HỌC MÁY TÍNH ------------***------------ ĐỒ ÁN MÔN HỌC LẬP TRÌNH ỨNG DỤNG DI ĐỘNG ĐỀ TÀI : XÂY DỰNG ỨNG DỤNG MÁY TÍNH BỎ TÚI Giáo viên hướng dẫn : TS. HỒ NGỌC VINH Sinh viên: TRẦN THỊ THỦY Lớp : ĐH CNTT K11Z Vinh, năm 2019 TRƯỜNG ĐHSPKT VINH KHOA CNTT BỘ MÔN KHOA HỌC MÁY TÍNH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU GIAO ĐỒ ÁN MÔN HỌC MÔN HỌC: PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Họ tên sinh viên hoặc nhóm sinh viên: STT Họ và tên MSSV 1 Hoàng Thị Hà 1205190007 SĐT Email [email protected] Lớp: DH CNTT K11Z Ngày giao đề tài: 05/08/2019 Ngày hoàn thành: 30/11/2019 1.Tên đề tài: Lập trình ứng dụng máy tính bỏ túi Yêu cầu: Xây dựng ứng dụng di động trên Android 1.2. Nhiệm vụ đồ án: - Tìm hiểu về lý thuyết phát triển ứng dụng di động, SQLite, lập trình CSDL với Android Studio - Xây dựng ứng dụng máy tính bỏ túi với các chức năng: Cộng, Trừ, Nhân, Chia, Log, Căn bậc 2, Căn bậc 3, Lũy thừa, Sin, Cos, Tan (tính theo góc rad). - Viết chương trình thực hiện các chức năng trên 2. Báo cáo và chương trình: - Báo cáo, thuyết minh: file word, file trình chiếu (PowerPoint) - Mã nguồn: ghi vào đĩa CD. 3. Theo dõi quá trình thực hiện đồ án Ngày kiểm tra Tiến độ công việc (yêu cầu ghi Nhận xét của Chữ ký của rõ các nội dung đã hoàn thành) GVHD GVHD 4. Điểm hướng dẫn (điểm chữ và số) ………………………………………………………………… 5. Đồng ý cho bảo vệ hay không đồng ý: ………………………………………………………….…..…. TRƯỞNG BỘ MÔN GIÁO VIÊN HƯỚNG DẪN SINH VIÊN THỰC HIỆN Nhận xét của giáo viên hướng dẫn ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... Nghệ An, Ngày Tháng Năm 2019 Giáo Viên hướng dẫn (Ký ghi rơ họ tên) Nhận xét của giáo viên chấm ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... Nghệ An, Ngày Tháng Năm 2019 Giáo Viên chấm (Ký ghi rơ họ tên) MỤC LỤC LỜI NÓI ĐẦU ...................................................................................................... 1 LỜI CẢM ƠN ....................................................................................................... 2 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ..................................................................... 3 1.1. Sơ lược về các hệ điều hành trên điện thoại di động ..................................... 3 1.2. Lịch sử phát triển Android ............................................................................. 5 1.3. Vòng đời của một Activity ........................................................................... 13 1.4 Giao diện android .......................................................................................... 13 1.5. Các thành phần của một vòng đời ................................................................ 14 1.5.1. Activity ...................................................................................................... 14 1.5.2. Service ....................................................................................................... 15 1.5.3. View .......................................................................................................... 16 1.5.4. Một số control thường dùng ...................................................................... 18 1.6. Lưu trữ dữ liệu ............................................................................................. 21 1.6.1. SQLite ....................................................................................................... 22 2.1. Sơ lược về Android ...................................................................................... 24 2.2. Cài đặt android studio .................................................................................. 24 2.3 Tổng quan về Android................................................................................... 29 2.3.1 Tầng hạt nhân Linux .................................................................................. 30 2.3.2 Tầng Library ............................................................................................... 30 2.3.3 Phần Android runtime ................................................................................ 30 2.3.4 Tầng Application Famework...................................................................... 30 2.3.5 Tầng Application ........................................................................................ 31 CHƯƠNG 3: DEMO ỨNG DỤNG .................................................................... 32 3.1. Cài đặt ứng dụng .......................................................................................... 32 3.1.1. Đóng gói chương trình và chạy thử chương trình ..................................... 32 a. Môi trường cài đặt ........................................................................................... 32 3.2. Các giao diện chính của chương trình .......................................................... 34 3.2.1 Giao diện tính phép tính cộng, trừ, nhân, chia ........................................... 34 3.2.2: Code trong ứng dụng:................................................................................ 35 4. KẾT LUẬN .................................................................................................... 45 TÀI LIỆU THAM KHẢO ................................................................................... 46 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android LỜI NÓI ĐẦU Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những nãm 1990 và theo thời gian số lương các thuê bao cũng nhý các nhà cung cấp dịch vụ đi động tại Việt Nam ngày càng tãng. Do nhu cầu trao đổi thông tin ngày càng tãng và nhu cầu sử dụng sản phẩm công nghệ cao nhiều tính nãng, cấu hình cao, chất lương tốt, kiểu dáng mẫu mà đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm của mình. Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm nãng và hứa hẹn nhiều sự phát triển vươt bậc của ngành khoa học kĩ thuật. Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động. Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên các hệ điều hành di động cũng phát triển mạnh mẽ và đang thay đổi từ ngày. Các hệ điều hành J2ME, Android, IOS, Hybrid, Web based Mobile Application đã có rất phát triển trên thị trương truyền thông di động. Trong vài nãm trở lại đây, hệ điều hành Android ra đời với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiện nay, đã được nhà phát triển công nghệ rất nổi tiếng hiện nay là Google. Android đã nhanh chóng là đối thủ cạnh tranh mạnh mẽ với các hệ điều hành trước đó và đang là hệ điều hành di động của tương lai và được nhiều người ưa chuộng nhất. Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu cập nhật tin tức xã hội mọi lúc mọi nơi là rất cần thiết, vì vậy em đã chọn đề tài “Tìm hiểu Android và xây dựng ứng dụng máy tính bỏ túi” với mục đích nghiên cứu,tìm hiểu về hệ điều hành Android và xây dựng ứng dụng máy tính bỏ túi để có thể đáp ứng đươc nhu cầu tính toán dễ dàng, tiện ích. SVTH: Trần Thị Thủy 1 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android LỜI CẢM ƠN Em xin trân trọng gửi lời cảm ơn đến các thầy cô trong khoa Công Nghệ Thông Tin, đặc biệt là thầy giáo ThS. Hồ NGỌC VINH, đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình làm đồ án môn học. Với sự chỉ bảo của thầy, em đã có những định hướng tốt trong việc triển khai và thực hiện các yêu cầu trong quá trình làm đồ án môn học này. Em xin cảm ơn những người thân và gia đình đã quan tâm, động viên và luôn tạo cho em những điề u kiện tốt nhất trong suốt quá trình học tập và làm đồ án. Qua đây, một lần nữa em xin cảm ơn THẦY HỒ NGỌC VINH đã giúp đỡ chúng em trong việc hoàn thành đồ án trên. Em xin chân thành cảm ơn! SVTH: Trần Thị Thủy 2 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Sơ lược về các hệ điều hành trên điện thoại di động Ngày nay, khái niệm hệ điều hành không chỉ là trên máy tính mà còn được mở rộng cho nhiều thiết bị điện tử khác chẳng hạng như điện thoại thông minh (smart phone), các thiết bị cầm tay PDA v.v… Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di động cao. Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà những hệ điều hành thông thường không có được. Chẳng hạn như nó phải chạy trên hệ thống máy có cấu hình máy hạn chế về tốc độ bộ vi xử lý, bộ nhớ sử dụng, phải chạy được ổn định liên tục trong một thời gian dài mà chỉ sử dụng một lượng điện năng nhỏ, trong suốt thời gian chạy đó có thể duy trì các kết nối mạng không dây để đảm bảo liên lạc. Một số hệ điều hành tiêu biểu: Trên máy tính cá nhân: MS DOS, MS WINDOW, MACOS, LINUX, UNIX Trên điện thoại thông minh: Android, Sybian, Window Mobile, iPhone OS, BlackBerry, S60, Bada OS, Palm OS.. Android Android là hệ điều hành trên điện thoại di động phát triển bởi Google và dựa trên nền tảng Linux. Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005). Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Đối với các nhà phát triển, những người muốn xây dựng các ứng dụng di động một cách nhanh chóng thì Android là một môi trường tuyệt vời để bắt đầu. Nếu bạn có thể lập trình bằng Java và các ngôn ngữ JVM khác, thì bạn chỉ cần SVTH: Trần Thị Thủy 3 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android tập trung vào việc nghiên cứu cách thức xây dựng ứng dụng và triển khai ứng dụng từ đó. Tính linh hoạt của Android có nghĩa là bạn có thể dễ dàng áp dụng và thử nghiệm với các công nghệ mới như HTML5 và PhoneGap. Và nền tảng có mặt khắp nơi - cùng với Google Play - đảm bảo rằng các ứng dụng của bạn sản xuất có thể được chia sẻ rộng rãi. Vì tính linh hoạt, dễ sử dụng và phổ biến của Android mà nhóm chúng em đã lựa chọn hệ điều hành Android để thực hiện chương trình “Quản lý nhà trọ”. Symbian Mobilephone-Symbian, hai từ trên “ghép” lại đã đem đến một thế hệ điện thoại thông minhSmartphone. Symbian chính là tâm điểm của sự phát triển cho thị trường di động. Hệ điều hành (HĐH) này ra đời đã góp phần tạo nên một bức tranh đầy màu sắc cho thế giới mobile. Các nhà sản xuất liên tục cho ra những mẫu điện thoại cực kỳ tối tân, mạnh mẽ. Tuy Symbian chỉ mới được biết đến từ cuối thập niên 90, nhưng tuổi đời phát triển của nó chẳng thua kém vòng đời phát triển của HĐH Windows mà chúng ta đang sử dụng là bao. Tháng 6/1998, Symbian ra đời tại London (Anh), tiền thân của sản phẩm này là một phần mềm của Psion. Sau đó, lần lượt Nokia, Motorola, Ericsson đều mua cổ phần chung sở hữu sử dụng nền tảng này. Windows Phone 7 Windows Phone 7 là một hệ điều hành di động được phát triển bởi Microsoft, và là sự kế thừa để bởi nền tảng Windows Mobile. Nó ra mắt tại châu Âu, Singapore và Úc vào ngày 21 Tháng Mười năm 2010, và tại Mỹ và Canada vào ngày 08 Tháng Mười Một năm 2010, với châu Á có thể trong năm 2011.Với Windows Phone 7, Microsoft cung cấp một Metro giao diện người dùng mới , tích hợp các hệ điều hành với các dịch vụ khác của Microsoft, và kế hoạch kiểm soát chặt chẽ phần cứng mà nó chạy trên nền tảng này. IOS SVTH: Trần Thị Thủy 4 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android IOS là hệ điều hành của Apple. Ban đầu nó được cài tren điện thoại Iphone,sau đó nó ddauw vào và trở thành hệ điều hành trên iPod Touch, iPad và Apple TV. Apple không có phép hệ điều hành này chạy trên phần cứng của bên thứ 3. BlackBerry Giống như Windows Mobile, những chiếc BlackBerry của RIM được chỉ định là dành cho doanh nhân, nhưng gần đây đã có những thay đổi để hướng tới người dùng bình dân. Nền tảng này tương đối trực quan và dễ sử dụng, cung cấp cho người dùng một server e-mail, hỗ trợ việc gửi và nhận tin nhắn nhanh. 1.2. Lịch sử phát triển Android Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger),[20] Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thích của người dùng". Dù những người thành lập và nhân viên đều là những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động. Trong năm đó, Rubin hết kinh phí. Steve Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ chối tham gia vào công ty. Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng công ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụ này. Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưng nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau bước đi này. Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động phát triển trên nền nhân Linux. Google quảng bá nền tảng này cho các nhà sản xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và có khả năng SVTH: Trần Thị Thủy 5 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android nâng cấp. Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác nhau. Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google. Một vài tờ báo còn nói rằng trong khi Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng. Tháng 9 năm 2007, InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động. Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày, Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu trưng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại California vẽ. Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước. Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nối bằng phiên bản 1.6 Donut (bánh vòng). Phiên bản mới nhất hiện nay là 5.0 Lollipop. Vào năm 2010, Google ra mắt loạt thiết bị Nexus—một dòng sản phẩm bao gồm điện SVTH: Trần Thị Thủy 6 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phần cứng sản xuất. HTC đã hợp tác với Google trong chiếc điện thoại thông minh Nexus đầu tiên, Nexus One. Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsung sản xuất. Google xem điện thoại và máy tính bảng Nexus là những thiết bị Android chủ lực của mình, với những tính năng phần cứng và phần mềm mới nhất của Android. Năm 2014, Google công báo Android Wear, hệ điều hành dành cho các thiết bị đeo được Android – hệ điều hành dành cho điện thoại di động được phát triển bởi Google và ngày càng trở nên phổ biến với các hãng liên tục ra mắt các mẫu điện thoại sử dụng Android. Giao diện màn hình khóa (Android 2.2) Giao diện màn hình chính (Android 2.2) Android được xây dựng trên nhân linux và được phân phối miễn phí. Không giống như Windows mobile và Apple iPhone, tuy cả hai đều cung cấp môi trường phát triển ứng dụng phong phú và đơn giản dễ tiếp cận nhưng luôn có sự ưu tiên cho các ứng dụng mặc định có sẵn của hệ điều hành (native SVTH: Trần Thị Thủy 7 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android applications). Với Android mọi ứng dụng đều được viết trên cùng một tập API, thế nên không có sự phân biệt giữa các ứng dụng mặc định và các ứng dụng của bên thứ ba. Người dùng hoàn toàn có thể thay thế mọi ứng dụng mặc định bằng các ứng dụng yêu thích của mình, thậm chí ngay cả màn hình thực hiện cuộc gọi mà màn hình nhà (home scream). Các nhà phát triển ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng và phần mềm viễn thông nhằm mục đích tạo nên chuẩn mở cho điện thoại di động trong tương lai. Google công bố hầu hết các mã nguồn Android theo bản cấp phép Apache. Các thành viên của liên minh di động mở Các ứng dụng có sẵn trên Android SVTH: Trần Thị Thủy 8 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android Một điện thoại Android thông thường sẽ đi kèm với một vài ứng dụng có sẵn, bao gồm: * Một trình email tương thích với Gmail * Chương trình quản lý tin nhắn SMS * Chương trình quản lý thông tin cá nhân, bao gồm cả lịch làm việc, danh bạ và được đồng bộ hóa với dịch vụ Google * Phiên bản thu gọn của Google Map cho điện thoại, bao gồm StreetView, tìm kiếm địa chỉ, chỉ đường, tình trạng giao thông… * Trình duyệt Web dựa trên nhân Webkit. * Chương trình tán gẫu (Chat). * Trình đa phương tiện (chơi nhạc, xem phim…). * Android MarketPlace cho phép người dùng tải về và cài đặt các ứng dụng mới. Tất cả các ứng dụng có sẵn đều được viết bằng ngôn ngữ Java và sử dụng Android SDK.Các dữ liệu về thông tin người dùng được các ứng dụng có sẵn sử dụng như thông tin về danh bạ vẫn hoàn toàn có thể được sử dụng bởi các ứng dụng của bên thứ ba. Tương tự vậy, ứng dụng của bạn hoàn toàn có thể xử lý các sự kiện như các cuộc gọi đến, nhận một tin nhắn mới… thay cho các ứng dụng có sẵn. Truy cập phần cứng Android bao gồm các thư viện API giúp đơn giản hóa tối đa việc sử dụng phần cứng của thiết bị. Điều đó đảm bảo rằng bạn không cần phải bận tâm nhiều đến việc ứng dụng của mình có thể chạy như mong đợi trên nhiều thiết bị khác nhau hay không, miễn là thiết bị đó có hỗ trợ Android. Android SDK bao gồm các API cho phần cứng:GPS, Camera, kết nối mạng, WIFI, Bluetooth, con quay gia tốc, màn hình cảm ứng, quản lý năng lượng… Dịch vụ chạy nền SVTH: Trần Thị Thủy 9 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android Android hỗ trợ các ứng dụng và dịch vụ được thiết kế chạy ẩn. Do kích thước nhỏ của màn hình điện thoại nên tại một thời điểm chỉ có thể thấy một ứng dụng. Dịch vụ chạy nền giúp tạo ra các thành phần ứng dụng “vô hình” để thực hiện tự động một tác vụ nào đó mà không cần phải có sự tương tác của người dùng. Ví dụ như một dịch vụ chạy nền có chức năng chặn cuộc gọi đến đối với các số điện thoại có trong “black list” chẳng hạn. SQLite Database Bởi vì tính chất nhỏ gọn và bị hạn chế về phần cứng của điện thoại di động, cho nên đòi hỏi việc lưu trữ và truy xuất dữ liệu phải nhanh chóng và hiệu quả. Android hỗ trợ hệ quản trị nhỏ gọn SQLite, và cung cấp cho ứng dụng các API để thao tác. Mặc định mỗi ứng dụng đều được chạy trong SandBox (hộp cát) điều này có nghĩa là nội dung của từng database ứng với từng ứng dụng chỉ có thể truy cập bằng chính ứng dụng đó. Tuy nhiên cũng có các cơ chế để các ứng dụng chia sẽ, trao đổi các database với nhau. Tối ưu hóa bộ nhớ và quản lý tiến trình Việc quản lý bộ nhớ và tiến trình trong Android cũng có một chút khác biệt giốn như công nghệ Java và .NET, Android sử dụng một bộ Run-time của riêng mình với công nghệ ảo hóa để quản lý bộ nhớ của các ứng dụng đang chạy. Không giống như những nền tản khác, Android Run-time cũng đồng thời quản lý luôn cả thời gian sống của ứng dụng. Android đảm bảo các ứng dụng đều được đáp ứng bằng cách dừng và hủy các tiến trình không cần thiết để giải phóng các tài nguyên cho các tiến trình có độ ưu tiên cao hơn. Android software development kit (SDK) Bộ SDK của Android bao gồm mọi thứ cần thiết giúp bạn có thể lập trình, debug, test ứng dụng Android. * Android API: Cốt lơi của bộ SDK là thư viện các hàm API và Google cũng chỉ sử dụng bộ API này để xây dựng các ứng dụng có sẵn cho Android. SVTH: Trần Thị Thủy 10 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android * Android Emulator: Trình giả lập thiết bị chạy Android thực sự với nhiều Skin thay thế, cực kì tiện lợi cho việc test ứng dụng Android ngay trên máy tính mà không cần phải thông qua một thiết bị chạy Android thực. * Tài liệu: SDK bao gồm một bộ tài liệu rất chi tiết, giải thích cặn kẽ chính xác những gì bao gồm trong mỗi page, class cùng với cách sử dụng chúng. Ngoài tài liệu về “code”, còn có những tài liệu dùng để “getting started” và giải thích các nguyên tắc và cơ chế hoạt động của ứng dụng trong Android. * Code mẫu: SDK bao gồm các ứng dụng mẫu đơn giản minh họa cho các tính năng nổi bật trên Android, cũng như các ứng dụng demo cách sử dụng các tính năng của bộ API. Kiến trúc ứng dụng Ý tưởng của Android là việc khuyến khích tái sử dụng lại các thành phần đã có, cho phép ứng dụng của bạn có thể chia sẻ Activity, Service, Dữ liệu với các ứng dụng khác nhau trong giới hạn bạn đặt ra. Sau đây là kiến trúc của mọi ứng dụng Android: - Activity Manager: Kiểm soát vòng đời của Activity. - View: Xây dựng giao diện người dùng cho Activity. - Notification Manager: Cung cấp một cơ chế thống nhất và an toàn để ứng dụng có thể đưa ra các thông báo cho người dùng. - Content Provider: Giúp trao đổi và chia sẽ dữ liệu giữa các ứng dụng với nhau. - Resource Manager: Hỗ trợ quản lý các tài nguyên không là code như các chuỗi, hình ảnh, và âm thanh… Các thư viện của Android Android cung cấp các gói API để phát triển ứng dụng. Sau đây là các API mà tất cả các thiết bị Android đều tối thiểu phải hỗ trợ để giúp cho chúng ta một cái nhìn tổng quát về thư viện này. - Android.util: Gói API lơi, chứa các class cấp thấp như container, string formatter, XML parsing. SVTH: Trần Thị Thủy 11 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android - Android.os: Truy cập tới chức năng của hệ điều hành như : gởi nhận tin nhắn, giao tiếp nội bộ giữa các ứng dụng, thời gian… - Android.graphics: Cung cấp các lớp liên quan tới xử lý đồ họa ở mức thấp. Hỗ trợ các hàm cơ bản như vẽ điểm, vẽ miền, tô màu.. trên khung canvas. - Android.text: Cung cấp các hàm phân tích và xử lý chuỗi. - Android.database: Cung cấp các lớp cấp thấp cần thiết để làm việc với database. - Android.content: Dùng để quản lý các tài nguyên, các nội dung và các gói. - Android.view: Views là lớp cha của mọi lớp giao diện người dùng. - Android.widget: Được thừa kế từ lớp View, bao gồm các lớp cơ bản để xây dựng giao diện widget như: list, button, layout.. - Android.map: Gói API cấp cao, dùng để truy cập tới các chức năng của GoogleMap. - Android.app: Gói API cấp cao, bao gồm các Activity và Service – hai lớp cơ sở cho mọi ứng dụng Android. - Android.telephony: Cung cấp cho bạn khả năng tương tác trực tiếp với các chức năng cơ bản của một điện thoại như nghe, gọi, tin nhắn - Android.webkit: Cung cấp một webView control trên nền webkit để có thể nhúng ứng dụng, cùng với các API điều khiển cơ bản như stop, refresh, cookieManager… SVTH: Trần Thị Thủy 12 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android 1.3. Vòng đời của một Activity Chu kỳ sống của Activity Một Activity chủ yếu có 3 chu kỳ chính sau: - Active hoặc running: Khi Activity là được chạy trên màn hình. Activity này tập trung vào những thao tác của người dùng trên ứng dụng. - Paused: Activity là được tạm dừng (paused) khi mất focus nhưng người dùng vẫn trông thấy. Có nghĩa là một Activity mới ở trên nó nhưng không bao phủ đầy màn hình. Một Activity tạm dừng là còn sống nhưng có thể bị kết thúc bởi hệ thống trong trường hợp thiếu vùng nhớ. - Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác. Nó vẫn còn trạng thái và thông tin thành viên trong nó. Người dùng không thấy nó và thường bị loại bỏ trong trường hợp hệ thống cần vùng nhớ cho tác vụ khác. 1.4 Giao diện android Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo giãn và thu lại để xử lý các đối tượng trên màn hình. Sự phản ứng với tác động của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà, thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng. Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách được một số ứng dụng sử dụng SVTH: Trần Thị Thủy 13 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android để phản hồi một số hành động khác của người dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua bằng xoay thiết bị, giống như đang điều khiển vôlăng. Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc) trên máy tính để bàn. Màn hính chính Android thường gồm nhiều biểu tượng (icon) và tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, còn tiện ích hiển thị những nội dung sống động, cập nhật tự động như dự báo thời tiết, hộp thư của người dùng, hoặc những mẩu tin thời sự ngay trên màn hình chính. Màn hình chính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích. Những ứng dụng do các hãng thứ ba có trên Google Play và các kho ứng dụng khác còn cho phép người dùng thay đổi "chủ đề" của màn hình chính, thậm chí bắt chước hình dáng của hệ điều hành khác như Windows Phone chẳng hạn. Phần lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng và hành vi của các thiết bị Android của họ để phân biệt với các hãng cạnh tranh. Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và tình trạng kết nối. Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện. Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứng dụng tương ứng, về sau này các thông tin cập nhật được bổ sung theo tính năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mở ứng dụng gọi điện ra. Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa nó đi. 1.5. Các thành phần của một vòng đời 1.5.1. Activity SVTH: Trần Thị Thủy 14 Xây Dựng Ứng Dụng Máy Tính Bỏ Túi Trên Android Là thành phần tối quan trọng của bất kỳ một ứng dụng Android nào. Thuật ngữ Activity chỉ một việc mà người dùng có thể thực hiện trong một ứng dụng Android. Do gần như mọi activity đều tương tác với người dùng, lớp Activity đảm nhận việc tạo ra một cửa sổ (window) để người lập trình đặt lên đó một giao diện UI với setContentView(View). Một activity có thể mang nhiều dạng khác nhau: Một cửa sổ toàn màn hình (full screen window), một cửa sổ floating (với windowsIsFloating) hay nằm lồng bên trong 1 activity khác (với ActivityGroup). Có 2 phương thức mà gần như mọi lớp con của Activity đều phải hiện thực: - onCreate(Bundle) - Nơi khởi tạo activity. Quan trọng hơn, đây chính người lập trình gọi setContentView(int) kèm theo layout để thể hiện UI của riêng mình. Đồng thời còn có findViewById(int) giúp gọi các widget (buttons, text boxes, labels,..) để dùng trong UI. - onPause() - Nơi giải quyết sự kiện người dùng rời khỏi activity. Mọi dữ liệu được người dùng tạo ra tới thời điểm này cần phải được lưu vào Để có thể sử dụng Context.startActivity(), mọi lớp ContentProvider. activity đều phải được khai báo với tag trong file AndroidManifest.xml. thi hiệu quả cho Intent đó. 1.5.2. Service Một service là một thành phần của ứng dụng, thể hiện mong muốn ứng dụng thực hiện các hành động trong khi không tương tác với người dùng hoặc cung cấp chức năng cho các ứng dụng khác sử dụng. Nói một cách đơn giản, service là các tác vụ (task) chạy ngầm dưới hệ thống nhằm thực hiện một nhiệm vụ nào đó. Mỗi class Service phải chứa thẻ được khai báo trong file AndroidManifext.xml. Services có thể được bắt đầu bởi Context.startService() và Context.bindservice(). SVTH: Trần Thị Thủy 15
- Xem thêm -

Tài liệu liên quan