Luận văn tốt nghiệp kỹ sư xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động - Pdf 35

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:

LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115

ĐỀ TÀI :
XÂY DỰNG HỆ THỐNG TRỢ GIÚP ẨM THỰC
TRÊN ĐIỆN THOẠI DI ĐỘNG
Mã số : 09T3 - 121
Ngày bảo vệ : 18-20/06/2014

SINH VIÊN : NGUYỄN THỦY LỘC
LỚP :
09T3
CBHD :
ThS. VÕ ĐỨC HOÀNG

ĐÀ NẴNG, 06/2014


LỜI CẢM ƠN
Em xin chân thành cám ơn thầy ThS. Võ Đức Hoàng đã tận tình hướng
dẫn và giúp đỡ em trong suốt quá trình thực hiện đồ án tốt nghiệp này. Em
cũng xin gởi lời cám ơn chân thành đến toàn thể quý thầy cô trường Đại học

xin chịu hoàn toàn trách nhiệm.

Sinh viên,
Nguyễn Thủy Lộc – 09T3

Trang ii


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
………………………………………………………………………………………………….
………………………………………………………………………………………………….
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………

………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Trang iv


MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1.1 GIỚI THIỆU ..................................................................................................1
1.1.1 Bối cảnh đề tài ........................................................................................1
1.1.2 Mục đích .................................................................................................1
1.1.3 Ý nghĩa ....................................................................................................2
1.2 PHẠM VI ĐỀ TÀI .........................................................................................2
1.3 TRIỂN KHAI ĐỀ TÀI ...................................................................................2
1.3.1 Các bước thực hiện .................................................................................2
1.3.2 Mục tiêu cần đạt được.............................................................................3
1.4 KẾT QUẢ DỰ KIẾN .....................................................................................3

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ............................................................ 4
1.1 GIỚI THIỆU CÁC NỀN TẢNG DI ĐỘNG ..................................................4

1.3.4.1
1.3.4.2

1.3.5
1.3.6
1.3.7
1.3.7.1
1.3.7.2

Adapter trong andoid ............................................................................15
Lưu trữ dữ liệu trong android ...............................................................15
Giao diện trong android ........................................................................15
View ........................................................................................................ 15
ViewGroup .............................................................................................. 16

1.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLITE.................................................19
1.4.1 Giới thiệu ..............................................................................................19
1.4.2 Đặc điểm ...............................................................................................19
1.4.3 Phiên bản...............................................................................................20
1.5 WEB SERVICE ...............................................................................................20
1.5.1 Giới thiệu ..............................................................................................20
Trang v


Đặc điểm webservice ............................................................................20

1.5.2

Ưu điểm .................................................................................................. 21
Nhược điểm............................................................................................. 22

1.7.1 JSP ........................................................................................................28
1.7.2 SERVLET .............................................................................................28
1.7.3 MÔ HÌNH MVC TRONG JAVA WEB JSP SERVLET .....................29
Khái niệm cơ bản về mô hình MVC ........................................................ 29
Mô hình MVC trong ứng dụng web với JSP Servlet ............................... 29

1.7.3.1
1.7.3.2

CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG....................... 30
2.1 PHÂN TÍCH YÊU CẦU ..............................................................................30
2.1.1 Mô tả bài toán .......................................................................................30
2.1.2 Phân tích hiện trạng ẩm thực Việt Nam................................................31
Giới thiệu sơ lược về ẩm thực Việt Nam ................................................ 31
Đặc điểm ................................................................................................. 31

2.1.2.1
2.1.2.2

2.1.3

Phân tích yêu cầu bài toán ....................................................................32
Yêu cầu chức năng.................................................................................. 32
Yêu cầu phi chức năng ........................................................................... 33

2.1.3.1
2.1.3.2

2.1.4 Phân tích tính khả thi ............................................................................33
2.1.5 Công nghệ .............................................................................................33


