Android – hệ điều hành dành cho điện thoại di động được phát triển bởi Google ngày càng trở nên phổ biến với việc các hãng điện thoại liên tục ra mắt các mẫu điện thoại sử dụng android.
Android bao gồm thư viện các 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 như: GPS, camera, kết nối mạng, Wi-Fi, Bluetooth, con quay gia tốc, màn hình cảm ứng, quản lý năng lượng,…
49 trang |
Chia sẻ: diunt88 | Lượt xem: 6317 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tìm hiểu lập trình Android và tự xây dựng ứng dụng minh họa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
[ ]
TÌM HIỂU ANDROID &
VIẾT ỨNG DỤNG MINH HỌA
GAME TOUCHTHEBALL
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN & TOÁN ỨNG DỤNG
T ì m h i ể u A n d r o i d | 1
Sinh viên thực hiện
Phan Đăng Huy .............................................................................................. 081260T
Bùi Nhân Hậu ................................................................................................ 081248T
Phùng Thị Mỹ Viên ........................................................................................ 081318T
Tài liệu tham khảo:
Android Developers
Professional Android™ Application Development
Reto Meier
T ì m h i ể u A n d r o i d | 2
Mục lục
Blabla here here
1] Xin chào Android 3
Hệ điều hành mở 4
Các ứng dụng có sẵn trên Android 5
Truy cập phần cứng ···
Dịch vụ chạy nền 6
SQLite Database ···
Hệ thống thông báo ···
Tối ưu hóa bộ nhớ và quản l{ tiến trình ···
Android software development kit 7
Kiến trúc ứng dụng 8
Các thư viện của Android ···
2] Xây dựng ứng dụng đầu tiên 11
Các cài đặt cần thiết 12
Tạo mới một Android Project 15
Ba loại ứng dụng trong Android 19
T ì m h i ể u A n d r o i d | 3
[1]
XIN CHÀO ANDROID
Android - hệ điều hành dành cho điện thoại di động được phát
triển bởi Google ngày càng trở nên phổ biến với việc các hãng
điện thoại liên tục ra mắt các mẫu điện thoại sử dụng android.
T ì m h i ể u A n d r o i d | 4
Hệ điều hành mở
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ột 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 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 và màn hình nhà (home screen).
Các nhà phát triển viết ứ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 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.
Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache.
Giao diện màn hình khóa (Android 2.3)
Giao diện màn hình chính (Android 2.3)
T ì m h i ể u A n d r o i d | 5
Các ứng dụng có sẵn trên Android (Native Applications)
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 cài đặt
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ụ của 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 điểm, 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 ảnh,…).
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ó cuộc gọi
đến, nhận một tin nhắn mới,… thay cho các ứng dụng có sẵn.
Tiếp theo ta sẽ nói về các tính năng hữu ích mà Android đem lại
Truy cập phần cứng (Access Hardware)
Android bao gồm thư viện các 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 như: GPS, camera, kết nối mạng, Wi-Fi,
Bluetooth, con quay gia tốc, màn hình cảm ứng, quản l{ năng lượng,…
T ì m h i ể u A n d r o i d | 6
Dịch vụ chạy nền (Background Services)
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 được
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ị dữ liệu 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 - đ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ể được truy cập bằng
chính ứng dụng đó. Tuy nhiên cũng có các cơ chế để ứng dụng có thể chia sẽ, trao đổi
các database với nhau.
Hệ thống thông báo (Notifications)
Thông báo là cách thức tiêu chuẩn mà ở đó thiết bị báo cho người dùng đã có một sự
kiện nào đó xảy ra. Chẳng hạn như có cuộc gọi tới, máy sắp hết pin,… Sử dụng các API
bạn có thể cho ứng dụng của mình thông báo đến người dùng bằng âm thanh, rung,
hoặc thậm chí là cả đèn LED của thiết bị.
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ó một chút khác biệt. Giống 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ảng
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
T ì m h i ể u A n d r o i d | 7
trình không cần thiết để giải phóng tài nguyên cho các tiến trình có độ ưu tiên cao
hơn.
Trong bối cảnh đó, độ ưu tiên được xác định tùy thuộc vào ứng dụng mà người dùng
đang tương tác. Android đảm bảo rằng các tiến trình có thể bị hủy một cách nhanh
chóng, nhưng đồng thời cũng có thể khởi động lại nhanh không kém nếu cần. Điều này
thực sự quan trọng trong một môi trường mà ở đó bản thân ứng dụng không thể tự
kiểm soát được thời gian sống cho chính mình.
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, và
test ứng dụng Android.
Android API
Cốt lõi của bộ SDK là thư viện các 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 (native application).
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
Trình giả lập một 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 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 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 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 những tính năng của bộ API.
Đối với Eclipse IDE, Google cung cấp một plug-in giúp kết hợp chặt chẽ giữa Eclipse với
Android Emulator cũng như công cụ debug. Điều này giúp cho việc phát triển ứng dụng
cho Android bằng Eclipse thực sự trở nên đơn giản.
ADT plug-in sẽ được nói đến chi tiết hơn trong chương 2
T ì m h i ể u A n d r o i d | 8
Kiến trúc ứng dụng (Application Architecture)
Ý tưởng của Android đó là khuyến khích việc 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
trong giới hạn truy cập do bạn đặt ra.
Một ví dụ đơn giản: bạn cần làm một ứng dụng chụp ảnh hàn quốc, về cơ bản ứng
dụng này sẽ làm hai nhiệm vụ: một là chụp ảnh, hai là ghép, chỉnh sửa ảnh. Thay vì
phải tự xây dựng chức năng chụp ảnh, bạn sẽ sử dụng lại chức năng chụp ảnh có sẵn
trong ứng dụng chụp ảnh của Android. Việc này giúp bạn dễ dàng và mau chóng xây
dựng được những ứng dụng nhiều tính năng và sử dụng hiệu quả tài nguyên máy.
Những dịch vụ dưới đây là nền tảng kiến trúc của mọi ứng dụng Android, đây là khuôn
khổ cho bạn xây dựng ứng dụng của riêng mình:
Activity Manager
Kiểm soát vòng đời của Activity.
Views
Xây dựng giao diện người dùng cho các 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 Providers
Giúp cho việc trao đổi, chia sẽ dữ liệu giữa các ứng dụng với nhau.
Resource Manager
Hỗ trợ quản l{ các loại tài nguyên không là code (non-code resources) như các
chuỗi, hình ảnh, hoặc â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. Danh sách các gói core API dưới
đây giúp cho bạn có cái nhìn tổng quát về những gì được hỗ trợ sẵn, tất cả các thiết bị
chạy Android đều phải hỗ trợ được tối thiểu các API này.
android.util
Gói api lõi, chứa các class cấp thấp như containers, string formatters, XML parsing.
T ì m h i ể u A n d r o i d | 9
android.os
Truy cập tới các chức năng của hệ điều hành chẳng hạn 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 một 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 databases.
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 kế thừa từ lớp View, bao gồm các lớp để cơ bản để xây dựng giao diện
widget như: lists, buttons, layouts.
android.maps
Gói API cấp cao, dùng để truy cập đến các chức năng của GoogleMap.
android.app
Gói API cấp cao, bao gồm lớp 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
chiếc đ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 vào ứng dụng,
cùng với các api điều khiển cơ bản như stop, refresh, cookie manager,…
widget là một dạng ứng dụng mini - hiển thị ở màn hình chính - cung cấp các chức năng
“nho nhỏ” lấy từ ứng dụng lớn.
T ì m h i ể u A n d r o i d | 10
Tóm tắt
Ở chương này ta đã tìm hiểu cơ bản về hệ điều hành mã nguồn mở dành cho các thiết
bị di động Android. Cũng như những tính năng nổi bật mà Android đem lại. Đồng thời
cũng tìm hiểu qua về bộ phát triển ứng dụng Android SDK.
Chương tiếp theo ta sẽ bắt đầu bằng việc tải và cài đặt bộ Android SDK cũng như các
thiết lập cần thiết trên Eclipse.
Cũng như tìm hiểu làm thế nào để sử dụng ADT (Android Developer Tools) plug-in với
Eclipse để phát triển, debug, và test ứng dụng.
Kết thúc chương 2 ta cũng sẽ hoàn thành xong ứng dụng đầu tiên cho Android:
Hello world!
T ì m h i ể u A n d r o i d | 11
[2]
XÂY DỰNG ỨNG
DỤNG ĐẦU TIÊN
Qua chương này ta sẽ cảm thấy được việc xây dựng ứng dụng
cho Android đơn giản như thế nào. Đồng thời tìm hiểu về ba
loại ứng dụng trên Android.
T ì m h i ể u A n d r o i d | 12
Các cài đặt cần thiết
Trước khi bắt tay vào xây dựng ứng dụng, ta cần phải hoàn thành các cài đặt cần thiết
sau đây:
Java Development Kit (JDK)
Android SDK
Eclipse với ADT plug-in
Tài liệu này trình bày về cách xây dựng ứng dụng bằng Eclipse trên Windows, thế nên yêu cầu cài
đặt Eclipse là cần thiết, tất nhiên hoàn toàn có thể xây dựng ứng dụng với các trình IDE yêu thích
khác trên những hệ điều hành khác, tuy nhiên trong khuôn khổ tài liệu này sẽ không đề cập đến.
Tải và cài đặt SDK Starter Package
SDK Starter Package chưa phải là một môi trường phát triển đầy đủ, nó chỉ chứa
những phần lõi cơ bản nhất của bộ SDK.và cung cấp một chương trình giúp quản l{
cũng như tải về các thành phần khác của bộ SDK.
Để tải về và cài đặt, truy cập vào:
Sau khi cài đặt, khởi động SDK Manager:
Start > All Programs > Android SDK Tools > SDK Manager
Tiến hành cài gói SDK chính (phiên bản mới nhất là Android 3.0). Nhấp vào Available
packages ở menu bên trái, sau đó chọn gói SDK cần cài, và nhấp Install Selected.
Màn hình cài đặt các gói SDK
T ì m h i ể u A n d r o i d | 13
Sau khi cài gói SDK xong ta sẽ tạo ra một thiết bị chạy Android ảo - Android Virtual
Device (AVD). AVD là một máy ảo với cấu hình phần cứng tùy chỉnh, nơi để có thể chạy
Android cũng như các ứng dụng trên Android.
Nhấp vào Virtual devices ở menu bên trái, nhấp vào New, cửa sổ Create New AVD
hiện ra.
Gõ vào tên của thiết bị ở mục Name, chẳng hạn như “my_avd”.
Ở mục Target chọn một nền tảng mà bạn muốn thiết bị sẽ chạy (nếu bạn mới vừa cài
xong SDK Platform Android 3.0 như bước trên thì ngay chỗ này chọn là Android 3.0).
Những mục khác có thể để mặc định. Nhấp vào Create AVD.
Sau khi tạo xong AVD sẽ thấy tên của AVD vừa tạo xuất hiện trong danh sách. Nhấp
chọn AVD đó sau đó nhấp vào Start > Launch.
Trình giả lập (Android Emulator) sẽ bắt đầu chạy và thiết bị ảo sẽ boot vào Android
(hơi lâu)… nếu xuất hiện giao diện tương tự như sau thì bạn đã cài đặt thành công.
Màn hình quản lý các thiết bị ảo (AVD)
T ì m h i ể u A n d r o i d | 14
Cài đặt ADT Plug-in cho Eclipse
Android cung cấp một plug-in cho Eclipse IDE gọi là droid Development Tools (ADT).
Được thiết kế để cung cấp cho bạn một môi trường tích hợp và mạnh mẽ trong việc
xây dựng các ứng dụng Android. Plug-in này mở rộng các tính năng của Eclipse như
cho phép bạn tạo một Android project nhanh chóng, tạo giao diện người dùng bằng
cách kéo thả, debug ứng dụng sử dụng Android SDK, và thậm chí là đóng gói ứng dụng
thành file .APK để tiện cho việc phân phối và chia sẻ,…
Nói chung, việc phát triển ứng dụng bằng Eclipse với plug-in ADT cực kz được khuyến
khích và đây là cách nhanh nhất để bắt đầu với Android.
Trước khi cài đặt ADT, Eclipse phải được cài sẵn, nếu vẫn chưa có hãy tải về và cài đặt
ngay. Ngoài ra Android SDK Starter Package cũng phải được cài trước khi cài ADT
Sử dụng chức năng quản l{ các gói cập nhật (Update Manager) trong Eclipse để cài
phiên bản mới nhất của ADT.
Khởi động Eclipse, vào menu Help > Install New Software...
Giao diện măc định của AVD
T ì m h i ể u A n d r o i d | 15
Nhấp vào nút Add (góc trên – bên phải)
Trong cửa sổ mới hiện lên, nhập vào “ADT Plugin” ở mục Name, và nhập vào dòng địa
chỉ dưới đây ở mục Location. Sau đó nhấp Ok.
https://dl-ssl.google.com/android/eclipse
Trong cửa sổ Available Software, nhấp chọn vào Developer Tools sau đó nhấp Next vài
lần, và cuối cùng là nhấp Finish.
Sau khi cài đặt xong ADT plug-in, khởi động lại Eclipse để các thay đổi có hiệu lực.
Cấu hình ADT Plug-in
Việc cấu hình là điều bắt buộc để ADT có thể hoạt động được.
Trong Eclipse, vào menu Window > Preferences.
Nhấp chọn vào Android ở danh mục bên trái.
Ở mục SDK Location nhấp vào Browse và chọn đường dẫn tới thư mục cài đặt bộ SDK.
Nhấp vào Apply, sau cùng là Ok.
Tạo mới một Android Project
Trong Eclipse, vào menu File > New > Project.
Nếu như ADT plug-in được cài đặt thành công thì cửa sổ chọn loại project sẽ xuất hiện
trông giống như sau:
T ì m h i ể u A n d r o i d | 16
Chọn “Android Project” và nhấp Next.
Điền vào các giá trị sau đây:
Project name: HelloAndroid
Application name: Hello, Android
Package name: com.example.helloandroid
Create Activity: HelloAndroid
Nhấp Finish.
Cửa sổ tạo mới một Android Project
T ì m h i ể u A n d r o i d | 17
Dưới đây là giải thích cụ thể cho mỗi mục:
Project Name
Đây là Eclipse Project name - cũng là tên của thư mục chứa toàn bộ file của dự án.
Application Name
Tên tường minh của ứng dụng - tên sẽ xuất hiện cùng với shortcut sau khi được cài
vào thiết bị.
Package Name
Đây là Package Namespace (tuân theo quy luật đặt tên package trong ngôn ngữ
Java) dùng khi bạn muốn sắp xếp toàn bộ mã nguồn của mình gọn gàng và tiện cho
việc chia sẻ mã nguồn sau này.
-------------------------------------
Package name này bắt buộc không được trùng tên với mọi package đã được cài
đặt trong Android; vì l{ do này nên cách đặt tên theo phong cách đặt tên miền
(domain-style) được khuyến khích. Như bên trên, sử dụng tên “com.example” -
khi xây dựng ứng dụng cho mình, bạn nên sử dụng một tên gợi nhớ khác.
Create Activity
Đây là tên của lớp sẽ được tạo tự động bằng ADT plug-in. Lớp này được kế thừa từ
lớp Activity của Android. Một Activity hiểu đơn giản là một lớp dùng để chạy ứng
dụng, làm các công việc gì đó và tạo giao diện người dùng.
-------------------------------------
Mục này là tùy chọn, ta có thể không cần nhờ ADT plug-in tạo ra sẵn một Activity
bằng cách bỏ chọn dấu check trước “Create Activity”. Tuy nhiên Activity hầu hết
đều được sử dụng trong mọi ứng dụng thông thường.
Min SDK Version
Giá trị này chỉ ra yêu cầu tối thiểu của ứng dụng đối với API Level. Như trên là 10.
Build Target
Đây là nền tảng (nói cách khác là phiên bản cụ thể của Android SKD) mà Eclipse sẽ
dùng để chạy, debug và đóng gói ứng dụng. (mục này sẽ được chọn tự động dựa
vào giá trị Min SDK).
-------------------------------------
Các ứng dụng trên Android đều mang tính tương thích lùi, tức là nếu bạn xây dựng
ứng dụng với “Build Target” là phiên bản Android 1.1 thì hoàn toàn yên tâm là trên
các phiên bản Android lớn hơn (1.5 chẳng hạn) ứng dụng của bạn vẫn chạy bình
thường. Chiều ngược lại không đúng.
T ì m h i ể u A n d r o i d | 18
Nếu tất cả hoạt động tốt, project của bạn giờ đây đã sẵn sàng. Ta sẽ chạy thử ngay bây
giờ: vào menu Run > Run, chọn “Android Application”.
ADT plug-in sẽ tự động làm mọi việc: khởi động Android Emulator, đóng gói ứng dụng,
cài ứng dụng vào “thiết bị ảo”, sau cùng là chạy ứng dụng.
Android Emulator cần đến một vài phút để khởi động, nên bạn đừng mất kiên nhẫn
Bạn sẽ thấy giao diện ứng dụng Android đầu tiên của mình như sau:
Ta sẽ tìm hiểu về cấu trúc source code của ứng dụng Android, cũng như xml layout ở các
chương sau
Giao diện ứng dụng Hello World
T ì m h i ể u A n d r o i d | 19
Ba loại ứng dụng trong Android
Hầu hết các ứng dụng trong Android sẽ thuộc vào một trong ba loại sau đây:
Foreground Activity
Ứng dụng hữu dụng chỉ khi nó được tương tác với người dùng ở mặt tiền
(foreground), ứng dụng mất tác dụng khi bị ẩn đi. Game, bản đồ, từ điển là các ví
dụ điển hình.
Background Service
Ứng dụng không đòi hỏi nhiều đến tương tác của người dùng. Trừ khi được cấu
hình, còn phần lớn thời gian là ứng dụng chạy ngầm. Ví dụ thuộc loại này chẳng
hạn như: ứng dụng trả lời tin nhắn tự động.
Intermittent Activity
Ứng dụng loại này vừa nhận tương tác của người dùng, và vẫn có thể tiếp tục hoạt
động ngầm khi bị ẩn đi. Có thể đưa ra các thông báo cho người dùng khi cần thiết
trong lúc đang bị ẩn. Các ứng dụng loại này có thể kể đến như: ứng dụng nghe
nhạc, ứng dụng tán gẫu (chat),…
Đối với các ứng dụng lớn và phức tạp, khó để c