Chương 1: Tổng quan về Android, chương này giới thiệu sơ lược về hệ điều hành Android và môi trường lập trình trên nền Android. Chương 2: Cơ sở lý thuyết, chương này đề cập đến nền tàng ứng dụng trên Android và lý thuyết liên quan, phục vụ cho đề tài như: lập trình với service, quản lý cơ sở đữ liệu trong hệ điều hành Android, giao điện lập trình ứng dụng với Facebook (Facebook API — Facebook Application Programming Interface) và cách kết nối với mạng xã hội Facebook. Chương 3: Xây dựng chương trình quản lý sự kiện trên Android, nội dung chủ yếu của chương nảy là phân tích, xây dựng một chương trình quản lý sự kiện đơn giản cho phép đồng bộ dữ liệu với mạng xã hội Facebook. NOL DUNG NGHIEN CỨU CHUONG 1: TONG QUAN VE ANDROID.
Hệ điều hành Android. Giới thiệu về Android. Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế đành cho các thiết bị đi động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính GoogÌe mua lại vào năm 2005.
Tháng 11/2007, sau 2 năm phát triển, Google công bố hệ điều hành điện thoại di động mã nguồn mở Android, cùng với sự thành lập “Liên minh đi động mở” (Open Handset Alliance) bao gồm hơn 78 nhà sản xuất phần cứng điện thoại lớn trên thế giới như SamSung, HTC, China Mobile, T-Mobile,.Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết qua dau tiên của nó chính là nền tảng Android. Android được thiết kế dé phục vụ nhu câu của các nhà sản xuất thiết bị, các nhà khai thác và các lập trình viên thiết bị cầm tay. Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của nó là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lại các thành phan tir những ứng dung khác. Việc tái sử dụng không chỉ được áp dụng cho các dịch vu ma nó còn được áp dung cho cả các thành phần dữ liệu và giao điện người dùng.
Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobile cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile GI, chiếc smartphone đầu tiên dựa trên nền tảng Android. Một vài ngày sau đó, Google lại tiếp tục cho ra mắt phiên bản Android SDK release Candidate 1. Thang 10 nam 2008, Google được cấp giấy phép Apache cho Android Platform. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do.
Ngoài ra, Android còn có một cộng đông lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi. Những yếu tố này đã giúp Android trở thành nên tảng điện thoại thông minh phổ biến nhất thế giới. Tính năng và kiến trúc của HDH Android. Những tính năng mà nền tảng Android hỗ trợ: “ Application amework: Cho phép tái sử dụng và thay thế các thành phần sẵn có của Android.
* Dalvik virtual machine: May ảo java được tối ưu hóa cho thiết bị di động. = Intergrated browser: Trinh duyét web tich hop được xây dựng dựa trên WebKit engine. = Optimized graphics: Hé trg bé thư viện 2D và 3D dựa vào đặc tả OpenGL I. * SQLite: Hé quản trị cơ sở dữ liệu dùng để lưu trữ dữ liệu có cấu trúc.
" Hỗ trợ các định dạng media phô biến như: MPEG4, H.264, MP3, AAC, ARM, JPG, PNG, GIF. “ Hỗ trợ thoại trên nên tảng GSM ( hệ thống thông tin di động toàn cầu). "_ Hỗ trợ các phương thức kết nói: Bluetooth, EDGE, 3G va WiFi. "_ Hỗ trợ các phần cứng: Camera, GPS, la bàn và cảm biến.
"“_ Tích hợp bộ công cụ phát triển ứng dụng mạnh mẽ. Kiến trúc Android. Kiến trúc của hệ điều hành Android được thẻ hiện như hình sau: Hình 1-1: Kiến trúc Android theo từng tầng. Trang 6 - Applications La tang ở trên cùng cách xa với phan cứng nhất.
Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản như Email client, SMS, lịch điện tử, bản đồ, trình duyệt web, s6 lién lac và một số ứng dụng khác. Ngoài ra tầng này cũng chính là tằng chứa các ứng dụng được phát triển bằng ngôn ngữ Java. - Application Framwork Bằng cách cung cấp một nén tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin về địa điểm truy cập (định vị), các địch vụ chạy nền, thiết lập hệ thống báo động, các thông báo về trạng thái thiết Bisse Tầng này bao gồm một tập các services (dich vu) và các thành phần sau: * Mot tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng đề thiết kế phần giao điện ứng dụng như: gridview, tableview, linearlayoul,.
* Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác hoặc chia sẽ đữ liệu của chúng. = Resource Manager: Cung cp tray xuat tdi các tài nguyên không phải là mã nguồn, chẳng hạn nhu: localized strings, graphics, va layout files. * Notification Manager: Cung cap kha nang hién thị các cảnh báo trên thanh status bar. = Activity Manager: Gidp quan ly vong doi cia mét tng dung.
- Libraries Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android. Dưới đây liệt kê một số thư viện cơ bản trong Android: * System C library: Được xây dựng từ bộ thư viện hệ thống của C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nên Linux. * Media libraries: B6 thu vién h6 trợ trình diễn và ghi các định đạng âm thanh và hình ảnh phô biến. * Surface manager: Quan ly hién thị nội dung 2D và 3D.
Trang 7 " LibWebCore: Một trình đuyệt web hiện đại được sử đụng trong trình duyệt của Android. * SGL: Hé tro đồ họa 2D. * 3D libraries: Duoc xây dựng dựa trên các APIs cua OpenGL 1. Nhimg thu viện này sử dụng tăng tốc 3D bằng phần cứng lẫn phần mềm để tối ưu hóa hiển thị 3D.
= SQLite: Mét hé quan tri cơ sở dữ liệu nhỏ gọn và mạnh mẽ. - Android Runtime Hé diéu hanh Android tich hợp sẵn một tập hợp các thư viện cốt lõi, cung cấp hầu hết các chức năng có sẵn trong các thư viện của ngôn ngữ lập trình Java. Mọi ứng dụng của Android chạy trên một tiền trình của riêng nó cùng với một thê hiện của máy ảo Dalvik. Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bỗ sung các công nghệ đặc trưng của thiết bị di động.
Nó được xây dựng với mục đích làm cho các thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả. Trước khi thực thi, bat kỉ ứng dụng Android nào cũng được chuyển đổi thành file thực thi với dinh dang nén Dalvik Executable (. Định dạng này được thiết kế để phù hợp với các thiết bị hạn chế về bộ nhớ cũng như tốc độ xử lý. Ngoài ra máy ảo Dalvik sử dụng bộ nhân Linux đẻ cung cấp các tính năng nhu quan ly da luéng (thread), quản lý bộ nhớ cấp thấp (low-level memory management).
- Linux Kernel Android str dung nhan Linux 2.6 ( ké tir Android 4.0 Ice Cream Sandwich tré về sau, là phiên bản 3.x) làm nhân cho các địch vụ hệ thống như bảo mật, quản lý bộ nhớ, quan lý tiến trình (xử lý tiễn trình, đa luồng), ngăn xếp mạng và trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không dây.) Nhân Linux này cũng có vài trò như một lớp trừu tượng giữa phần cứng và phần mềm. Môi trường lập trình Android. Giới thiệu chung. Android Software Development Kít (Android SDK) là bộ SDK của Android bao gồm mọi thứ cần thiết giúp chúng ta có thể lập trình, sửa lỗi, kiểm tra ứng dụng.
Android SDK bao gồm các thành phần: Android API: Cốt lõi của bộ SDK là thư viện các hàm API và Google cũng chi sit dung bo API nay để xây dựng các ứng dụng có sẵn cho Android. Development tool: SDK bao gồm rất nhiều công cụ để giúp biên dịch, sửa lỗi và hỗ trợ trong việc lập trình ứng dụng. Android Emulator: Trinh gia lap 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 kiểm tra ứ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. Document: SDK bao gồm một bộ tài liệu rất chỉ tiết, giải thích cặn kẽ và chính xác những gì bao gồm trong mỗi package, 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 ding dé “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 template: SDK bao gồm các ứng dụng mẫu đơn giản mỉnh họa cho các tính năng nôi bật trên Android, cũng như các ứng dụng đemo cách sử đụng các tính năng của bộ API. Các thư viện của Android Sau đây là các thư viện mà tất cả các thiết bị Android tối thiểu đều phải hỗ trợ: Android.util: Gói ÁPI lõi, chứa các class cấp thấp như container, string formatter, XML parsing, .os:Hỗ trợ 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, xử lý thời gian, .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, t6 mau, .trén khung canvas.database: Cung cấp các lớp cấp thấp cần thiết để làm việc với cơ sở dữ liệu.content: Dùng để quản lý các tài nguyên và các nội dung.view: Views là lớp cha của mọi lớp giao điện người đùng.widget: Được thừa kế từ lớp View, bao gồm các lớp cơ bản để xây đựng giao dién widget nhu: list, button, layout, .map: Day 1a g6i API cap cao, dùng để truy cập tới các chức năng của GoogleMap.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.telephony: Cung cap kha 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, gửi — nhận tin nhắn.webkit: cung cap 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,.
Cai dat Java SE Development Kit (JDK).