3.1.2 Kết quả triển khai Web Admin .............................................................67
3.1.3 Kết quả triển khai ứng dụng trên di động .............................................78
3.2 ĐÁNH GIÁ ..................................................................................................85
3.2.1 Bảng đánh giá kết quả thực hiện ...........................................................85
Ứng dụng trên điện thoại di động .......................................................... 85
Hệ thống Server ...................................................................................... 85

3.2.1.1
3.2.1.2

Những điều đạt được.............................................................................85

3.2.2
3.2.2.1
3.2.2.2

Hệ thống Web server .............................................................................. 86
Ứng dụng trên điện thoại di động .......................................................... 86

3.2.3 Những điều chưa đạt được ....................................................................86
3.3 HƯỚNG PHÁT TRIỂN ...............................................................................86

TÀI LIỆU THAM KHẢO ............................................................................ 87
TÓM TẮT LUẬN VĂN TỐT NGHIỆP...................................................... 88
PHỤ LỤC ......................................................................................................... 1

Trang vii



Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

1: Giới thiệu mobile ..................................................................................................... 4
2: Giới thiệu android .................................................................................................... 6
3: Kiến trúc hệ điều hành android ................................................................................ 8
4: Sơ đồ hoạt động activity trong android ................................................................. 11
5: Sơ đồ Intent ............................................................................................................ 13
6: Sơ đồ giao diện trong android................................................................................ 16
7: Framelayout android .............................................................................................. 17
8: Relativelayout android ........................................................................................... 18
9; Tablelayout android ............................................................................................... 18
10: Quản trị SQLite.................................................................................................... 19
11: Kiến trúc REST.................................................................................................... 22
12: Cơ chế hoạt động của REST ................................................................................ 23
13: Use case của ứng dụng android ........................................................................... 34

44: Quan hệ giữa các bảng trong cơ sở dữ liệu.......................................................... 55
45: Sơ đồ usecase web admin .................................................................................... 58
Trang viii


Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

54: Biểu đồ tuần tự xóa dữ liệu .................................................................................. 64
55: Biểu đồ tuần tự sửa dữ liệu ................................................................................. 64
56: Sơ đồ lớp web admin ........................................................................................... 65
57: Sơ đồ lớp chi tiết web admin ............................................................................... 65
58: Dữ liệu Json trả về từ Web Service ..................................................................... 67
59: Đăng nhập ............................................................................................................ 67
60: Quản lý món ăn .................................................................................................... 68
61: Thêm món ăn ....................................................................................................... 68
62: Xem, sửa món ăn ................................................................................................. 69
63: Xóa món ăn .......................................................................................................... 69
64: Quản lý loại món ăn ............................................................................................. 70
65: Thêm mới loại món ăn ......................................................................................... 70
66: Xem và sửa loại món ăn ...................................................................................... 71
67: Xóa loại món ăn ................................................................................................... 71
68: Quản lý vùng........................................................................................................ 72
69: Thêm mới vùng .................................................................................................... 72
70: Xem và sửa vùng ................................................................................................. 73
71: Quản lý xuất xứ.................................................................................................... 73
72: Thêm mới xuất xứ................................................................................................ 74
73: Xem và sửa xuất xứ ............................................................................................. 74
74: Xóa xuất xứ.......................................................................................................... 75
75: Quản lý nguyên liệu ............................................................................................. 75
76: Thêm mới nguyên liệu ......................................................................................... 76
77: Xem và sửa nguyên liệu....................................................................................... 76
78: Xóa nguyên liệu ................................................................................................... 77
79: Quản lý bình luận................................................................................................. 77
80: Màn hình main ..................................................................................................... 78
81: Màn hình văn hóa ẩm thực .................................................................................. 78
82: Màn hình dialog chọn vùng ................................................................................. 79
83: Màn hình dialog chọn xuất xứ ............................................................................. 79

Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng
Bảng

1: Các thuộc tính của đối tượng intent ...................................................................... 14
2: Các hàm thực thi Activity ..................................................................................... 14
3: Các method của HTTP được hỗ trợ....................................................................... 24
4: Đối tượng Json ...................................................................................................... 26
5: Mảng Json ............................................................................................................. 26
6: Ví dụ sử dụng Gson ............................................................................................... 27
7: Mô tả usecase xem văn hóa ẩm thực ..................................................................... 34
8: Mô tả usecase cập nhật dữ liệu .............................................................................. 35
9: Mô tả usecase tìm kiếm món ăn ............................................................................ 35

