Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG
CHỦ ĐỀ 7: ỨNG DỤNG HOẶC GAME TỰ CHỌN
MINH TRÊN NỀN TẢNG ANDROID SỬ DỤNG ANDROID
STUDIO
Sinh viên thực hiện Lớp Khóa Nguyễn Xuân Mạnh DCCNTT12.10.3 K12 Nguyễn Xuân Phong DCCNTT12.10.3 K12 Trần Đức Việt DCCNTT12.10.3 K12 Đinh Văn Duy DCCNTT12.10.3 K12 Nguyễn Đức Toàn DCCNTT12.10.3 K12
Bắc Ninh, năm 2024
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG
CHỦ ĐỀ 7: ỨNG DỤNG HOẶC GAME TỰ CHỌN
MINH TRÊN NỀN TẢNG ANDROID SỬ DỤNG ANDROID
STUDIO
STT Sinh viên thực hiện Mã sinh
viên Điểm bằng số Điểm bằng chữ
Trang 3DANH SÁCH HÌNH ẢNH
Trang 4I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 5LỜI MỞ ĐẦU
Trong thế giới công nghệ ngày nay, thiết bị di động đã trở thành một phần thiết yếucủa cuộc sống hàng ngày Từ việc kết nối với bạn bè và gia đình, đến việc thực hiện cácgiao dịch tài chính, quản lý công việc và giải trí, những chiếc smartphone và máy tínhbảng đã thay đổi cách chúng ta tương tác với thế giới Vì vậy, việc phát triển ứng dụngcho thiết bị di động không chỉ là một lĩnh vực học tập hấp dẫn mà còn là một ngành nghềđầy triển vọng và tiềm năng
Môn học "Phát triển ứng dụng cho thiết bị di động" được thiết kế để cung cấp cho bạn cáinhìn toàn diện và sâu sắc về quá trình tạo ra những ứng dụng di động hiệu quả và sángtạo Trong khóa học này, bạn sẽ được giới thiệu về các công cụ và công nghệ chính, từnền tảng phát triển như Android và iOS đến các ngôn ngữ lập trình phổ biến như Java,Kotlin, Swift và React Native Bạn sẽ học cách thiết kế giao diện người dùng thân thiện,tối ưu hóa hiệu suất ứng dụng và đảm bảo tính bảo mật
Hơn nữa, môn học không chỉ tập trung vào lý thuyết mà còn chú trọng đến thực hành.Bạn sẽ có cơ hội làm việc trên các dự án thực tế, giải quyết các bài toán phát triển ứngdụng và tiếp cận các công nghệ mới nhất Qua đó, bạn sẽ không chỉ nâng cao kỹ năng lậptrình mà còn phát triển khả năng tư duy sáng tạo và giải quyết vấn đề
Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết
để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và góp phần vào sự phát triển không ngừng của ngành công nghệ di động
Trang 6CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng
Phát triển ứng dụng cho thiết bị di động là một lĩnh vực đang bùng nổ và đổi mớinhanh chóng, với nhiều yếu tố quan trọng từ khâu thiết kế đến triển khai và bảo trì Quátrình phát triển bắt đầu bằng việc xác định các yêu cầu và mục tiêu của ứng dụng, sau đó
là thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) để đảm bảo rằngứng dụng không chỉ hấp dẫn mà còn dễ sử dụng Các nhà phát triển có thể chọn phát triểnứng dụng gốc cho các nền tảng riêng biệt như iOS và Android, sử dụng ngôn ngữ lậptrình và công cụ đặc thù như Swift và Xcode cho iOS, hoặc Java/Kotlin và AndroidStudio cho Android Alternately, họ có thể chọn phương pháp phát triển đa nền tảng vớicác công cụ như React Native, Flutter, hoặc Xamarin, cho phép xây dựng ứng dụng mộtlần và triển khai trên nhiều hệ điều hành Sau khi ứng dụng được phát triển, nó phải trảiqua các giai đoạn kiểm thử nghiêm ngặt để đảm bảo chất lượng và hiệu suất, bao gồmkiểm thử chức năng, hiệu suất và bảo mật Việc triển khai ứng dụng lên các cửa hàng ứngdụng như Apple App Store và Google Play Store là bước tiếp theo, theo đó là việc bảo trì
và cập nhật ứng dụng để giải quyết các vấn đề và cải thiện tính năng dựa trên phản hồi từngười dùng Trong bối cảnh hiện tại, các xu hướng nổi bật bao gồm tích hợp trí tuệ nhântạo (AI) để cung cấp tính năng thông minh, thực tế tăng cường (AR) để tạo trải nghiệmtương tác mới mẻ, và Internet of Things (IoT) để kết nối và điều khiển các thiết bị từ xa.Đồng thời, việc bảo mật cũng được chú trọng với các biện pháp như mã hóa dữ liệu vàxác thực hai yếu tố, nhằm bảo vệ thông tin người dùng và duy trì sự tin cậy của ứng dụng
1.2 Intent
Intent có thể được hiểu đơn giản là một "thông điệp" mà một thành phần của ứng
dụng gửi đi để yêu cầu một thành phần khác thực hiện một hành động nào đó Nó giốngnhư một tấm vé mời, chỉ rõ cho thành phần nhận được biết cần phải làm gì và với dữ liệunào
Các loại Intent
Explicit Intent: Bạn chỉ rõ chính xác thành phần nào sẽ nhận và xử lý intent
Trang 7I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 8DANH SÁCH BẢNG BIỂU
MỤC LỤC
DANH SÁCH HÌNH ẢNH 3
DANH SÁCH BẢNG BIỂU 3
MỤC LỤC 3
I.GIỚI THIỆU ĐỀ TÀI 5
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm 6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 7
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng 7
1.2 Intent 7
1.3 Intent filter 8
1.4 Activity 8
1.5 Web Service 11
1.6 API cho thiết bị di động 13
1.7 Layout 14
1.8 View trong Android 15
1.9 Cấu trúc một Project trong Android Studio 17
CHƯƠNG II: PHÁT TRIỂN ỨNG DỤNG 19
2.1 Giới thiệu tổng quan đề tài 19
2.2 Khảo sát thực trạng 21
2.3 Phân tích bài toán 22
2.4 Mô hình phân rã chức năng 24
2.5 Thiết kế giao diện 24
Trang 9I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 10CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 30
3.1 Cấu trúc mã nguồn 30
3.2 Cấu trúc dữ liệu 30
3.3 Mô tả cấu trúc chương trình 30
CHƯƠNG 4 : KIỂM THỬ 30
4.1 Cấu trúc mã nguồn 30
4.2 Kiểm thử unit test case 30
4.3 Nội dung đã đạt được 30
4.4 Nội dung chưa đạt được 30
4.5 Dự kiến phát triển 30
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30
https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-2515420.html 30
Trang 11CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng
Phát triển ứng dụng cho thiết bị di động là một lĩnh vực đang bùng nổ và đổi mớinhanh chóng, với nhiều yếu tố quan trọng từ khâu thiết kế đến triển khai và bảo trì Quátrình phát triển bắt đầu bằng việc xác định các yêu cầu và mục tiêu của ứng dụng, sau đó
là thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) để đảm bảo rằngứng dụng không chỉ hấp dẫn mà còn dễ sử dụng Các nhà phát triển có thể chọn phát triểnứng dụng gốc cho các nền tảng riêng biệt như iOS và Android, sử dụng ngôn ngữ lậptrình và công cụ đặc thù như Swift và Xcode cho iOS, hoặc Java/Kotlin và AndroidStudio cho Android Alternately, họ có thể chọn phương pháp phát triển đa nền tảng vớicác công cụ như React Native, Flutter, hoặc Xamarin, cho phép xây dựng ứng dụng mộtlần và triển khai trên nhiều hệ điều hành Sau khi ứng dụng được phát triển, nó phải trảiqua các giai đoạn kiểm thử nghiêm ngặt để đảm bảo chất lượng và hiệu suất, bao gồmkiểm thử chức năng, hiệu suất và bảo mật Việc triển khai ứng dụng lên các cửa hàng ứngdụng như Apple App Store và Google Play Store là bước tiếp theo, theo đó là việc bảo trì
và cập nhật ứng dụng để giải quyết các vấn đề và cải thiện tính năng dựa trên phản hồi từngười dùng Trong bối cảnh hiện tại, các xu hướng nổi bật bao gồm tích hợp trí tuệ nhântạo (AI) để cung cấp tính năng thông minh, thực tế tăng cường (AR) để tạo trải nghiệmtương tác mới mẻ, và Internet of Things (IoT) để kết nối và điều khiển các thiết bị từ xa.Đồng thời, việc bảo mật cũng được chú trọng với các biện pháp như mã hóa dữ liệu vàxác thực hai yếu tố, nhằm bảo vệ thông tin người dùng và duy trì sự tin cậy của ứng dụng
1.2 Intent
Intent có thể được hiểu đơn giản là một "thông điệp" mà một thành phần của ứng
dụng gửi đi để yêu cầu một thành phần khác thực hiện một hành động nào đó Nó giốngnhư một tấm vé mời, chỉ rõ cho thành phần nhận được biết cần phải làm gì và với dữ liệunào
Các loại Intent
Explicit Intent: Bạn chỉ rõ chính xác thành phần nào sẽ nhận và xử lý intentnày
Trang 12CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 30
3.1 Cấu trúc mã nguồn 30
3.2 Cấu trúc dữ liệu 30
3.3 Mô tả cấu trúc chương trình 30
CHƯƠNG 4 : KIỂM THỬ 30
4.1 Cấu trúc mã nguồn 30
4.2 Kiểm thử unit test case 30
4.3 Nội dung đã đạt được 30
4.4 Nội dung chưa đạt được 30
4.5 Dự kiến phát triển 30
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30
https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-2515420.html 30
Trang 13DANH SÁCH BẢNG BIỂU
MỤC LỤC
DANH SÁCH HÌNH ẢNH 3
DANH SÁCH BẢNG BIỂU 3
MỤC LỤC 3
I.GIỚI THIỆU ĐỀ TÀI 5
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm 6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 7
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng 7
1.2 Intent 7
1.3 Intent filter 8
1.4 Activity 8
1.5 Web Service 11
1.6 API cho thiết bị di động 13
1.7 Layout 14
1.8 View trong Android 15
1.9 Cấu trúc một Project trong Android Studio 17
CHƯƠNG II: PHÁT TRIỂN ỨNG DỤNG 19
2.1 Giới thiệu tổng quan đề tài 19
2.2 Khảo sát thực trạng 21
2.3 Phân tích bài toán 22
2.4 Mô hình phân rã chức năng 24
2.5 Thiết kế giao diện 24
2.6 Mô tả giao diện 24
Trang 14LỜI MỞ ĐẦU
Trong thế giới công nghệ ngày nay, thiết bị di động đã trở thành một phần thiết yếucủa cuộc sống hàng ngày Từ việc kết nối với bạn bè và gia đình, đến việc thực hiện cácgiao dịch tài chính, quản lý công việc và giải trí, những chiếc smartphone và máy tínhbảng đã thay đổi cách chúng ta tương tác với thế giới Vì vậy, việc phát triển ứng dụngcho thiết bị di động không chỉ là một lĩnh vực học tập hấp dẫn mà còn là một ngành nghềđầy triển vọng và tiềm năng
Môn học "Phát triển ứng dụng cho thiết bị di động" được thiết kế để cung cấp cho bạn cáinhìn toàn diện và sâu sắc về quá trình tạo ra những ứng dụng di động hiệu quả và sángtạo Trong khóa học này, bạn sẽ được giới thiệu về các công cụ và công nghệ chính, từnền tảng phát triển như Android và iOS đến các ngôn ngữ lập trình phổ biến như Java,Kotlin, Swift và React Native Bạn sẽ học cách thiết kế giao diện người dùng thân thiện,tối ưu hóa hiệu suất ứng dụng và đảm bảo tính bảo mật
Hơn nữa, môn học không chỉ tập trung vào lý thuyết mà còn chú trọng đến thực hành.Bạn sẽ có cơ hội làm việc trên các dự án thực tế, giải quyết các bài toán phát triển ứngdụng và tiếp cận các công nghệ mới nhất Qua đó, bạn sẽ không chỉ nâng cao kỹ năng lậptrình mà còn phát triển khả năng tư duy sáng tạo và giải quyết vấn đề
Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết
để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và góp phần vào sự phát triển không ngừng của ngành công nghệ di động
Trang 15Activity chỉ định là Main Activity, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng.Activity này có thể gọi và kích hoạt một Activity khác.
Vòng đời của Activity
Vòng đời của một Activity được quản lý bởi hệ điều hành Android Hệ điều hành
sẽ kích hoạt các phương thức khác nhau trong vòng đời của Activity khi trạng thái của nóthay đổi (ví dụ: khi được tạo, khi bắt đầu hiển thị, khi dừng lại, v.v.) Ảnh sơ đồ vòng đời
activity
Hình 1.4: Vòng đời của Activity
Mô tả sơ đồ vòng đời Activity
Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity được kích hoạt, và được
hệ thống đẩy vào BackStack Sau khi kích hoạt, lần lượt các callback onCreate(),
Trang 16CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 30
3.1 Cấu trúc mã nguồn 30
3.2 Cấu trúc dữ liệu 30
3.3 Mô tả cấu trúc chương trình 30
CHƯƠNG 4 : KIỂM THỬ 30
4.1 Cấu trúc mã nguồn 30
4.2 Kiểm thử unit test case 30
4.3 Nội dung đã đạt được 30
4.4 Nội dung chưa đạt được 30
4.5 Dự kiến phát triển 30
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30
https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-2515420.html 30
Trang 17LỜI MỞ ĐẦU
Trong thế giới công nghệ ngày nay, thiết bị di động đã trở thành một phần thiết yếucủa cuộc sống hàng ngày Từ việc kết nối với bạn bè và gia đình, đến việc thực hiện cácgiao dịch tài chính, quản lý công việc và giải trí, những chiếc smartphone và máy tínhbảng đã thay đổi cách chúng ta tương tác với thế giới Vì vậy, việc phát triển ứng dụngcho thiết bị di động không chỉ là một lĩnh vực học tập hấp dẫn mà còn là một ngành nghềđầy triển vọng và tiềm năng
Môn học "Phát triển ứng dụng cho thiết bị di động" được thiết kế để cung cấp cho bạn cáinhìn toàn diện và sâu sắc về quá trình tạo ra những ứng dụng di động hiệu quả và sángtạo Trong khóa học này, bạn sẽ được giới thiệu về các công cụ và công nghệ chính, từnền tảng phát triển như Android và iOS đến các ngôn ngữ lập trình phổ biến như Java,Kotlin, Swift và React Native Bạn sẽ học cách thiết kế giao diện người dùng thân thiện,tối ưu hóa hiệu suất ứng dụng và đảm bảo tính bảo mật
Hơn nữa, môn học không chỉ tập trung vào lý thuyết mà còn chú trọng đến thực hành.Bạn sẽ có cơ hội làm việc trên các dự án thực tế, giải quyết các bài toán phát triển ứngdụng và tiếp cận các công nghệ mới nhất Qua đó, bạn sẽ không chỉ nâng cao kỹ năng lậptrình mà còn phát triển khả năng tư duy sáng tạo và giải quyết vấn đề
Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết
để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và góp phần vào sự phát triển không ngừng của ngành công nghệ di động
Trang 18I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 19LỜI MỞ ĐẦU
Trong thế giới công nghệ ngày nay, thiết bị di động đã trở thành một phần thiết yếucủa cuộc sống hàng ngày Từ việc kết nối với bạn bè và gia đình, đến việc thực hiện cácgiao dịch tài chính, quản lý công việc và giải trí, những chiếc smartphone và máy tínhbảng đã thay đổi cách chúng ta tương tác với thế giới Vì vậy, việc phát triển ứng dụngcho thiết bị di động không chỉ là một lĩnh vực học tập hấp dẫn mà còn là một ngành nghềđầy triển vọng và tiềm năng
Môn học "Phát triển ứng dụng cho thiết bị di động" được thiết kế để cung cấp cho bạn cáinhìn toàn diện và sâu sắc về quá trình tạo ra những ứng dụng di động hiệu quả và sángtạo Trong khóa học này, bạn sẽ được giới thiệu về các công cụ và công nghệ chính, từnền tảng phát triển như Android và iOS đến các ngôn ngữ lập trình phổ biến như Java,Kotlin, Swift và React Native Bạn sẽ học cách thiết kế giao diện người dùng thân thiện,tối ưu hóa hiệu suất ứng dụng và đảm bảo tính bảo mật
Hơn nữa, môn học không chỉ tập trung vào lý thuyết mà còn chú trọng đến thực hành.Bạn sẽ có cơ hội làm việc trên các dự án thực tế, giải quyết các bài toán phát triển ứngdụng và tiếp cận các công nghệ mới nhất Qua đó, bạn sẽ không chỉ nâng cao kỹ năng lậptrình mà còn phát triển khả năng tư duy sáng tạo và giải quyết vấn đề
Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết
để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và góp phần vào sự phát triển không ngừng của ngành công nghệ di động
Trang 20 Implicit Intent: Bạn chỉ mô tả hành động cần thực hiện, hệ thống Android sẽ
tự động tìm kiếm các ứng dụng đã đăng ký có thể xử lý yêu cầu đó
Ví dụ
Bạn muốn mở một trang web cụ thể trong trình duyệt Bạn sẽ tạo một Intent chỉ rõhành động là "mở trang web" và kèm theo URL của trang đó Hệ thống sẽ tìm ứng dụngtrình duyệt mặc định và chuyển Intent đến ứng dụng này
1.3 Intent filter
Intent Filter như một bộ lọc, nó được gắn vào các thành phần của ứng dụng
(Activity, Service, BroadcastReceiver) để xác định loại Intent mà thành phần đó có thể xửlý
Các phần của Intent Filter
Action: Hành động mà thành phần có thể xử lý (ví dụ: ACTION_VIEW,ACTION_SEND)
Data: Loại dữ liệu mà thành phần có thể xử lý (ví dụ: text/plain, image/*)
Category: Danh mục mà thành phần thuộc về
Ví dụ
Một Activity có Intent Filter với Action là ACTION_VIEW và Data là text/plain cónghĩa là Activity này có thể mở các file văn bản
1.4 Activity
Giới thiệu về Activity
Lớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách mà chúnghoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng Android khởi chạymột ứng dụng thông thường bằng kích hoạt một Activity tương ứng với vòng đời cụ thểcủa nó trong quá trình hoạt động
Thường một Activity cung cấp một của sổ, ở đó ứng dụng sẽ dựng các thành phần
UI (User Interface - giao diện người dùng) Mặc định cửa sổ này có thể lấp đầy mà hìnhthiết bị, nhỏ hơn hoặc nổi phía trên các cửa sổ khác Hầu hết các ứng dụng đều sử dụngnhiều màn hình khác nhau, có nghĩa nó sẽ phải có nhiều Activity khác nhau Khi một
Trang 21I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 22 Implicit Intent: Bạn chỉ mô tả hành động cần thực hiện, hệ thống Android sẽ
tự động tìm kiếm các ứng dụng đã đăng ký có thể xử lý yêu cầu đó
Ví dụ
Bạn muốn mở một trang web cụ thể trong trình duyệt Bạn sẽ tạo một Intent chỉ rõhành động là "mở trang web" và kèm theo URL của trang đó Hệ thống sẽ tìm ứng dụngtrình duyệt mặc định và chuyển Intent đến ứng dụng này
1.3 Intent filter
Intent Filter như một bộ lọc, nó được gắn vào các thành phần của ứng dụng
(Activity, Service, BroadcastReceiver) để xác định loại Intent mà thành phần đó có thể xửlý
Các phần của Intent Filter
Action: Hành động mà thành phần có thể xử lý (ví dụ: ACTION_VIEW,ACTION_SEND)
Data: Loại dữ liệu mà thành phần có thể xử lý (ví dụ: text/plain, image/*)
Category: Danh mục mà thành phần thuộc về
Ví dụ
Một Activity có Intent Filter với Action là ACTION_VIEW và Data là text/plain cónghĩa là Activity này có thể mở các file văn bản
1.4 Activity
Giới thiệu về Activity
Lớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách mà chúnghoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng Android khởi chạymột ứng dụng thông thường bằng kích hoạt một Activity tương ứng với vòng đời cụ thểcủa nó trong quá trình hoạt động
Thường một Activity cung cấp một của sổ, ở đó ứng dụng sẽ dựng các thành phần
UI (User Interface - giao diện người dùng) Mặc định cửa sổ này có thể lấp đầy mà hìnhthiết bị, nhỏ hơn hoặc nổi phía trên các cửa sổ khác Hầu hết các ứng dụng đều sử dụngnhiều màn hình khác nhau, có nghĩa nó sẽ phải có nhiều Activity khác nhau Khi một
Trang 23Activity chỉ định là Main Activity, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng.Activity này có thể gọi và kích hoạt một Activity khác.
Vòng đời của Activity
Vòng đời của một Activity được quản lý bởi hệ điều hành Android Hệ điều hành
sẽ kích hoạt các phương thức khác nhau trong vòng đời của Activity khi trạng thái của nóthay đổi (ví dụ: khi được tạo, khi bắt đầu hiển thị, khi dừng lại, v.v.) Ảnh sơ đồ vòng đời
activity
Hình 1.4: Vòng đời của Activity
Mô tả sơ đồ vòng đời Activity
Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity được kích hoạt, và được
hệ thống đẩy vào BackStack Sau khi kích hoạt, lần lượt các callback onCreate(),
Trang 24CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 303.1 Cấu trúc mã nguồn 303.2 Cấu trúc dữ liệu 303.3 Mô tả cấu trúc chương trình 30CHƯƠNG 4 : KIỂM THỬ 304.1 Cấu trúc mã nguồn 304.2 Kiểm thử unit test case 304.3 Nội dung đã đạt được 304.4 Nội dung chưa đạt được 304.5 Dự kiến phát triển 30KẾT LUẬN 30TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-
2515420.html 30
Trang 25 Implicit Intent: Bạn chỉ mô tả hành động cần thực hiện, hệ thống Android sẽ
tự động tìm kiếm các ứng dụng đã đăng ký có thể xử lý yêu cầu đó
Ví dụ
Bạn muốn mở một trang web cụ thể trong trình duyệt Bạn sẽ tạo một Intent chỉ rõhành động là "mở trang web" và kèm theo URL của trang đó Hệ thống sẽ tìm ứng dụngtrình duyệt mặc định và chuyển Intent đến ứng dụng này
1.3 Intent filter
Intent Filter như một bộ lọc, nó được gắn vào các thành phần của ứng dụng
(Activity, Service, BroadcastReceiver) để xác định loại Intent mà thành phần đó có thể xửlý
Các phần của Intent Filter
Action: Hành động mà thành phần có thể xử lý (ví dụ: ACTION_VIEW,ACTION_SEND)
Data: Loại dữ liệu mà thành phần có thể xử lý (ví dụ: text/plain, image/*)
Category: Danh mục mà thành phần thuộc về
Ví dụ
Một Activity có Intent Filter với Action là ACTION_VIEW và Data là text/plain cónghĩa là Activity này có thể mở các file văn bản
1.4 Activity
Giới thiệu về Activity
Lớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách mà chúnghoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng Android khởi chạymột ứng dụng thông thường bằng kích hoạt một Activity tương ứng với vòng đời cụ thểcủa nó trong quá trình hoạt động
Thường một Activity cung cấp một của sổ, ở đó ứng dụng sẽ dựng các thành phần
UI (User Interface - giao diện người dùng) Mặc định cửa sổ này có thể lấp đầy mà hìnhthiết bị, nhỏ hơn hoặc nổi phía trên các cửa sổ khác Hầu hết các ứng dụng đều sử dụngnhiều màn hình khác nhau, có nghĩa nó sẽ phải có nhiều Activity khác nhau Khi một
Trang 26DANH SÁCH BẢNG BIỂU
MỤC LỤC
DANH SÁCH HÌNH ẢNH 3DANH SÁCH BẢNG BIỂU 3MỤC LỤC 3
I.GIỚI THIỆU ĐỀ TÀI 5 II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm 6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 71.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng 71.2 Intent 71.3 Intent filter 81.4 Activity 81.5 Web Service 111.6 API cho thiết bị di động 131.7 Layout 141.8 View trong Android 151.9 Cấu trúc một Project trong Android Studio 17CHƯƠNG II: PHÁT TRIỂN ỨNG DỤNG 192.1 Giới thiệu tổng quan đề tài 192.2 Khảo sát thực trạng 212.3 Phân tích bài toán 222.4 Mô hình phân rã chức năng 242.5 Thiết kế giao diện 24
Trang 27CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng
Phát triển ứng dụng cho thiết bị di động là một lĩnh vực đang bùng nổ và đổi mớinhanh chóng, với nhiều yếu tố quan trọng từ khâu thiết kế đến triển khai và bảo trì Quátrình phát triển bắt đầu bằng việc xác định các yêu cầu và mục tiêu của ứng dụng, sau đó
là thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) để đảm bảo rằngứng dụng không chỉ hấp dẫn mà còn dễ sử dụng Các nhà phát triển có thể chọn phát triểnứng dụng gốc cho các nền tảng riêng biệt như iOS và Android, sử dụng ngôn ngữ lậptrình và công cụ đặc thù như Swift và Xcode cho iOS, hoặc Java/Kotlin và AndroidStudio cho Android Alternately, họ có thể chọn phương pháp phát triển đa nền tảng vớicác công cụ như React Native, Flutter, hoặc Xamarin, cho phép xây dựng ứng dụng mộtlần và triển khai trên nhiều hệ điều hành Sau khi ứng dụng được phát triển, nó phải trảiqua các giai đoạn kiểm thử nghiêm ngặt để đảm bảo chất lượng và hiệu suất, bao gồmkiểm thử chức năng, hiệu suất và bảo mật Việc triển khai ứng dụng lên các cửa hàng ứngdụng như Apple App Store và Google Play Store là bước tiếp theo, theo đó là việc bảo trì
và cập nhật ứng dụng để giải quyết các vấn đề và cải thiện tính năng dựa trên phản hồi từngười dùng Trong bối cảnh hiện tại, các xu hướng nổi bật bao gồm tích hợp trí tuệ nhântạo (AI) để cung cấp tính năng thông minh, thực tế tăng cường (AR) để tạo trải nghiệmtương tác mới mẻ, và Internet of Things (IoT) để kết nối và điều khiển các thiết bị từ xa.Đồng thời, việc bảo mật cũng được chú trọng với các biện pháp như mã hóa dữ liệu vàxác thực hai yếu tố, nhằm bảo vệ thông tin người dùng và duy trì sự tin cậy của ứng dụng
1.2 Intent
Intent có thể được hiểu đơn giản là một "thông điệp" mà một thành phần của ứng
dụng gửi đi để yêu cầu một thành phần khác thực hiện một hành động nào đó Nó giốngnhư một tấm vé mời, chỉ rõ cho thành phần nhận được biết cần phải làm gì và với dữ liệunào
Các loại Intent
Explicit Intent: Bạn chỉ rõ chính xác thành phần nào sẽ nhận và xử lý intentnày
Trang 28Activity chỉ định là Main Activity, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng.Activity này có thể gọi và kích hoạt một Activity khác.
Vòng đời của Activity
Vòng đời của một Activity được quản lý bởi hệ điều hành Android Hệ điều hành
sẽ kích hoạt các phương thức khác nhau trong vòng đời của Activity khi trạng thái của nóthay đổi (ví dụ: khi được tạo, khi bắt đầu hiển thị, khi dừng lại, v.v.) Ảnh sơ đồ vòng đời
activity
Hình 1.4: Vòng đời của Activity
Mô tả sơ đồ vòng đời Activity
Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity được kích hoạt, và được
Trang 29CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 303.1 Cấu trúc mã nguồn 303.2 Cấu trúc dữ liệu 303.3 Mô tả cấu trúc chương trình 30CHƯƠNG 4 : KIỂM THỬ 304.1 Cấu trúc mã nguồn 304.2 Kiểm thử unit test case 304.3 Nội dung đã đạt được 304.4 Nội dung chưa đạt được 304.5 Dự kiến phát triển 30KẾT LUẬN 30TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-
2515420.html 30
Trang 30Activity chỉ định là Main Activity, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng.Activity này có thể gọi và kích hoạt một Activity khác.
Vòng đời của Activity
Vòng đời của một Activity được quản lý bởi hệ điều hành Android Hệ điều hành
sẽ kích hoạt các phương thức khác nhau trong vòng đời của Activity khi trạng thái của nóthay đổi (ví dụ: khi được tạo, khi bắt đầu hiển thị, khi dừng lại, v.v.) Ảnh sơ đồ vòng đời
activity
Hình 1.4: Vòng đời của Activity
Mô tả sơ đồ vòng đời Activity
Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity được kích hoạt, và được
Trang 31CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 303.1 Cấu trúc mã nguồn 303.2 Cấu trúc dữ liệu 303.3 Mô tả cấu trúc chương trình 30CHƯƠNG 4 : KIỂM THỬ 304.1 Cấu trúc mã nguồn 304.2 Kiểm thử unit test case 304.3 Nội dung đã đạt được 304.4 Nội dung chưa đạt được 304.5 Dự kiến phát triển 30KẾT LUẬN 30TÀI LIỆU THAM KHẢO 30
1 Tài liệu 30https://tailieu.vn/doc/bai-giang-phat-trien-ung-dung-cho-cac-thiet-bi-di-dong-phan-1-
2515420.html 30
Trang 32CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng
Phát triển ứng dụng cho thiết bị di động là một lĩnh vực đang bùng nổ và đổi mớinhanh chóng, với nhiều yếu tố quan trọng từ khâu thiết kế đến triển khai và bảo trì Quátrình phát triển bắt đầu bằng việc xác định các yêu cầu và mục tiêu của ứng dụng, sau đó
là thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) để đảm bảo rằngứng dụng không chỉ hấp dẫn mà còn dễ sử dụng Các nhà phát triển có thể chọn phát triểnứng dụng gốc cho các nền tảng riêng biệt như iOS và Android, sử dụng ngôn ngữ lậptrình và công cụ đặc thù như Swift và Xcode cho iOS, hoặc Java/Kotlin và AndroidStudio cho Android Alternately, họ có thể chọn phương pháp phát triển đa nền tảng vớicác công cụ như React Native, Flutter, hoặc Xamarin, cho phép xây dựng ứng dụng mộtlần và triển khai trên nhiều hệ điều hành Sau khi ứng dụng được phát triển, nó phải trảiqua các giai đoạn kiểm thử nghiêm ngặt để đảm bảo chất lượng và hiệu suất, bao gồmkiểm thử chức năng, hiệu suất và bảo mật Việc triển khai ứng dụng lên các cửa hàng ứngdụng như Apple App Store và Google Play Store là bước tiếp theo, theo đó là việc bảo trì
và cập nhật ứng dụng để giải quyết các vấn đề và cải thiện tính năng dựa trên phản hồi từngười dùng Trong bối cảnh hiện tại, các xu hướng nổi bật bao gồm tích hợp trí tuệ nhântạo (AI) để cung cấp tính năng thông minh, thực tế tăng cường (AR) để tạo trải nghiệmtương tác mới mẻ, và Internet of Things (IoT) để kết nối và điều khiển các thiết bị từ xa.Đồng thời, việc bảo mật cũng được chú trọng với các biện pháp như mã hóa dữ liệu vàxác thực hai yếu tố, nhằm bảo vệ thông tin người dùng và duy trì sự tin cậy của ứng dụng
1.2 Intent
Intent có thể được hiểu đơn giản là một "thông điệp" mà một thành phần của ứng
dụng gửi đi để yêu cầu một thành phần khác thực hiện một hành động nào đó Nó giốngnhư một tấm vé mời, chỉ rõ cho thành phần nhận được biết cần phải làm gì và với dữ liệunào
Các loại Intent
Explicit Intent: Bạn chỉ rõ chính xác thành phần nào sẽ nhận và xử lý intent
Trang 33LỜI MỞ ĐẦU
Trong thế giới công nghệ ngày nay, thiết bị di động đã trở thành một phần thiết yếucủa cuộc sống hàng ngày Từ việc kết nối với bạn bè và gia đình, đến việc thực hiện cácgiao dịch tài chính, quản lý công việc và giải trí, những chiếc smartphone và máy tínhbảng đã thay đổi cách chúng ta tương tác với thế giới Vì vậy, việc phát triển ứng dụngcho thiết bị di động không chỉ là một lĩnh vực học tập hấp dẫn mà còn là một ngành nghềđầy triển vọng và tiềm năng
Môn học "Phát triển ứng dụng cho thiết bị di động" được thiết kế để cung cấp cho bạn cáinhìn toàn diện và sâu sắc về quá trình tạo ra những ứng dụng di động hiệu quả và sángtạo Trong khóa học này, bạn sẽ được giới thiệu về các công cụ và công nghệ chính, từnền tảng phát triển như Android và iOS đến các ngôn ngữ lập trình phổ biến như Java,Kotlin, Swift và React Native Bạn sẽ học cách thiết kế giao diện người dùng thân thiện,tối ưu hóa hiệu suất ứng dụng và đảm bảo tính bảo mật
Hơn nữa, môn học không chỉ tập trung vào lý thuyết mà còn chú trọng đến thực hành.Bạn sẽ có cơ hội làm việc trên các dự án thực tế, giải quyết các bài toán phát triển ứngdụng và tiếp cận các công nghệ mới nhất Qua đó, bạn sẽ không chỉ nâng cao kỹ năng lậptrình mà còn phát triển khả năng tư duy sáng tạo và giải quyết vấn đề
Hy vọng rằng, qua môn học này, bạn sẽ có được kiến thức vững vàng và kỹ năng cần thiết
để tạo ra những ứng dụng di động chất lượng cao, đáp ứng nhu cầu ngày càng đa dạngcủa người dùng và góp phần vào sự phát triển không ngừng của ngành công nghệ di động
Trang 34Activity chỉ định là Main Activity, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng.Activity này có thể gọi và kích hoạt một Activity khác.
Vòng đời của Activity
Vòng đời của một Activity được quản lý bởi hệ điều hành Android Hệ điều hành
sẽ kích hoạt các phương thức khác nhau trong vòng đời của Activity khi trạng thái của nóthay đổi (ví dụ: khi được tạo, khi bắt đầu hiển thị, khi dừng lại, v.v.) Ảnh sơ đồ vòng đời
activity
Hình 1.4: Vòng đời của Activity
Mô tả sơ đồ vòng đời Activity
Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity được kích hoạt, và được
Trang 35 Implicit Intent: Bạn chỉ mô tả hành động cần thực hiện, hệ thống Android sẽ
tự động tìm kiếm các ứng dụng đã đăng ký có thể xử lý yêu cầu đó
Ví dụ
Bạn muốn mở một trang web cụ thể trong trình duyệt Bạn sẽ tạo một Intent chỉ rõhành động là "mở trang web" và kèm theo URL của trang đó Hệ thống sẽ tìm ứng dụngtrình duyệt mặc định và chuyển Intent đến ứng dụng này
1.3 Intent filter
Intent Filter như một bộ lọc, nó được gắn vào các thành phần của ứng dụng
(Activity, Service, BroadcastReceiver) để xác định loại Intent mà thành phần đó có thể xửlý
Các phần của Intent Filter
Action: Hành động mà thành phần có thể xử lý (ví dụ: ACTION_VIEW,ACTION_SEND)
Data: Loại dữ liệu mà thành phần có thể xử lý (ví dụ: text/plain, image/*)
Category: Danh mục mà thành phần thuộc về
Ví dụ
Một Activity có Intent Filter với Action là ACTION_VIEW và Data là text/plain cónghĩa là Activity này có thể mở các file văn bản
1.4 Activity
Giới thiệu về Activity
Lớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách mà chúnghoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng Android khởi chạymột ứng dụng thông thường bằng kích hoạt một Activity tương ứng với vòng đời cụ thểcủa nó trong quá trình hoạt động
Thường một Activity cung cấp một của sổ, ở đó ứng dụng sẽ dựng các thành phần
UI (User Interface - giao diện người dùng) Mặc định cửa sổ này có thể lấp đầy mà hìnhthiết bị, nhỏ hơn hoặc nổi phía trên các cửa sổ khác Hầu hết các ứng dụng đều sử dụngnhiều màn hình khác nhau, có nghĩa nó sẽ phải có nhiều Activity khác nhau Khi một
Trang 36I.GIỚI THIỆU ĐỀ TÀI
"Xây dựng Ứng dụng Hướng dẫn Nấu ăn Thông minh trên Nền tảng Android Sửdụng Android Studio" nhằm phát triển một giải pháp di động tiên tiến giúp người dùng dễdàng tìm kiếm và thực hiện các công thức nấu ăn ngay trên thiết bị Android của họ Ứngdụng sẽ được xây dựng bằng Android Studio, một công cụ phát triển chính thức củaGoogle, và sẽ tích hợp nhiều tính năng thông minh để nâng cao trải nghiệm nấu ăn Cụthể, ứng dụng sẽ cung cấp giao diện người dùng thân thiện với các công cụ tìm kiếm vàlọc công thức, hướng dẫn nấu ăn từng bước với hình ảnh và video minh họa, cùng tínhnăng quản lý danh sách nguyên liệu và ước lượng chi phí Thêm vào đó, các chức năng cánhân hóa như lưu trữ món ăn yêu thích và gợi ý dựa trên thói quen của người dùng sẽđược tích hợp để tạo ra một trải nghiệm nấu ăn độc đáo và tiện lợi Bằng cách kết hợp cáccông nghệ tiên tiến và cơ sở dữ liệu mạnh mẽ, ứng dụng không chỉ giúp người dùng tiếtkiệm thời gian và công sức mà còn nâng cao kỹ năng nấu ăn và cải thiện chất lượng bữa
ăn tại gia
II.Danh sách thành viên và phân công công việc của từng thành viên trong nhóm
Stt Công
việc
Người phụ trách
Hỗ trợ Kết quả dự kiến Thời gian Ghi chú
1
2
3
Trang 37CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về phát triển ứng dụng cho thiết bị di dộng
Phát triển ứng dụng cho thiết bị di động là một lĩnh vực đang bùng nổ và đổi mớinhanh chóng, với nhiều yếu tố quan trọng từ khâu thiết kế đến triển khai và bảo trì Quátrình phát triển bắt đầu bằng việc xác định các yêu cầu và mục tiêu của ứng dụng, sau đó
là thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) để đảm bảo rằngứng dụng không chỉ hấp dẫn mà còn dễ sử dụng Các nhà phát triển có thể chọn phát triểnứng dụng gốc cho các nền tảng riêng biệt như iOS và Android, sử dụng ngôn ngữ lậptrình và công cụ đặc thù như Swift và Xcode cho iOS, hoặc Java/Kotlin và AndroidStudio cho Android Alternately, họ có thể chọn phương pháp phát triển đa nền tảng vớicác công cụ như React Native, Flutter, hoặc Xamarin, cho phép xây dựng ứng dụng mộtlần và triển khai trên nhiều hệ điều hành Sau khi ứng dụng được phát triển, nó phải trảiqua các giai đoạn kiểm thử nghiêm ngặt để đảm bảo chất lượng và hiệu suất, bao gồmkiểm thử chức năng, hiệu suất và bảo mật Việc triển khai ứng dụng lên các cửa hàng ứngdụng như Apple App Store và Google Play Store là bước tiếp theo, theo đó là việc bảo trì
và cập nhật ứng dụng để giải quyết các vấn đề và cải thiện tính năng dựa trên phản hồi từngười dùng Trong bối cảnh hiện tại, các xu hướng nổi bật bao gồm tích hợp trí tuệ nhântạo (AI) để cung cấp tính năng thông minh, thực tế tăng cường (AR) để tạo trải nghiệmtương tác mới mẻ, và Internet of Things (IoT) để kết nối và điều khiển các thiết bị từ xa.Đồng thời, việc bảo mật cũng được chú trọng với các biện pháp như mã hóa dữ liệu vàxác thực hai yếu tố, nhằm bảo vệ thông tin người dùng và duy trì sự tin cậy của ứng dụng
1.2 Intent
Intent có thể được hiểu đơn giản là một "thông điệp" mà một thành phần của ứng
dụng gửi đi để yêu cầu một thành phần khác thực hiện một hành động nào đó Nó giốngnhư một tấm vé mời, chỉ rõ cho thành phần nhận được biết cần phải làm gì và với dữ liệunào
Các loại Intent
Explicit Intent: Bạn chỉ rõ chính xác thành phần nào sẽ nhận và xử lý intentnày