Bài toán hỗ trợ tìm kiếm việc làm bằng Android

  • Số trang: 79 |
  • Loại file: DOC |
  • Lượt xem: 31 |
  • Lượt tải: 0
thuvientrithuc1102

Đã đăng 15346 tài liệu

Mô tả:

TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC ĐÀ NẴNG KHOA THỐNG KÊ TIN HỌC ----------- LUẬN VĂN TỐT NGHIỆP Đề tài : XÂY DỰNG ỨNG DỤNG TÌM KIẾM VIỆC LÀM TRÊN HỆ ĐIỀU HÀNH ANDROID Giáo viên hướng dẫn : ThS. Nguyễn Văn Chức Sinh viên thực hiện : Lê Thị Thu Thủy Lớp : 35K14 Đà Nẵng, tháng 12 năm 2012 i LỜI CAM ĐOAN Tôi xin cam đoan: 1. Những nội dung trong chuyên đề này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo Nguyễn Văn Chức. 2. Mọi tham khảo dùng trong chuyên đề đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá tôi xin chịu hoàn toàn trách nhiệm. Đà Nẵng, tháng 12 năm 2012 Sinh viên thực hiện Lê Thị Thu Thủy ii MỤC LỤC LỜI CAM ĐOAN.......................................................................................................i MỤC LỤC................................................................................................................ ii DANH MỤC CÁC HÌNH........................................................................................v DANH MỤC CÁC BẢNG....................................................................................vii LỜI MỞ ĐẦU..........................................................................................................1 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CỦA LẬP TRÌNH ANDROID...................3 1.1. Hệ điều hành Android.....................................................................................3 1.1.1. Lịch sử phát triển...................................................................................3 1.1.2. Các phiên bản hệ điều hành Android.....................................................4 1.2. Kiến trúc của Android....................................................................................7 1.2.1. Tầng hạt nhân Linux (Linux Kernel layer).............................................7 1.2.2. Tầng Library và android runtime...........................................................8 1.2.3. Tầng Application Framework................................................................8 1.2.4. Tầng Application....................................................................................9 1.3. Android Enmulator.......................................................................................10 1.4. Các thành phần chính trong một Android Project.........................................10 1.4.1. Sources (Scr folder).............................................................................11 1.4.2. Resources (Res folder).........................................................................12 1.4.3. AndroidManifest.xml...........................................................................12 1.4.4. File R.java............................................................................................13 1.5. XML trong Android......................................................................................13 1.6. Chu kỳ ứng dụng Android............................................................................15 1.6.1. Chu kỳ sống thành phần.......................................................................15 1.6.2. Activity Stack.......................................................................................16 1.6.3. Các trạng thái của chu kỳ sống.............................................................17 iii 1.6.4. Chu kỳ sống của ứng dụng...................................................................17 1.6.5. Các sự kiện trong chu kỳ sống của ứng dụng.......................................18 1.6.6. Thời gian sống của ứng dụng...............................................................18 1.6.7. Thời gian hiển thị của Activity.............................................................19 1.6.8. Các phương thức của chu kỳ sống........................................................19 1.7. Activity & Intent...........................................................................................20 1.7.1. Activity................................................................................................20 1.7.2. Intent....................................................................................................22 1.8. Sơ lược về Web Service................................................................................24 1.8.1. Khái niệm về Web Service...................................................................24 1.8.2. Đặc điểm của Web Service..................................................................24 1.8.2.1. Đặc điểm chung.............................................................................24 1.8.2.2. Ưu điểm và nhược điểm của Web Service.....................................25 1.8.3. Kiến trúc của Web Service...................................................................26 1.8.4. Các thành phần của Web Service.........................................................28 1.8.4.1. Ngôn ngữ XML – eXtensible Markup Language..........................28 1.8.4.2. WSDL – Web Service Description Language................................29 1.8.4.3. Universal Description, Discovery and Intergation (UDDI)............30 1.8.4.4. SOAP – Simple Object Access Protocol........................................30 CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG TÌM KIẾM VIỆC LÀM TRÊN HỆ ĐIỀU HÀNH ANDROID.........................................................33 2.1. Đặc tả bài toán..............................................................................................33 2.2. Đặc tả chức năng..........................................................................................33 2.2.1. Đăng ký.................................................................................................33 2.2.2. Đăng tin................................................................................................34 2.2.3. Xem danh sách tin đăng........................................................................34 2.2.4. Quản lý hồ sơ cá nhân...........................................................................35 2.2.5. Quản lý tin đăng....................................................................................35 2.2.6. Góp ý cho chương trình........................................................................35 iv 2.3. Các biểu đồ hệ thống....................................................................................35 2.3.1. Biểu đồ Use Case.................................................................................35 2.3.1.1. Liệt kê và mô tả các Actor.............................................................35 2.3.1.2. Mô hình Use Case tổng quát..........................................................36 2.3.1.3. Mô tả các Use Case.......................................................................38 2.3.2. Biểu đồ Sequence.................................................................................44 2.3.2.1. Đăng nhập......................................................................................44 2.3.2.2. Đăng ký.........................................................................................45 2.3.2.3. Đăng tin.........................................................................................45 2.3.2.4. Thay đổi thông tin cá nhân............................................................47 2.3.2.5. Thay đổi mật khẩu.........................................................................48 2.3.3. Biểu đồ Class........................................................................................49 2.4. Cơ sở dữ liệu.................................................................................................50 CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG TÌM KIẾM VIỆC LÀM TRÊN HỆ ĐIỀU HÀNH ANDROID......................................................................................56 3.1. Công cụ xây dựng chương trình....................................................................56 3.1.1. Visual Studio 2010...............................................................................56 3.1.2. SQL Server 2005..................................................................................57 3.1.3. Eclipse..................................................................................................58 3.1.3.1. Giới thiệu về Eclipse......................................................................58 3.1.3.2. Cấu trúc của Eclipse......................................................................58 3.2. Kết quả chạy thử...........................................................................................60 3.2.1. Web Service và cài đặt ứng dụng.........................................................60 3.2.2. Màn hình đăng nhập.............................................................................62 3.2.3. Màn hình đăng ký thành viên...............................................................63 3.2.4. Trang giao diện của Thành viên (Ứng viên).........................................65 3.2.5. Giao diện ứng dụng của Khách............................................................69 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN............................................................71 v TÀI LIỆU THAM KHẢO.......................................................................................73 vi DANH MỤC CÁC HÌNH Hình 1-1. Cấu trúc stack hệ thống Android..............................................................7 Hình 1-2. Android Emulator...................................................................................10 Hình 1-3. Cấu trúc của một Android Project..........................................................11 Hình 1-4. Chu kỳ sống thành phần.........................................................................16 Hình 1-5. Activity stack.........................................................................................16 Hình 1-6. Chu kỳ sống của Activity.......................................................................17 Hình 1-7. Truyền dữ liệu giữa 2 Activity...............................................................23 Hình 1-8. Các thuộc tính của Intent........................................................................23 Hình 1-9. Các Action đã được định nghĩa sẵn trong Intent......................................24 Hình 1-10. Kiến trúc Web service..........................................................................26 Hình 1-11. Các thành phần chính Web service.......................................................28 Hình 2-1. Usecase tổng quát....................................................................................37 Hình 2-2. Biểu đồ Sequence Đăng nhập.................................................................44 Hình 2-3. Biểu đồ Sequence Đăng ký.....................................................................45 Hình 2-4. Biểu đồ Sequence Đăng tin....................................................................46 Hình 2-5. Biểu đồ Sequence Cập nhật hồ sơ..........................................................47 Hình 2-6. Biểu đồ Sequence Đổi mật khẩu.............................................................48 Hình 2-7. Biểu đồ Class...........................................................................................49 Hình 2-8. Cơ sở dữ liệu..........................................................................................50 Hình 3-1. Web Service...........................................................................................61 Hình 3-2. Icon chương trình...................................................................................62 vii Hình 3-3. Không có kết nối mạng...........................................................................62 Hình 3-4. Màn hình đăng nhập................................................................................63 Hình 3-5. Màn hình đăng ký...................................................................................63 Hình 3-6. Đăng ký làm ứng viên............................................................................64 Hình 3-7. Đăng ký làm đơn vị tuyển dụng.............................................................64 Hình 3-8. Danh sách việc làm.................................................................................65 Hình 3-9. Đăng tin tìm việc....................................................................................66 Hình 3-10. Quản lý hồ sơ.......................................................................................66 Hình 3-11. Đổi mật khẩu........................................................................................67 Hình 3-12. Trang thống kê.....................................................................................67 Hình 3-13. Tải danh sách tin đã đăng......................................................................68 Hình 3-14. Danh sách tin đã đăng...........................................................................68 Hình 3-15. Cập nhật hồ sơ.......................................................................................69 Hình 3-16. Bỏ qua đăng nhập..................................................................................69 Hình 3-17. Trang khách truy cập............................................................................70 viii DANH MỤC CÁC BẢNG Bảng 2-1. Bảng Ungvien.........................................................................................51 Bảng 2-2. Bảng DonviTD........................................................................................52 Bảng 2-3. Bảng Timviec..........................................................................................53 Bảng 2-4. Bảng Vieclam.........................................................................................54 Bảng 2-5. Bảng Gopy..............................................................................................55 1 LỜI MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong xu thế phát triển của công nghệ hiện nay, và cùng theo đó là sự phát triển, ra đời của các thiết bị smartphone tân tiến. Việc tốc độ xử lý nhanh, bộ nhớ SDCard lớn trên các máy điện thoai smartphone cho phép thực hiện các nhiệm vụ trong công việc hay giải trí dần dần thay thế cho máy tính. Các ứng dụng trên môi trường mạng dần thay thế các ứng dụng chạy trên máy đơn, cục bộ. Với sự lớn mạnh và phát triển vượt bậc trong những năm gần đây, hệ điều hành Android đã cho thấy được thế mạnh của mình trong các thiết bị smartphone. Các ứng dụng, phần mềm phát triển trên Android ngày càng nhiều, và mục đích của các ứng dụng ngày càng đáp ứng được yêu cầu của người dùng. Vì vậy em đã quyết định lấy Android làm nền tảng cho đề tài của mình. Đề tài nêu rõ phần nào thế mạnh của Android và các dịch vụ web trong việc quản lý và phục vụ cho giải trí hiện nay. Bên cạnh đó, nhận thấy tốc độ phát triển mạnh mẽ của kinh tế và các lĩnh vực khác của Việt Nam nói chung, và thành phố Đà Nẵng nói riêng. Nước ta đang rất cần một nguồn lao động lớn, nhiều doanh nghiệp mới thành lập phải dùng đến các bên thứ ba hoặc nguồn internet để tuyển dụng nhân viên. Tương tự, rất nhiều sinh viên ra trường từ các đại học, cao đẳng, trung cấp và các trường đào tạo nghề khác, mất rất nhiều thời gian để tìm việc làm phù hợp. Giải quyết cho vấn đề này, nhiều website việc làm đã được hoạt động, như vieclamdanang.vn... nhưng dường như vẫn chưa đạt đến sự tiện dụng. Vì thế, em đã lựa chọn đề tài “Xây dựng ứng dụng tìm kiếm việc làm trên hệ điều hành Android”, trong quá trình hoàn thiện đề tài, nếu có gì sai sót mong thầy cô bổ sung để đề tài em được hoàn thiện hơn. 2. Mục tiêu của đề tài Đề tài xây dựng ứng dụng mạng trên Android thông qua Web Service. Đề tài nhằm giải quyết việc tìm và đăng những thông tin việc làm mà mình cần. Thông qua môi trường mạng, sử dụng Web Service giúp cho ứng dụng kết nối đến cơ sở dữ liệu của Google API và cơ sở dữ liệu của Server. Các thiết bị chạy hệ điều hành 2 android sẽ kết nối đến cơ sở dữ liệu thông qua Web Service và hiển thị thông tin cần tìm kiếm cho người sử dụng cần. 3. Đối tượng và phạm vi nghiên cứu: Phạm vi nghiên cứu của đề tài là nhu cầu tìm việc hoặc tuyển dụng trong thành phố Đà Nẵng. Để đáp ứng được yêu cầu của ứng dụng, đối tượng nghiên cứu cần phải quan tâm là cách thức hoạt động của nền tảng của hệ điều hành Android, phát triên ứng dụng cơ bản trên Android, cách thức làm việc của Web Service của nền tảng .NET và một số đối tượng khác. 4. Kết cấu của đề tài: Ngoài phần mở đầu và kết luận, đề tài được chia thành 3 chương: Chương 1: Cơ sở lý thuyết của lập trình Android Chương 2: Phân tích và thiết kế ứng dụng tìm kiếm việc làm trên hệ điều hành Android Chương 3: Xây dựng ứng dụng tìm kiếm việc làm trên hệ điều hành Android 3 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT CỦA LẬP TRÌNH ANDROID 1.1. Hệ điều hành Android 1.1.1. Lịch sử phát triển Android là một hệ điều hành dành cho thiết bị di động như smartphone, tablet hay netbook. Android do Google phát triển dựa trên nền tảng Linux kernel và các phần mềm mã nguồn mở. Android là hệ điều hành mở mã nguồn chính duy nhất với 12 triệu dòng mã bao gồm 3 triệu dòng mã XML, 2.8 triệu dòng mã C, 2.1 triệu dòng Java và 1.75 triệu dòng C++. Tháng 10/2003, Android (Inc) được thành lập tại Palo Alto, California, Hoa Kỳ do Andy Rubin (đồng sáng lập của Danger Inc), Rich Miner (đồng sáng lập của Wildfire Communications Inc và cựu phó chủ tịch công nghệ và tương lai ở Orange) và một số thành viên khác chủ trì, với mục đích để phát triển hay tạo ra các thiết bị di động thông minh hơn phục vụ các mục đích cho lợi ích con người. Bước đầu, hệ điều hành Android chỉ đơn thuần là phần mềm trên điện thoại di động. Android ban đầu phát triển dựa trên hạt nhân Linux. Tháng 8/2005, Google mua lại Android Inc với giá 50 triệu USD.. Các nhân viên chính của Android Inc, trong đó có Andy Rubin, Rich Miner vẫn tiếp tục làm việc tại công ty. Tại Google, nhóm kĩ sư do Rubin đứng đầu đã phát triển một nền tảng di động dựa trên hạt nhân Linux. Sau đó, họ đã giới thiệu cho các nhà sản xuất thiết bị cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng cấp mở rộng cao. Tháng 9/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. Tháng 11/2007, Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance) 4 với sự đồng thuận của 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 đã 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. Và như vậy, Android chính thức gia nhập Liên minh thiết bị cầm tay mã nguồn mở đồng thời Google đã công bố việc họ bắt tay phát triển hệ điều hành mã nguồn mở cho thiết bị di động nhằm cạnh tranh với Symbian, Windows Mobile và các đối thủ khác. Hãng cũng giới thiệu sản phẩm Android đầu tiên là T-Mobile G1. Đây là một thiết bị di động có hệ điều hành dựa trên nhân Linux phiên bản 2.6. Từ tháng 10/2008, hệ điều hành Android đã chính thức trở thành phần mềm mã nguồn mở. Theo đó, các công ty thứ ba được phép thêm những ứng dụng của riêng của họ vào Android và bán chúng mà không cần phải hỏi ý kiến Google. Tháng 11/2008, Liên minh OHA ra mắt gói phát triển phần mềm Android SDK cho nhà lập trình. Số lượng smartphone Android ngày càng gia tăng. Đến tháng 12/2008, có thêm 14 thành viên mới gia nhập dự án Android được công bố, gồm có ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, và Vodafone Group Plc. Đến năm 2010, số lượng smartphone nền tảng Android tăng trưởng mạnh mẽ. Hàng loạt nhà sản xuất hàng đầu đã bắt tay sản xuất smartphone như Samsung, HTC, Motorola… Thậm chí, Android còn được coi là “cứu cánh” cho nhiều đại gia công nghệ bước sang một trang mới trong việc cải thiện doanh số, bán hàng có lãi sau một thời gian dài trì trệ, tiêu biểu là Motorola. Android được phát triển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), … Tính đến thời điểm này, Android đã trở thành nền tảng di động tăng trưởng nhanh nhất thế giới. 1.1.2. Các phiên bản hệ điều hành Android 5 Từ lúc ra mắt phiên bản đầu tiên cho tới nay, Android đã có rất nhiều bản nâng cấp. Đa số đều tập trung vào việc vá lỗi và thêm những tính năng mới. Android những thế hệ đầu tiên 1.0 ( 9/2008) và 1.1 ( 2/2009) chưa có tên gọi chính thức. Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt với những mã tên riêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái từ “C-D-E-F-G-H-I”. Hiện tại các phiên bản chính của Android bao gồm: - Điểm khởi đầu của Android: Kỉ nguyên Android chính thức khởi động vào ngày 22/10/2008, khi mà chiếc điện thoại T-Mobile G1 chính thức được bán ra ở Mỹ. Ở giai đoạn này, rất nhiều những tính năng cơ bản cho một smartphone bị thiếu sót, chẳng hạn như bàn phím ảo, cảm ứng đa điểm hay khả năng mua ứng dụng. Tuy nhiên, vai trò của phiên bản đầu tiên này vô cùng quan trọng. Nó đã đặt nền móng cho các tính năng có thể xem là đặc điểm nhận dạng của Android ngày nay. - Android 1.1: Tháng 2/2009, bản nâng cấp đầu tiên của Android được ra mắt, khoảng ba tháng sau khi G1 được bán ra. Phiên bản 1.1 không phải là một cuộc cách mạng gì to lớn bởi tính năng chính của nó là sửa một danh sách lỗi khá dài. - Android 1.5 (Cupcake): Ra mắt tháng 4/2009. Phiên bản này có một số tính năng đáng chú ý như: khả năng ghi lại và xem video thông qua chế độ máy ghi hình, tải video lên YouTube và ảnh lên Picasa trực tiếp từ điện thoại, tích hợp bàn phím ảo với khả năng đoán trước văn bản, tự động kết nối với một thiết bị Bluetooth trong một khoảng cách nhất định, các widget và thư mục mới có thể cài đặt linh động trên màn hình chủ. - Android 1.6 (Donut) : Ra mắt tháng 9/2009: Phiên bản này giúp Nâng cao trải nghiệm trên kho ứng dụng Android Market, tích hợp giao diện tùy biến cho phép người dùng xóa nhiều ảnh cùng lúc, nâng cấp Voice Search, nâng cấp khả 6 năng tìm kiếm bookmarks, history, contacts và web trên màn hình chủ, bước đầu hỗ trợ màn hình độ phân giải WVGA. - Android 2.0/2.1 (Eclair): Ra mắt tháng 10/2009. Phiên bản này có sự cải thiện rõ rệt trong giao diện người dùng, tối ưu hóa tốc độ phần cứng, hỗ trợ nhiều kích cỡ và độ phân giải màn hình hơn, thay đổi giao diện duyệt web và hỗ trợ chuẩn HTML5, Exchange ActiveSync 2.5, nâng cấp Google Maps 3.1.2, camera zoom kĩ thuật số tích hợp đèn flash, nâng cấp bàn phím ảo và kết nối Bluetooth 2.1. - Android 2.2 (Froyo): Ra mắt tháng 5/2010: Phiên bản này chú trọng nâng cấp tốc độ xử lí, giới thiệu engine Chrome V8 JavaScript, hỗ trợ Adobe Flash10.1, thêm tính năng tạo điểm truy cập Wi-Fi. Một tính năng đáng chú ý khác hỗ trợ chuyển đổi nhanh chóng giữa các ngôn ngữ và từ điển trên bàn phím đồng thời cho phép cài đặt và cập nhật ứng dụng ở các thiết bị mở rộng bộ nhớ. - Android 2.3 (Gingerbread): Ra mắt tháng 12/2010: Phiên bản này đã nâng cấp đáng kể giao diện người dùng, cải thiện bàn phím ảo, thêm tính năng copy/paste, hỗ trợ công nghệ giao tiếp tầm sóng ngắn NFC, hỗ trợ chuẩn video WebM và nâng cao tính năng copy–paste. - Android 3.0 (Honeycomb): Ra mắt tháng 2/2011: Đây là phiên bản hệ điều hành dành riêng cho máy tính bảng (tablet) với giao diện mới tối ưu hóa cho tablet, từ các thao tác đều phụ thuộc màn hình cảm ứng (như lướt web, duyệt mail..). Honeycomb hỗ trợ bộ xử lí đa nhân và xử lý đồ họa đồng thời hỗ trợ nhiều màn hình home khác nhau, cho phép người dùng dễ dàng tùy biến giao diện nếu muốn. - Android 4.0 (Ice-cream sandwich): Phiên bản này đã ra mắt vào cuối năm 2011, có thể nói Android 4.0 là sự thay đổi lớn nhất trong lịch sử phát triển của Android tính đến nay. Đây cũng là lần đầu tiên Google hợp nhất hệ điều hành dành cho smartphone và cho máy tính bảng vào làm một. Android 4.0 cũng nhắm đến 7 việc duyệt web nhanh hơn, tối ưu hóa hiệu suất hoạt động của thiết bị, kéo dài thời gian dùng pin... - Android 4.1 (Jelly Bean): Đây là phiên bản mới nhất tính đến thời điểm hiện tại. Android 4.1 được giới thiệu tại hội nghị Google I/O với nhiều cải tiến đáng giá và rất được mong đợi. Cải tiến lớn nhất của Jelly Bean không phải là về giao diện hay ứng dụng mới mà về Project Butter giúp mang lại độ mượt chưa từng có cho Android. 1.2. Kiến trúc của Android Hệ điều hành android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux (Phiên bản 2.6), tầng Tầng Libraries & Android runtime , Tầng Application Framework và trên cùng là tầng Application. Hình 1-1. Cấu trúc stack hệ thống Android 1.2.1. Tầng hạt nhân Linux (Linux Kernel layer) Hệ điều hành Android được phát trển dựa trên hạt nhân Linux, cụ thể là hạt nhân Linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi 8 hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process). 1.2.2. Tầng Library và android runtime Phần này có 2 thành phần là phần Library và Android Runtime : Phần Libraries. Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như : - Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn C, được sử dụng chỉ bởi hệ điều hành. - Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng. - Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như để các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX.. - Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng. Phần Android runtime : Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạt động. Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường. Thứ nhất là các thư viện lõi (Core Library) , chứa các lớp như JAVA IO,Collections, File Access. Thứ hai là một máy ảo java (Dalvik Virtual Machine) .Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển. 1.2.3. Tầng Application Framework Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên. Giới thiệu một số thành phần của phần này : - Activity Manager : Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp công cụ điều khiển các Activity. - Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc như gọi điện thoại - XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực - Location Manager : Cho phép xác định vị trí của điện thoại thoại dựa vào hệ 9 thống định vị toàn cầu GPS và Google Maps. - Window Manager : Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng. - Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tin nhắn, có e-mail mới..) - Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao gồm các file hình ảnh, âm thanh, layout, string. (Những thành phần không được viết bởi ngôn ngữ lập trình). 1.2.4. Tầng Application Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như : Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện(phone), quản lý danh bạ(Contacts), duyệt web (Browser), nhắn tin (SMS), lịch làm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh (camera)... Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi (Game), từ điển... Các chương trình có các đặc điểm là : - Viết bằng Java, phần mở rộng là apk - Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine được dựng lên để phục vụ cho nó. Nó có thể là một Active Program : Chương trình có giaodiện với người sử dụng hoặc là một background: chương trình chạy nền hay là dịch vụ. 1.3. Android Enmulator Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool (ADT). Các Android coder sẽ cần phải sử dụng công cụ IDE (Integrated Development Enveronment) này để phát triển, debugging và testing cho ứng dụng. Tuy nhiên, các coder cũng có thể không cần phải sử dụng IDE mà thay vào đó là sử dụng command line để biên dịch và tất nhiên là vẫn có Emulator như thường. Android Emulator được trang bị đầy đủ hầu hết các tính năng của một thiết bị thật. Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera và video, nghe phone, nguồn điện giả lập và bluetooth. Android Emulator thực hiện các công việc thông qua một bộ xử lý mã nguồn mở, công nghệ này được gọi là QEMU (http://bellard.org/qemu/) được phát triển bởi Fabrice Bellard. 10 Hình 1-2. Android Emulator 1.4. Các thành phần chính trong một Android Project Với một ứng dụng đơn giản Hello World, Android SDK đã tạo thư mục HelloTheWorld-DeMo trong môi trường làm việc của Eclipse cho project. Nó cũng tạo các thư mục con cho source code (.src), Android Library, assets, resources(.res), và manifest file (AndroidManifest.xml). Trong mỗi thư mục con nó cũng tạo ra các thư mục con thích hợp khác. 11 Hình 1-3. Cấu trúc của một Android Project 1.4.1. Sources (Scr folder) Chứa cấu trúc thư mục tương xứng với package name, trong trường hợp này là hellotheworld.google.com và chứa file Java cho Activity chỉ định trong ứng dụng.
- Xem thêm -