Trang x


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

MỞ ĐẦU
1.1 GIỚI THIỆU
1.1.1 Bối cảnh đề tài
Trong bối cảnh xã hội ngày càng phát triển, chất lượng cuộc sống của con người
ngày càng được cải thiện, đi liền với đó là vấn để ăn uống ngày càng được nâng cao,
từ chỗ đủ cái ăn, chúng ta hướng đến là làm thế nào để có thể có món ăn ngon, bổ
dưỡng. Tất bật với cuộc sống mưu sinh, với nhịp sống nhộn nhịp của xã hội, quỹ thời
gian của chúng ta ngày càng eo hẹp đi. Thật khó để có thể dành được một lượng thời
gian lân la các quán sách tìm hiểu về các món ăn, hay lang thang Internet tìm hiểu về
các chương trình dạy nấu ăn. Từ đó nảy sinh vấn đề làm thế nào để có được một công
cụ như một cuốn sổ tay mini chỉ dẫn về nấu ăn, về nghệ thuật ẩm thực có thể mang
theo mọi lúc, tiện lợi giúp chúng ta có thể tự mình nấu những món ăn ngon cho chính
mình, cho bạn bè, người thân hay gia đình thưởng thức sau những giờ làm việc hút
thể lực và chất xám.
Đi kèm với đó, sự phát triển của khoa học công nghệ ngày càng nhanh chóng.
Điện thoại di động không còn đơn thuần là thiết bị liên lạc, mà trở thành một công cụ
giải trí đa phương tiện và một vật không thể thiếu của mọi người. Chính sự phát triển
và phổ biến mạnh mẽ của di động nên ngày càng có nhiều ứng dụng cho di động được
phát triển. Chính vì những ưu thế trên của điện thoại thông minh, ý tưởng kết hợp sổ
tay nấu ăn truyền thống và điện thoại thông minh được nghĩ đến. Một ứng dụng trên
điện thoại thông minh có chức năng như một cuốn sổ tay mini hướng dẫn về ẩm thực,
gọn nhẹ và dễ mang theo gần như mọi lúc mọi nơi giúp mọi người có thể dễ dàng chế
biến các món ăn ngon, đa dạng mà không phải mất nhiều công sức, thì giờ tìm hiểu.
Vì những lý do đó tôi quyết định đưa ra ý tưởng làm một cuốn sổ tay mini giới
thiệu về ẩm thực Việt Nam trên thiết bị di động để nghiên cứu và triển khai.

Ứng dụng có thể cập nhật sữ liệu từ webservice và lưu về bộ nhớ cục bộ trên thiết bị.
Kho dữ liệu ẩm thực được xây dựng và phát triển trên mạng Internet, cung cấp
web service và các phương thức để sử dụng và khai thác dữ liệu từ kho dữ liệu ẩm
thực.
1.3 TRIỂN KHAI ĐỀ TÀI
1.3.1 Các bước thực hiện
- Đọc hiểu đề tài, tìm kiếm các tài liệu liên quan.
- Phân tích yêu cầu.
- Phân tích và thiết kế hệ thống.
- Xây dựng cơ sở dữ liệu
- Xây dựng Web admin quản lý cơ sỡ dữ liệu
- Xây dựng Web service cung cấp dữ liệu
- Xây dựng ứng dụng trên thiết bị di động Android
- Triển khai hoạt động cho kho dữ liệu và ứng dụng, đồng thời tiến hành kiểm
thử đảm bảo chất lượng sản phẩm.
- Viết báo cáo tổng kết đề tài và đề ra hướng phát triển.

Trang 2


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

