“Android L” đã tích hợp các yếu tố đồ họa đơn giản của ngôn ngữ phẳng với các hiệu ứng điều hướng rất trực quan để tạo ra Material Design vừa đẹp, vừa tiện dụng, hệ thống thông báo dạng
Trang 1LỜI CẢM ƠN
Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu trường Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho em được học tập tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất đến
Thầy ThS Nguyễn Quang Hiệp giảng viên Trường Công Nghệ Thông Tin &
truyền thông đã trang bị cho em những kiến thức chuyên môn, quan tâm và tận tình hướng dẫn, giúp đỡ em hoàn thành một cách tốt nhất trong đợt làm đồ án này
Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự giúp đỡ những lời động viên quý báu của bạn bè, các anh chị em xin chân thành cảm ơn
Tuy nhiên do thời gian hạn hẹp, cũng như lượng kiến thức còn hạn chế nên bài báo cáo của em sẽ khó tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực hiện tốt đồ án này Một lần nữa em xin chân thành cảm ơn
Trang 2
LỜI CAM ĐOAN
Đề tài của em được thực hiện trên cơ sở những kiến thức đã tích lũy được trong quá trình học tập, sự giúp đỡ tận tình của thầy cô, bạn bè cùng với một số tài liệu quý báu mà em sưu tầm được cũng như kho tàng tri thức Internet vô tận
Em xin cam đoan không sao chép nguyên bản bất cứ một đồ án tốt nghiệp hay đề tài nghiên cứu khoa học nào của bất kỳ ai Em cũng xin cam đoan rằng mọi
sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin trích dẫn trong đồ án đã được chỉ rõ nguồn gốc Nếu sai, em xin hoàn toàn chịu trách nhiệm trước mọi kỷ luật của trường đề ra
Thái Nguyên, ngày 05 tháng 05 năm 2017
Sinh Viên
Trần Thị Hồng Tươi
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
LỜI MỞ ĐẦU 7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8
1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android 8
1.1.1 Tổng quan về hệ điều hành android 8
1.1.2 Hệ điều hành (HĐH) Android và lập trình ứng dụng 10
1.1.3 Các thành phần giao diện và control cơ bản trong android 19
1.1.4 Intent 24
1.1.5 Định dạng Json 26
1.1.6 AsyncTask 29
1.2 Web Service 30
1.2.1 Khái niệm 30
1.2.2 Đặc điểm của Web service 30
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 33
2.1 Khảo sát hiện trạng 33
2.1.1 Giới thiệu về đơn vị khảo sát 33
2.1.2 Khảo sát thực tế bài toán quản lý tài chính tại công ty 34
2.1.3 Nhận xét, đánh giá thực trạng 34
2.1.4 Xác định các yêu cầu, chức năng của ứng dụng 35
2.2 Phân tích thiết kế hệ thống 37
2.2.1 Danh sách tác nhân 37
2.2.2 Các chức năng 37
2.2.3 Biểu đồ UC 38
2.2.4 Chức năng F01 38
2.2.5 Chức năng F02 40
2.2.6 Chức năng F03 42
2.2.7 Chức năng F04 43
Trang 42.2.8 Chức năng F05 46
2.3 Phân tích, thiết kế CSDL 49
CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH 50
3.1 Công nghệ và công cụ 50
3.2 Một số hình ảnh giao diện ứng dụng 50
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1: Các phiên bản của Android 8
Hình 1.2 Cấu trúc của hệ điều hành Android 10
Hình 1.3 Mô hình Activity Atack 16
Hình 1.4 Vòng đời của một Activity 17
Hình 1.5 Ví dụ về RelativeLayout 20
Hình 1.6 Ví dụ về TableLayout 21
Hình 1.7: Ví dụ về Button 21
Hình 1.8 Ví dụ về RadioButton 23
Hình 1.9 Mô hình truyền dữ liệu với Intent 24
Hình 1.10 Các thuộc tính của một đối tượng Intent 25
Hình 1.11 Các Action được định nghĩa sẵn 25
Hình 1.12 Cấu trúc một đối tượng Object trong Json 27
Hình 1.13 Cấu trúc một đối tượng Array trong Json 27
Hình 1.14 Cấu trúc của Web service 31
Hình 2.1: Biểu đồ UC 38
Hình 2.2: UC Quản lý nhân viên 38
Hình 2.3: Biểu đồ hoạt động – Quản lý nhân viên 39
Hình 2.4: Biểu đồ cộng tác – Thêm nhân viên 39
Hình 2.5: Biểu đồ cộng tác – Sửa thông tin 40
Hình 2.6: UC Quản lý thu chi 40
Hình 2.7: Biểu đồ hoạt động - Quản lý thu chi 41
Hình 2.8: Biểu đồ cộng tác – Thêm thu chi 41
Hình 2.9: Biểu đồ cộng tác – Sửa thu chi 42
Hình 2.10: UC Tìm kiếm 42
Hình 2.11: Biểu đồ hoạt động – Tìm kiếm 43
Hình 2.12: Biểu đồ cộng tác – Tìm kiếm 43
Hình 2.13: UC Quản lý chức vụ 44
Hình 2.14: Biểu đồ hoạt động – Quản lý chức vụ 44
Hình 2.15: Biểu đồ cộng tác – Thêm chức vụ 45
Hình 2.16: Biểu đồ cộng tác – Sửa chức vụ 45
Trang 6Hình 2.17: Biểu đồ cộng tác – Xóa chức vụ 46
Hình 2.18: UC Quản lý khoản mục 46
Hình 2.19: Biểu đồ hoạt động – Quản lý khoản mục 47
Hình 2.20: Biểu đồ cộng tác – Thêm khoản mục 48
Hình 2.21: Biểu đồ cộng tác – Sửa khoản mục 48
Hình 2.22: Biểu đồ cộng tác – Xóa khoản mục 49
Hình 2.23: Cơ sở dữ liệu 49
Hình 3.1: Giao diện đăng nhập 50
Hình 3.2: Theo dõi tài chính 51
Hình 3.3: Quản lý tài khoản 52
Hình 3.4 Thêm tài khoản 53
Hình 3.5: Quản lý chức vụ 54
Hình 3.6: Quản lý tài chính 55
Hình 3.7: Giao diện trả lương 56
Hình 3.8: Quản lý khoản mục 57
Hình 3.9: Thêm bản ghi 58
Hình 3.10: Thêm khoản mục 59
Hình 3.11: Sửa khoản mục 60
Trang 7LỜI MỞ ĐẦU
Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học, sinh học, giáo dục và viễn thông Không chỉ vậy, vấn đề khai thác dữ liệu và quản lí dữ liệu đang ngày càng trở nên thiết thực hơn đóng vai trò không nhỏ trong cuộc sống
Việc quản lý chi tiêu hiệu quả giữ vị trí vô cùng quan trọng đối với doanh nghiệp, công ty Để tránh được những thất thoát mang lại sự phát triển hiệu quả bền vững của doanh nghiệp, công ty, sự nể phục của các đối tác về một công ty nghiêm túc và mở thêm nhiều cơ hội hợp tác cho công ty, doanh nghiệp
Vì vậy, cùng với những gợi ý của Thầy Nguyễn Quang Hiệp, em đã chọn đề tài: “Ứng dụng Android xây dựng hệ thống quản lý chi tiêu cho doanh nghiệp”
Trước tiên em xin gửi lời cảm ơn đến thầy Nguyễn Quang Hiệp, là giảng viên hướng dẫn em trong bài đồ án tốt nghiệp này Cảm ơn thầy đã tạo cho em những điều kiện thuận lợi để em có thể hoàn thành tốt bài luận này Bên cạnh những kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những thiếu sót và hạn chế trong nội dung báo cáo và chương trình Kính mong nhận được những ý kiến đóng góp của các thầy, cô để em có thể hoàn thiện hơn
Em xin chân thành cảm ơn !
Thái Nguyên, ngày tháng 05 năm 2017
Người viết báo cáo
Trần Thị Hồng Tươi
Trang 8CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android
1.1.1 Tổng quan về hệ điều hành android
a Lịch sử hình thành
Android hiện đang là hệ điều hành trên di động phổ biến nhất thế giới Được sáng lập cách đây hơn 10 năm trước bởi 4 nhà phát triển Andy Rubin, Rich Miner, Nick Sears và Chris While Hiện tại android đang có chỗ đứng vững trong tâm trí người tiêu dùng do lượng ứng dụng nhiều, đa dạng, dễ tùy biến cũng như các tính năng công nghệ đột phá
- Tháng 10/2003: Android Inc được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris While
- Tháng 8/2005: Google mua lại dự án Android do thấy được tiềm năng trong lĩnh vực di động
- Ngày 5/11/2007: Google chính thức ra mắt Android, từ đó đến nay ngày 5/11/2007 trở thành ngày sinh nhật của Android
- Ngày 23/9/2008: Android 1.0 chính thức ra đời
- Ngày 28/10/2008: HTC G1 ra mắt và là smartphone Android đầu tiên
Từ khi thành lập cho đến nay, Thị phần Android trên thị trường điện thoại di động ngày càng tăng lên mạnh mẽ, phần nào chứng tỏ những ưu thế và tính năng vượt trội của nền tảng này Đồng thời khẳng định những nỗ lực của Android trong việc mang đến cho người tiêu dùng những sản phẩm tốt nhất
a Quá trình phát triển
Dưới đây là hình ảnh các phiên bản của Android trong quá trình phát triển
Hình 1.1: Các phiên bản của Android
Trang 9- Ngày 30/4/2009: Android 1.5 Cupcake ra đời với chợ ứng dụng cùng cải thiện về giao diện
- Ngày 15/9/2009: Android 1.6 Donut ra đời với cải thiện về cảm ứng đa nhiệm, bàn phím ảo, cải thiện dung lượng pin và tính năng nhận diện giọng nói tích hợp
- Ngày 26/10/2009: Android Eclair ra đời với cải thiện về hiệu năng, hỗ trợ HTML 5 cũng như khả năng xử lý đồ họa
- Tháng 5/2010: Android 2.2 Froyo ra mắt với khả năng kết nối Bluetooth, wi-fi Hotspot, bàn phím đa ngôn ngữ, camera và hiệu năng được cải thiện
- Ngày 6/12/2010: Android 2.3 GingerBread ra mắt với giao diện, bàn phím cùng thời lượng pin cải thiện đáng kể, kết nối NFC bắt đầu được hỗ trợ từ phiên bản Android này
- Ngày 22/2/2011: Android 3.0 Honeycomb ra mắt và được thiết kế cho các thiết bị máy tính bảng với hiệu năng cải thiện và đây cũng là phiên bản Android đầu tiên cho phép phần cứng sử dụng chip xử lý đa lõi
- Ngày 19/10/2011, Android 4.0 IC ra mắt, đồng bộ với các thiết bị máy tính bảng và smartphone Tính năng điều chỉnh kích cỡ Widget, folder ở màn hình chính cùng hàng loạt cải thiện xuất hiện
- Tháng 6/2012: Android 4.1 Jelly Bean ra mắt, cải thiện hiệu năng, tích hợp Google Now cũng như hàng loạt tiện ích giúp người dùng sử dụng hệ điều hành này đơn giản hơn hết
- Ngày 3/11/2014: Google chính thức ra mắt hệ điều hành mới nhất Android Lollipop 5.0 “Android L” đã tích hợp các yếu tố đồ họa đơn giản của ngôn ngữ phẳng với các hiệu ứng điều hướng rất trực quan để tạo ra Material Design vừa đẹp, vừa tiện dụng, hệ thống thông báo dạng thẻ, Project Volta giúp tìm kiếm pin, mã hóa dữ liệu được mặc định trên smartphone, đồ họa đẳng cấp
Các Smartphone trọng tâm:
- Năm 2008: HTC Dream
- Năm 2010: Samsung Galaxy S
- Năm 2011: Motorola Xoom, Samsung Galaxy S2
- Năm 2012: HTC One X, Samsung Galaxy S3, Nexus 7, Nexus 4
Trang 10- Năm 2013: Sony Xperia Z, HTC one, Samsung Galaxy S4
- Năm 2014: Zenphone 5, Samsung Galaxy Note 4, Galxy S5, Nexus 9
1.1.2 Hệ điều hành (HĐH) Android và lập trình ứng dụng
a Cấu trúc của hệ điều hành
Mô hình sau mô tả tổng quát cấu trúc của HĐH Android
Hình 1.2 Cấu trúc của hệ điều hành Android
- Tầng ứng dụng (Applications)
Là tầng trên cùng của kiến trúc Android, nằm cách xa với phần cứng nhất, là nơi chứa các ứng dụng của lập trình viên Hầu hết các ứng dụng được viết bằng ngôn ngữ java
- Tầng Application Framework
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 địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động và nhiều hơn nữa
Google xây dựng cho các developer để phát triển các ứng dụng của họ trên Android chỉ bằng cách gọi các API
Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:
Một 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 diện ứng dụng như: GridView, TableView…
Trang 11 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ẻ dữ liệu giữa các ứng dụng đó
Resource Manager: Cung cấp truy xuất tới các tài nguyên không phải là mã
nguồn, chẳng hạn như: graphics, image, music, video…
Notification Manager: Cho phép tất cả các ứng dụng hiển thị thông báo của mình trên hệ điều hành
Activity Manager: Quản lý vòng đời của các ứng dụng và điều hướng các Activity
- Tầng Library
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 Các thư viện này sẽ được các lập trình viên phát triển ứng dụng Android thông qua tầng Android Framework Có thể
kể đến một vài thư viện quen thuộc như:
android.app - Cung cấp truy cập đến các mô hình ứng dụng và là nền tảng của tất cả các ứng dụng Android
android.content - Tạo điều kiện truy cập nội dung, publishing và messaging giữa các ứng dụng và các thành phần ứng dụng
android.database - Được sử dụng để truy cập dữ liệu được công bố bởi các nhà cung cấp nội dung và bao gồm các lớp quản lý cơ sở dữ liệu SQLite
android.graphics - Một bản vẽ đồ họa 2D API cấp thấp bao gồm cả màu sắc, điểm, các bộ lọc, hình chữ nhật và bức tranh sơn dầu
android.hardware - Trình bày một API cung cấp quyền truy cập vào phần cứng như gia tốc và cảm biến ánh sáng
android.opengl - Một giao diện Java với đồ họa OpenGL ES dựng hình 3D API
android.os - Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ hệ điều hành chuẩn bao gồm tin nhắn, các dịch vụ hệ thống và quá trình liên lạc
android.media - Cung cấp các lớp để cho phép phát âm thanh và video
android.net - Một tập các API cung cấp quyền truy cập vào các mạng stack Bao gồm android.net.wifi, cung cấp truy cập không dây đến ngăn xếp của thiết bị
Trang 12 android.text - Được sử dụng để thao tác văn bản trên màn hình điện thoại
android.util - Một tập các lớp tiện ích cho công việc biểu diễn chuỗi, chuyển đổi số lượng, xử lý XML, ngày tháng, thời gian
android.view - Các khối xây dựng cơ bản của giao diện người dùng của ứng dụng
android.widget - Một bộ sưu tập phong phú của các thành phần giao diện người dùng được xây dựng trước buttons, labels, list views, layout managers, radio buttons, vv
android.webkit - Một tập các lớp nhằm cho phép khả năng duyệt web được xây dựng vào các ứng dụng
- Tầng Android Runtime
Đây là phần thứ 2 nằm ở tầng 3 của kiến trúc Android Phần này cung cấp một thành phần quan trọng được gọi là Dalvik Virtual Machine - một loại máy ảo Java được thiết kế đặc biệt và tối ưu hóa cho Android
Máy ảo Dalvik: Dalvik là máy ảo trong hệ điều hành Android của Google
Nó là một loại JVM được sử dụng trong các thiết bị Android để chạy các ứng dụng
và được tối ưu hóa cho sức mạnh xử lý thấp và môi trường bộ nhớ thấp Đây là phần mềm chạy các ứng dụng trên thiết bị Android Do đó Dalvik là một phần của Android, thường được sử dụng trên các thiết bị di động như điện thoại di động và máy tính bảng cũng như trên các thiết bị nhúng như TV thông minh và các dòng phương tiện truyền thông Các chương trình thường được viết bằng Java và biên dịch thành bytecode Sau đó được chuyển từ tệp tin class của JVM tương thích sang tệp tin dex (Dalvik Executable) trước khi cài đặt lên thiết bị Tệp tin có định dạng Dalvik Exec nhỏ gọn được thiết kế phù hợp với hệ thống đang bị hạn chế về
bộ nhớ và tốc độ xử lý
Ngoài ra Android runtime cũng cung cấp một tập các thư viện Core Java: có
sự pha trộn của Java SE và Java ME Tuy nhiên thư viện cung cấp hầu hết các chức năng được xác định trong thư viện Java SE
- Tầng Linux kernel
Là tầng dưới cùng của hệ điều hành Android Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng Toàn bộ hệ thống
Trang 13Android được xây dựng dựa trên Linux phiên bản 2.6 [2] với một vài thay đổi bởi Google
b Cấu trúc của một project android
- Thư mục src (viết tắt của source): Nơi chứa các source code ứng dụng
Gồm các package và các class Các file có đuôi ngầm định là *.java hoặc *.aidl
- Thư mục gen (viết tắt của Generated Java File): Nơi chứa các file tự động
phát sinh, hay chính là các file java tạo ra bởi ADT plug-in, như là file R.java hoặc các giao diện tạo ra từ file AIDL
File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được
sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các tài nguyên hình ảnh
Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nào xảy ra làm thay đổi các thuộc tính trong ứng dụng Chẳng hạn như, bạn kéo và thả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đường dẫn đến file đó cũng sẽ được hình thành trong file R.java hoặc xoá một file hình ảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xoá
Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cả quá trình xây dựng ứng dụng
Dưới đây là nội dung của một file R.java:
public static final class drawable {
public static final int abc_ab_bottom_solid_dark_holo=0x7f020000;
public static final int abc_ab_bottom_solid_light_holo=0x7f020001;
public static final int abc_ab_share_pack_holo_light=0x7f020005;
public static final int abc_ab_solid_dark_holo=0x7f020006;
public static final int abc_ab_solid_light_holo=0x7f020007;
public static final int abc_ab_stacked_solid_dark_holo=0x7f020008;
public static final int abc_ab_stacked_solid_light_holo=0x7f020009;
public static final int abc_ab_transparent_light_holo=0x7f02000d;
- Thư mục res (viết tắt của resource-tài nguyên): Nơi chứa các resource
dùng trong ứng dụng Chẳng hạn như file hình ảnh, file layout, các chuỗi (string)…
Trang 14Các thư mục con của res bao gồm:
Anim/ : Chứa các file xml dùng cho việc thiết lập các hiệu ứng động
(animation)
Color/ : chứa các file xml dùng định nghĩa màu sắc
Drawable/ : Chứa file hình ảnh (png, jpeg, gif), file xml định nghĩa cách vẽ
các loại hình dạng khác nhau (shape)
Layout/ : Chứa các file xml dùng để dựng giao diện người dùng
Menu/ : Chứa file xml qui định application menu
Raw/ : Chứa các file media, chẳng hạn như mp3 hay ogg
Values/ : Chứa file xml định nghĩa các giá trị Khác với các resource trong
các thư mục khác, resource ở thư mục này khi được định danh trong lớp R thì sẽ không sử dụng file name để định danh, mà sẽ được định danh theo qui định bên trong file xml đó
- Thư mục assets: Chứa các resource file mà ứng dụng cần dùng (dưới dạng file)
- File AndroidManifest.xml: Trong bất kì một project Android nào khi tạo ra
đều có một file AndroidManifest.xml, file này được dùng để định nghĩa các screen
sử dụng, các permission cũng như các theme cho ứng dụng Đồng thời nó cũng chứa thông tin về phiên bản SDK cũng như main activity sẽ chạy đầu tiên
File này được tự động sinh ra khi tạo một Android project Trong file Manifest bao giờ cũng có 3 thành phần chính đó là: application, permission và version
Dưới đây là nội dung của một file AndroidManifest.xml:
Trang 15<uses-permission android:name="android.permission.INTERNET"/>
Trang 16Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng
c Vòng đời của một ứng dụng android
- Vòng đời của mỗi thành phần
Các thành phần ứng dụng có một vòng đời, tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc Giữa đó, đôi lúc chúng có thể là active hoặc inactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible
chu kì sống của ứng dụng android
Hình 1.3 Mô hình Activity Atack
Trang 17Có hai kiểu để mở Activity mới
Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không nhìn thấy Activity cũ): Sảy ra sự kiện onPause rồi onStop đối với Activity cũ
Mở Activity mới lên làm che khuất một phần Activity cũ (vẫn nhìn thấy Activity cũ): Sảy ra sự kiện onPause với Activity cũ
Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết, chắc chắn nó phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng
Như vậy ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và rồi đọc lại trạng thái của ứng dụng trong sự kiện onResume
- Các trạng thái của một vòng đời
Hình 1.4 Vòng đời của một Activity
Activity bao gồm 4 trạng thái
- Active (running): Activity đang hiển thị trên màn hình (foreground)
- Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost
focus)
Ví dụ: Một Activity mới xuất hiên hiển thị giao diện đè lên trên Activity cũ, nhưng giao diện này nhỏ hơn giao diện của Activity cũ, do đó ta vẫn thấy được một phần giao diện của Activity cũ nhưng lại không thể tương tác với nó
- Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng
thái Stop