Sự cần thiết của ứng dụng đặt đồ ăn trong thời đại công nghệ Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, việc sử dụng ứng dụngđặt đồ ăn không chỉ là một tiện ích mà còn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT-HÀN
KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT-HÀN
KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ
Trang 3NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN
Giáo viên
(Kí và ghi rõ họ tên)
2
Trang 4LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết
ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quátrình học tập và nghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu học tập tạitrường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô vàbạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Kỹ Thuật MáyTính & Điện Tử, đặt biệt thầy Nguyễn Như Sơn đã truyền đạt vốn kiến thức quý báucho chúng em trong suốt thời gian học tập tại trường Nhờ có những lời hướng dẫn,dạy bảo của các thầy cô nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp.Một lần nữa, em xin chân thành cảm ơn thầy – người đã trực tiếp giúp đỡ, quan tâm,hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua
Bài báo cáo thực hiện trong khoảng thời gian 2 tháng Bước đầu đi vào thực tế của emcòn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rất mongnhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của emtrong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ýthức của mình
Sinh viên
3
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 1
MỤC LỤC 1
CHƯƠNG 1: HỆ ĐIỀU HÀNH ANDROID 4
1.1 Giới thiệu về hệ điều hành android 4
1.2 Sự Phát Triển Của Hệ Điều Hành Android 5
1.3 Kiến Trúc Của Hệ Điều Hành Android 6
CHƯƠNG 2: MÔI TRƯỜNG LẬP TRÌNH ANDROID STUDIO 21
2.2 Cài Đặt Android Studio 23
2.2.1 Yêu Cầu Phần Cứng Máy Tính 23
2.2.2 Thiết Bị Ảo Trong Android Studio 23
2.3 Cấu Trúc Dự Án Android Studio 23
2.3.1 Tạo Mới Một Project 23
2.3.2 Cài Đặt Một Project 23
2.3.3 Màn hình làm việc của dự án Android Studio 23
2.4 Tạo Giao Diện Chương Trình Trong Android Studio 22
2.5 Biểu đồ hoạt động 23
2.4.1 Giới Thiệu Android Layout 23
2.4.2 Giới Thiệu Một Số Android View Cơ Bản 23
2.4.2 Bắt Và Xử Sự Kiện Trên Giao Diện 23
CHƯƠNG 3: KỸ THUẬT XÂY DỰNG ỨNG DỤNG ĐẶT ĐỒ ĂN 24
3.1 Tìm Hiểu Về Dịch Vụ Đặt Đồ Ăn 23
3.1.1 Khái Niệm 23
3.1.2 Các Tính Năng Nổi Bật Của App 23
3.2 Đăng Ký Và Sử Dụng App 28
CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM 21
4.1 Phát Biểu Bài Toán 23
4.2 Mô Hinh Chức Năng 23
4.3 Mô Hinh Hoạt Động 23
4.4 Thiết Kế Giao Diện Giao Chương Trình 23
4
Trang 64.5 Giao Diện Ứng Dụng 23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 29
TÀI LIỆU THAM KHẢO 32
5
Trang 7MỞ ĐẦU
1 Sự cần thiết của ứng dụng đặt đồ ăn trong thời đại công nghệ
Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, việc sử dụng ứng dụngđặt đồ ăn không chỉ là một tiện ích mà còn trở thành một phần không thể thiếu trongcuộc sống hàng ngày của chúng ta
Trong thời đại công nghệ hiện nay, ứng dụng đặt đồ ăn trở nên cực kỳ cần thiết vớinhiều lý do sau:
● Tiện lợi: Ứng dụng đặt đồ ăn cho phép người dùng chọn và đặt hàng từ một loạtcác nhà hàng và quán ăn một cách dễ dàng chỉ qua vài lần chạm trên điện thoại
di động của họ
● Tiết kiệm thời gian: Không cần phải đến nhà hàng hoặc gọi điện để đặt hàng,người dùng có thể lựa chọn và đặt món ăn từ bất kỳ đâu và bất kỳ lúc nào, tiếtkiệm thời gian di chuyển và chờ đợi
● Lựa chọn đa dạng: Với ứng dụng đặt đồ ăn, người dùng có thể dễ dàng tìmkiếm và chọn lựa từ một loạt các nhà hàng và thực đơn, từ đó mở rộng khả nănglựa chọn của họ
● Thanh toán tiện lợi: Ứng dụng thường cung cấp nhiều phương thức thanh toánkhác nhau, từ thanh toán trực tiếp qua ứng dụng đến việc sử dụng thẻ tín dụng,giúp người dùng thanh toán một cách thuận tiện và an toàn
● Đánh giá và đánh giá từ người dùng: Việc có thể đọc đánh giá và đánh giá từngười dùng trước khi đặt hàng giúp người dùng đảm bảo chất lượng của nhàhàng và món ăn trước khi quyết định đặt hàng
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Người tiêu dùng sử dụng ứng dụng đặt đồ ăn
6
Trang 8- Doanh nghiệp hoặc nhà hàng sử dụng hệ thống đặt đồ ăn qua ứng dụng.
- Cộng đồng địa phương hoặc cộng đồng trực tuyến ảnh hưởng bởi việc sửdụng ứng dụng đặt đồ ăn
Phạm vi nghiên cứu:
- Người tiêu dùng sử dụng ứng dụng đặt đồ ăn
- Doanh nghiệp hoặc nhà hàng sử dụng hệ thống đặt đồ ăn qua ứng dụng
- Cộng đồng địa phương hoặc cộng đồng trực tuyến ảnh hưởng bởi việc sửdụng ứng dụng đặt đồ ăn
4 Phương pháp nghiên cứu
nghiên cứu trước đây, báo cáo thị trường, và các tài liệu chính thức từcác doanh nghiệp hoạt động trong lĩnh vực đặt đồ ăn qua ứng dụng
Khảo sát trực tuyến và offlin e: Tiến hành các cuộc khảo sát trực
tuyến hoặc offline để thu thập ý kiến từ người tiêu dùng và doanhnghiệp Các câu hỏi có thể tập trung vào trải nghiệm người dùng, yêucầu cải tiến, và các thách thức mà họ đang phải đối mặt
Phân tích dữ liệu: Xử lý và phân tích dữ liệu thu thập từ các cuộckhảo sát để tìm ra các xu hướng, ý kiến phổ biến, và mối quan hệ giữacác biến số
bảo ứng dụng hoạt động chính xác và hiệu quả
5 Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa thực tiễn:
- Tăng trải nghiệm người dùng
7
Trang 9- Giúp cải thiện quản lý tồn kho, tối ưu hóa quy trình giao hàng và giảmthiểu lãng phí, từ đó tăng cường hiệu suất kinh doanh và lợi nhuận củacác nhà hàng
- Phát triển các phương thức thanh toán mới giúp người dùng thanh toánmột cách nhanh chóng và tiện lợi hơn, từ đó nâng cao trải nghiệm muasắm trực tuyến của họ
6 Cấu trúc của dự án
Dự án sẽ được chia thành các phần sau:
- CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID
- CHƯƠNG 2: MÔI TRƯỜNG LẬP TRÌNH ANDROID STUDIO
- CHƯƠNG 3: KỸ THUẬT XÂY DỰNG ỨNG DỤNG BÁN ĐỒ ĂN
- CHƯƠNG 4: ỨNG DỤNG BÁN ĐỒ ĂN
- CHƯƠNG 5: KẾT LUẬN & TÀI LIỆU THAM KHẢO
8
Trang 10CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH
1.1 Giới Thiệu Hệ Điều Hành Android
Android là một hệ điều hành dựa trên nền tảng Linux, được thiết kế dành cho cácthiết bị di động có màn hinh cảm ứng như điện thoại thông minh và máy tính bảng.Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính
từ Google và sau này được chính Google mua lại vào năm 2005
Chính nguồn mở của Android cùng với tính không ràng buộc nhiều đa cho phépcác nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và phânphối Android một cách tự do Ngoài ra, Android cờn có một cộng đồng lập trìnhviên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị Nhờ yếu tố mở, dễ dàng tinh chỉnh cùng sự phát triển nhanh chóng đã khiến hệđiều hành này dần trở nên phổ biến, kết quả là mặc dù được thiết kế để chạy trênđiện thoại và máy tính bảng nhưng giờ đây Android đã xuất hiện trên các smart TV,máy chơi game và một số thiết bị điện tử khác
Android bắt đầu với bản beta đầu tiên vào tháng 11 năm 2007 và phiên bảnthương mại đầu tiên, Android 1.0, được phát hành vào tháng 9 năm 2008 Kể từtháng 4 năm 2009, phiên bản Android được phát triển, đặt tên theo chủ đề bánh kẹo
và phát hành theo thứ tự bảng chữ cái: Cupcake, Donut, Eclair, Froyo, Gingerbread,Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow,Nougat và bây giờ là Oreo
Kỷ nguyên của Android chính thức bắt đầu vào ngày 22 tháng 10 năm 2008, khichiếc điện thoại T-Mobile G1 bắt đầu được bán ra tại Mỹ Vào thời gian đầu, rấtnhiều tính năng cơ bản bị thiếu sót như: bàn phím ảo, cảm ứng đa điểm và tính năngmua ứng dụng vẫn chưa xuất hiện
Tuy nhiên, một số tính năng cũng như giao diện đặc sản của hệ điều hành này đãkhởi nguồn từ chiếc G1 và trở thành những yếu tố không thể thiếu trên Android saunày
1.2 Sự Phát Triển Của Hệ Điều Hành Android
Thanh thông báo vuốt từ trên xuống (Notification bar): Ngay từ những ngày đầutiên của Android, thanh thông báo này đã đánh dấu một bước quan trọng mà trướcđây chưa hề có hệ điều hành nào làm được - đưa tất cả thông tin tin nhắn, tin thoạihoặc các cuộc gọi nhỡ chỉ với thao tác vuốt xuống
9
Trang 1110
Trang 12
Màn hinh chính (Home Screen) và các widget: Một điểm khác biệt giữa Android sovới các hệ điều hành khác là phần màn hình chính của mình Bên cạnh việc thay đổiđược hình nền, Android cồn cho phép người dùng tùy biến màn hình chính củaminh với nhiều widgets kèm theo, chẳng hạn như đồng hỗ, lịch, trình nghe nhạc,đưa các icon ứng dụng ra ngoài hoặc thậm chí có thể can thiệp sâu hơn để thay đổitoàn bộ giao diện màn hình Home Screen này như hình sau:
11
Trang 13Đồng bộ và tích hợp chặt chẽ với Gmail: Vào thời điểm điện thoại G1được bán ra, Gmail đă hỗ trợ giao thức POP và IMAP để tích hợp với cáctrinh email trên di động Tuy nhiên, lúc bấy giờ không có bất kỳ sản phẩm nào
có thể hỗ trợ được hoàn toàn những tính năng ưu việt này của Gmail
12
Trang 14Mãi cho đến khi Android 1.0 xuất hiện, vấn đề này đã được khắc phục và G1 trởthành
chiếc điện thoại mang lại trải nghiệm Gmail tốt nhất trên thị trường lúc bấygiờ Giao diện gmail của phiên bản Android thời kỳ đầu như hình sau:
13
Trang 15Giao diện: Google đă phát triển giao diện Android phiên bản 1.0 với sự hỗ trợ từTAT, viết tắt từ The Astonishing Tribe, một công ty thiết kế tương tác của ThụyĐiển Dấu ấn rõ ràng nhất mà TAT để lại trên phiên bản Android từ phiên bản 1.0cho đến 2.2 chính là widget đồng hồ kim năm ngoài Home Screen tuy đơn giảnnhưng rất đẹp mắt Công ty này sau đó ngừng hợp tác với Google và bị RIM mualại để tập trung phát triển sản phẩm Blackberry cũng như nền tảng BBX sau này.
1.3 Kiến Trúc Của Hệ Điều Hành Android
Android gồm 5 phần chính sau được chứa trong 4 lớp:
14
Trang 16Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security,memory management, process management, network stack, and driver model.Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lạicủa phần mềm stack
Thư viện Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởinhiều thành phần khác nhau trong hệ thống Android Điều này được thể hiện thôngqua nền tảng ứng dụng Android Một số các thư viện cơ bản được liệt kê dưới đây:
Hệ thống thư viện C: một BSD có nguồn gốc từ hệ thống thư viện tiêu chuẩn C(libc), điều chỉnh để nhúng vào các thiết bị dựa trên Linux
Thư viện Media - dựa trên PacketVideo's OpenCORE; các thư viện hỗ trợ phát lại
và ghi âm của âm thanh phổ biến và các định dạng video, cũng như các tập tin hìnhảnh tĩnh,bao gồm cả MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
Bề mặt quản lý - Quản lý việc truy xuất vào hệ thống hiển thị
LibWebCore - một công cụ trình duyệt web hiện đại mà quyền hạn cả hai trìnhduyệt web Android và xem web nhúng
SGL - Đồ họa 2D cơ bản của máy
Thư viện 3D - một thực hiện dựa vào OpenGL ES 1.0 APIs, các thư viện sử dụngphần cứng tăng tốc 3D (nêu có), tối ưu hóa cao rasterizer phần mềm 3D
FreeType- vẽ phông chữ bitmap và vector
Thực thi 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ếtcá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 máy ảo Dalvik thực thi cáctập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu Máy
ảo 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êndịch Java để chuyển đổi thành các định dạng dex Các VM Dalvik dựa vào nhânLinux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp
Nền tảng Android bằng cách cung cấp một nền tảng phát triển mở, Android cungcấ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, thêm các thôngbáo để các thanh trạng thái, và nhiều, nhiều hơn nữa.Nhà phát triển có thể truy cậpvào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lối Các kiến trúcứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bát kỳ ứngdụng có thể xuất bản khả năng của và ứng dụng nào khác sau đó có thể sử dụngnhững khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ) Cơ chế nàycho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng
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: Tập hợp 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, table view, linearlayout
15
Trang 17"Content Provider" cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứngdụng khác (chẳng hạn như Contacts) hoặc là 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à manga
on, chẳng hạn nhu: localized strings, graphics, and layout files
"Notification Manager" cho phép tất cả các ứng dụng hiển thị các custom alertstrong status bar Activity Manager được dùng để quản lý chu trình sống của ứngdụng và điều hướng các activity
Tầng ứng dụng là tầng giao tiếp với người dùng, ví dụ: trên thiết bị Android nhưdanh bạ, trình duyệt mọi ứng dụng viết đều nằm trên tầng này
Giao diện hệ điều hành Android
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sửdụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm,kéo giãn và thu lại để xử lý các đối tượng trên màn hinh Sự phản ứng vi tác độngcủa người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt
mà, thường dùng tính năng rung của thiết bị đề tạo phản hồi rung cho người dùng.Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảmbiến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành độngkhác của người dùng, ví dụ như điều chỉnh màn hinh từ chế độ hiển thị dọc sang chế
độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đuabằng xoay thiết bị, giống như đang điều khiển vô-lăng
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầuvới các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc)trên máy tính để bàn Màn hình chính Android thường gồm nhiều biểu tượng (icon)
và tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, cờn tiện íchhiển thị những nội dung sống động, cập nhật tự động như dự báo thời tiết, hộp thưcủa người dùng, hoặc những mẫu tin thời sự ngay trên màn hinh chính Màn hinhchính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dùgiao diện màn hinh chính của Android có thể tùy chỉnh ở mức cao, cho phép ngườidùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích Nhữngứng dụng do các hãng thứ ba có trên Google Play và các kho ứng dụng khác còncho phép người dùng thay đổi "chủ đề" của màn hình chính, thậm chí bắt chướchình dáng của hệ điều hành khác như Windows Phone chẳng hạn Phần lớn nhữngnhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng và hành vi của cácthiết bị Android của họ để phân biệt với các hãng cạnh tranh
Ở phía trên cùng màn hinh là thanh trạng thái, hiển thị thông tin về thiết bị và tìnhtrạng kết nối Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báogồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắnSMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện.Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứngdụng tương ứng, về sau này các thông tin cập nhật được bổ sung thêm tính năng,như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mởứng dụng gọi điện ra Thông báo sẽ luôn năm đó cho đến khi người dùng đã đọchoặc xóa nó đi
16