1.3.2 Mục tiêu cần đạt được
- Xây dựng thành công Web admin và Web service cho kho dữ liệu ẩm thực.
- Xây dựng thành công ứng dụng trên điện thoại di động Android.
- Triển khai ứng dụng, phối hợp trao đổi dữ liệu giữa ứng dụng di động và ứng
dụng web thành công.
1.4 KẾT QUẢ DỰ KIẾN
Với mục đích đề ra thì kết quả cần đạt được trong đề tài luận văn tốt nghiệp này:
- Tìm hiểu nền tảng di động Android.

Hình 1: Giới thiệu mobile

1.1.1 Ios
Nền tảng di động iOS với điện thoại di động thông minh iPhone, với thiết kế đẹp,
thời trang, cảm ứng mượt mà, màn hình đẹp và sắc nét cùng với tài năng của "thánh"
Steve Jobs đã khiến cho iPhone trở thành hiện tượng trên mọi thị trường, đặc biệt là
ở Mỹ. Doanh số bán ra của iPhone tăng dần qua các năm, và dần dần thống lĩnh thị
trường của nhiều nước. iPhone dù mỗi năm chỉ ra một phiên bản mới nhưng sức nóng
đủ lan tỏa khắp làng di động, do đó, iOS vẫn chưa bao giờ "già".
iOS là hệ điều hành "đóng" hoạt động trên iPhone, iPad, iPod. iOS đã quyết định
rất nhiều đối với sự thành công của Apple, với giao diện bóng bẩy, đẹp mắt, và dễ sử
dụng. Tất cả chỉ là chạm và vuốt để thực thi. Cùng với chính sách hợp lý để thu hút
các lập trình viên viết ứng dụng, kho ứng dụng Appstore ngày càng lớn khiến cho
người dùng càng thêm thích thú, mọi nhu cầu của từng người đều có thể được đáp
ứng. Cũng như việc Apple cũng tung ra cập nhật, vá các lỗi liên tục khi phát hiện,
khiến cho iOS ngày càng trở nên "thông minh" hơn, an toàn hơn.
Nhưng nếu gọi iOS là thống trị năm 2012 thì điều đó cũng là chưa thể. Vì iOS chỉ
được cài giới hạn trên thiết bị của Apple gồm những thiết bị như iPhone, iPad, iPod...
Thị phần của thiết bị Apple trên thế giới nói chung là không lớn, số liệu các bạn thấy
trên các báo đa số chỉ thống kê tại Mỹ, nhưng đã gọi là thống trị thì phải là thống trị
trên thị trường di động toàn thế giới.

Trang 4


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

1.1.2 Android
Mặc dù sinh sau đẻ muộn, nhưng Android đang có những bước tiến thần tốc, trong
thời gian ngắn đã đạt được nhiều điều khiến mọi hệ điều hành di động mơ ước: khoảng

người dùng mới mang tên Modern (trước đây tên là Metro) - tích hợp khả năng liên
kết với các phần cứng và phần mềm của hãng thứ ba một cách dễ dàng.

Trang 5


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

1.1.4 BlackBerry
Là dòng máy Smartphone cao cấp và nổi tiếng trên thế giới do hãng Research In
Motion cung cấp. Ngoài những tính năng thông thường, điểm tạo nên sự khác biệt
của máy BlackBerry là kiểu thiết kế rất đặc trưng; pin tốt và hơn cả là dịch vụ Push
Mail nổi tiếng và thương hiệu BlackBerry được xây dựng rất thành công.
BlackBery OS 6 được RIM công bố tại sự kiện Wireless Enterprise Symposium
(diễn ra từ 27 đến 29/4 tại Mỹ). RIM chưa đưa ra chi tiết về hệ điều hành mới, ngoài
một đoạn video quảng cáo khá ấn tượng. Theo những thông tin đầu tiên, nhiều cải
tiến từ giao diện, màn hình Home mới, menu pop-up, khả năng chuyển dịch, trình
duyệt web mới dựa trên nền tảng WebKit tương thích HTML5. Ngoài ra, BlackBerry
OS 6 hỗ trợ khả năng điều khiển trên màn hình cảm ứng đa điểm tốt hơn.
1.2 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID
1.2.1 Giới thiệu

Hình 2: Giới thiệu 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). Theo nghiên cứu của công ty nghiên
cứu thị trường NPD (National Purchase Diary), thiết bị di động sử dụng hệ điều hành
android bán được tại Mỹ trong quý I năm 2012 xếp vị trí đầu tiên với 51%, thứ 2 là
iOS ở vị trí với 30.7%. Android có một cộng đồng những nhà phát triển rất lớn viết

Andy Rubin, Rich Miners, Nick Sears và Chris White.
- Tháng 8-2005: Google mua lại Android inc.
- Tháng 11-2007: Phát hành Android beta SDK (Software Development Kit).
- Tháng 9-2008: Chiếc điện thoại chạy trên hệ điều hành Android lần đầu tiên
được giới thiệu, chiếc HTC Dream(G1) chạy Android 1.0.
- Tháng 2-2009: Phát hành bản cập nhật Android 1.1 dành riêng cho T-Mobile
G1.
- Tháng 4-2009: Phát hành bản cập nhật Android 1.5(Cupcake) dựa trên nhân
linux 2.6.27.
- Tháng 9-2009: Phát hành bộ SDK dành cho Android 1.6 (Donut) dựa trên nhân
Linux 2.6.29.
- Tháng 10-2009: Phát hành bộ SDK dành cho Android 2.0(Eclair) dựa trên
nhân Linux 2.6.29.
- Tháng 12-2009: Phát hành bộ SDK 2.0.1.
- Tháng 1-2010: Phát hành bộ SDK 2.1.
- Tháng 5-2010: Phát hành bộ SDK Android 2.2 (Froyo).
Trang 7


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

- Tháng 12-2010: Phát hành bộ SDK Android 2.3 (Gingerbread).
- Tháng 2-2011: Phát hành Android 2.3.3 dựa trên nhân Linux 2.6.35.
- Tháng 2-2011: Phát hành SDK Android 3.0 dành cho tablet được phát hành
dựa trên nhân linux 2.6.36.
- Tháng 5-2011: Phát hành bộ SDK Android 3.1.
- Tháng 7-2011: Phát hành bộ SDK Android 3.2.
- Tháng 12-2011: Phát hành bộ SDK Android 4.0 (Ice Cream Sandwich) .
- Tháng 7-2012: Phát hành bộ SDK Android 4.1 (Jelly Bean).
- Tháng 12-2012: Phát hành bộ SDK Android 4.2 (Vẫn là Jelly Bean)

Surface Manager: quản lý quyền truy cập vào hệ thống con hiển thị và hoàn toàn
phù hợp chất 2D và 3D lớp từ nhiều ứng dụng đồ họa
LibWebCore: một trình duyệt web hiện đại, động cơ có quyền hạn cả hai trình
duyệt web của Android và một xem nhúng
SGL: các công cụ đồ họa 2D tiềm ẩn
3D libraries:một việc thực hiện dựa trên OpenGL ES 1,0 API; các thư viện, hoặc
sử dụng phần cứng tăng tốc 3D (nếu có) hoặc bao gồm, cao tối ưu rasterizer phần
mềm 3D
SQLite: một quan hệ cơ sở dữ liệu mạnh mẽ và nhẹ có sẵn cho tất cả các ứng dụng
Tầng Runtime: Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp
hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java. Tất
cả các ứng dụng Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã được viết
để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các
tập tin thực thi Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là
dựa trên register-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch
Java để chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux
cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp.
Tầng Linux Kernel: đây là nhân của hệ điều hành Android, mọi xử lý hệ thống
đều phải thông qua tầng này. Linux Kernel cung cấp các trình điều khiển thiết bị phần
cứng như: camera, USB, bluetooth… Kernel hoạt động như một lớp trừu tượng giữa
phần cứng và phần mềm còn lại của hệ thống.
Trang 9


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

1.3 LẬP TRÌNH ỨNG DỤNG TRONG ANDROID
1.3.1 Công cụ hỗ trợ
- Bộ Android SDK của Google
- Bộ JDK 5 trở lên


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

- Application: bên trong thẻ này chứa các thuộc tính được định nghĩa cho ứng
dụng Android như:
android:icon = “drawable resource” : Ở đây đặt đường dẫn đến file icon của ứng
dụng khi cài đặt.
android:name = “string” : thuộc tính này để đặt tên cho ứng dụng Android.
Tên này sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng.
android:theme = “drawable theme” : thuộc tính này để đặt theme cho ứng dụng.
Các theme là các cách để hiển thị giao diện ứng dụng.
Ngoài ra còn nhiều thuộc tính khác…
- Permission: Bao gồm các thuộc tính chỉ định quyền truy xuất và sử
dụng tài nguyên của ứng dụng. Đây là cơ chế bảo mật của android, mặc định ứng
dụng android không được cấp quyền nào, để cấp quyền cho ứng dụng ta sử dụng
thuộc

tính

<user-permission>,

định

dạng

như

sau:


stop.

-

Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo
nguyên tắc ưu tiên. Các Activity ở trạng thái stop hoặc paused cũng có thể bị
giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại
hoàn toàn và phục hồi lại trạng thái trước đó.

Vòng đời của một activity bao gồm 3 vòng chính:
-

Entire lifetime: từ phương thức onCreate() đến onDestroy().

-

Visible lifetime: từ phương thức onStart() đến onStop().

-

Foreground lifetime: từ phương thức onResume() đến onPause().

1.3.3.1 Các phương thức trong chu kỳ sống của một activity
- onCreate()
Được gọi khi activity lần đầu tiên được tạo
Đây là nơi ta nên thực hiện khởi tạo tĩnh thông thường — tạo giao diện người
dùng (các view), nối dữ liệu với các danh sách, v.v..
Tham số được truyền một đối tượng Bundle chứa trạng thái cũ của activity, nếu
như trạng thái đã được ghi lại.
onStart() luôn được gọi sau đó.

Được gọi trước khi activity bị hủy.
Đây là lời gọi hàm cuối cùng mà activity nhận được.
Nó có thể được gọi vì activity đang kết thúc (hàm finish() của activity được gọi),
hoặc vì hệ thống đang tạm thời hủy thực thể hiện tại của activity để tiết kiệm không
gian bộ nhớ.
Ta có thể phân biệt hai tình huống trên bằng cách dùng phương thức isFinishing().
Hệ thống có thể kill activity trong trạng thái này.
1.3.4 Intent
Intent là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện một Activity.
Intent là cầu nối giữa các Activity trong ứng dụng. Intent chính là người đưa thư,
giúp chúng ta triệu gọi cũng như truyền dữ liệu cần thiết để thực hiện một Activity từ
một Activity khác

Hình 5: Sơ đồ Intent
Trang 13


Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

Intent là một khái niệm then chốt và đặc trưng của Android Platform. Có thể nói
lập trình Android chính là lập trình intent-base.
Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp
android.content.Intent.
1.3.4.1 Các thuộc tính của một đối tượng intent
Bảng 1: Các thuộc tính của đối tượng intent

Thuộc tính chính

Thuộc tính phụ


startActivityResult

Thực thi activity như mô tả trong intent,
có kết quả trả về.

sendBroadcast(intent)

Chạy một service

bindService(intent.ServiceConnection,int)

Bind service

Intent tường minh: Intent có thể dùng các thuộc tính phụ component để chỉ định
đích danh tên lớp sẽ thực thi Activity. Để thực hiện điều này, lớp Intent cung cấp các
hàm đó là setComponent(ComponentName) và setClass(Context, Class) và
setClassName (Context, String) setClassName(String, String). Là intent được dùng
để gọi các Activity trong cùng một app
Intent không tương minh: Intent không chỉ định một lớp cụ thể mà thay vào đó
dùng các dữ liệu khác (action, data, type..) để hệ thống tự quyết định xem lớp nào sẽ
thích hợp để đáp ứng intent đó. Thông tin action và category của activity trong một
app đáp ứng intent đó phải được khai báo trong Manifest của app dưới dạng Intentfilter. Truyền nhận thông tin giữa các Activity sử dụng intent
Trang 14



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status