Môn học Phát triển ứng dụng cho thiết bị di động. Android là nền tảng di động phổ biến nhất. Nội dung báo cáo gồm: Giới thiệu nền tảng Android Phát biểu bài toán Phân tích thiết kế hệ thống Cài đặt cà kiểm thử ứng dụng Đồ án, đồ án môn học, bài tập lớn, project.
PHÁT BIỂU BÀI TOÁN
Hiện nay, ứng dụng bán hàng trực tuyến đang trở thành công cụ thiết yếu cho nhiều đối tượng và lĩnh vực trong xã hội Trong bối cảnh hiện đại, việc mua sắm trực tuyến trên các trang web và ứng dụng ngày càng phổ biến, giúp người tiêu dùng, đặc biệt là sinh viên và những người bận rộn, tiết kiệm thời gian và công sức Họ có thể tranh thủ những khoảng thời gian rảnh để mua sắm mà không cần rời khỏi nhà Đáp ứng nhu cầu này, các ứng dụng mua sắm trực tuyến được phát triển với nhiều tính năng tối ưu, bao gồm quản lý hàng hóa và thanh toán thuận tiện.
ĐỐI TƯỢNG VÀ PHAM VỊ NGHIÊN CỨU
ĐỐI TƯỢNG NGHIÊN CỨU
Nghiên cứu nhu cầu sử dụng ứng dụng thực tế trên thị trường là rất quan trọng để hiểu rõ tính cạnh tranh và nhu cầu của người dùng Qua đó, chúng ta có thể phát triển một ứng dụng phù hợp, đáp ứng đúng mong muốn và yêu cầu của khách hàng.
- Tìm hiểu, ứng dụng ngôn ngữ lập trình vào thiết kế app bán hàng online.
PHẠM VI NGHIÊN CỨU
- Khái niệm, kiến trúc hoạt động, các thành phần chính và chức năng của ứng dụng Android
- Nghiên cứu về các chức năng chính của app bán hàng online:
- Hiển thị giao diện của app
- Hiển thị thanh trang chính gồm các giao diện về : điện thoại, laptop, thông tin, liên hệ
PHƯƠNG PHÁP NGHIÊN CỨU
- Phương pháp nghiên cứu lý thuyết: tiến hành thu thập các tài liệu, thông tin liên quan đến đề tài.
- Tổng hợp và phân tích tài liệu để đưa ra hướng phát triển ứng dụng
- Xây dựng và thiết kế ứng dụng trên ngôn ngữ lập trình Java, Kotlin.
- Tham khảo các ứng dụng bán hàng online có sẵn trên CH Play
- Tìm hiểu về các công cụ lập trình và cách sử dụng.
NHỮNG ĐÓNG GÓP CỦA BÁO CÁO
x Báo cáo hoàn thành sẽ có những đóng góp chủ yếu sau đây:
- Đưa ra một app bán hàng online và Publish trên kho ứng dụng: Google play hoặc Amazon appstore
- Sử dụng ngôn ngữ lập trình Java hoặc Kotlin vào xây dựng và thiết kế ứng dụng.
CƠ SỞ LÝ THUYẾT
GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID
Android là hệ điều hành mã nguồn mở dựa trên nền tảng Linux, được phát triển đặc biệt cho các thiết bị di động như điện thoại thông minh và máy tính bảng với màn hình cảm ứng.
Android được phát triển ban đầu bởi Tổng công ty Android với sự hỗ trợ tài chính từ Google Năm 2005, Google đã mua lại công ty này và hệ điều hành Android chính thức ra mắt sau đó.
2007 Chiếc điện thoại đầu tiên chạy Android là HTC Dream được bán vào ngày 22 tháng 10 năm 2008
Mã nguồn mở cùng với giấy phép linh hoạt đã cho phép các nhà phát triển tùy chỉnh và phân phối Android một cách tự do, góp phần biến Android thành nền tảng điện thoại thông minh phổ biến nhất thế giới Tính đến quý 3 năm 2012, Android chiếm 75% thị phần điện thoại thông minh toàn cầu với 500 triệu thiết bị được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Đến tháng 10 năm 2012, đã có khoảng 700.000 ứng dụng trên Android, với ước tính 25 tỷ lượt tải từ Google Play Mặc dù hiện nay thị phần của Android đã giảm do sự cạnh tranh từ iOS và một phần nhỏ từ Windows Phone, nhưng Android vẫn duy trì vị thế dẫn đầu trên thị trường.
Giao diện người dùng của Android sử dụng nguyên tắc tác động trực tiếp với cảm ứng chạm, cho phép người dùng thao tác qua các động tác như vuốt, chạm, kéo giãn và thu lại Phản ứng của hệ thống diễn ra ngay lập tức, tạo ra trải nghiệm cảm ứng mượt mà và thường sử dụng tính năng rung để phản hồi Các thiết bị cảm biến như gia tốc kế và con quay hồi chuyển hỗ trợ ứng dụng trong việc phản hồi hành động của người dùng, trong khi màn hình chính hiển thị nội dung sống động và cập nhật tự động như dự báo thời tiết và tin tức Người dùng có thể tùy chỉnh màn hình chính với nhiều trang và thay đổi "chủ đề" thông qua các ứng dụng từ Google Play Các nhà sản xuất và nhà mạng cũng điều chỉnh giao diện để phân biệt sản phẩm của họ Thanh trạng thái ở trên cùng màn hình cung cấp thông tin về thiết bị và tình trạng kết nối, có thể "kéo" xuống để xem thông báo mà không gây gián đoạn Các thông báo này sẽ tồn tại cho đến khi người dùng đọc hoặc xóa chúng.
2 Ưu và nhược điểm x Ưu điểm:
Hệ điều hành mã nguồn mở cho phép người dùng tùy chỉnh một cách linh hoạt, mang lại khả năng chỉnh sửa mà không bị can thiệp hay hạn chế từ Google.
Android là hệ điều hành được nhiều hãng điện thoại và thiết bị công nghệ lựa chọn, mang đến sự đa dạng sản phẩm với mức giá hợp lý, từ bình dân đến cao cấp.
- Kho ứng dụng Google Play đồ sộ
- Thân thiện và dễ sử dụng
- Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao x Nhược điểm:
- Nhiều ứng dụng chạy ngầm làm chậm máy
Phần mềm mã nguồn mở dễ bị nhiễm phần mềm độc hại và virus do việc sử dụng nhiều ứng dụng không được kiểm soát, dẫn đến chất lượng kém và lỗ hổng bảo mật.
- Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng, thiếu các ứng dụng thật sự tốt
Sự phân mảnh lớn trong hệ sinh thái Android thể hiện rõ qua sự ra mắt của nhiều thiết bị xuất sắc như Galaxy S5, Galaxy Note 4 và Xperia Z3, nhưng vẫn tồn tại nhiều sản phẩm giá rẻ bình thường khác.
Khi một phiên bản hệ điều hành mới được phát hành, không phải tất cả các thiết bị đều nhận được cập nhật tự động Điều này có nghĩa là để trải nghiệm tính năng mới, người dùng thường phải đầu tư vào việc mua sắm thiết bị mới.
KIẾN TRÚC CỦA ANDROID
- Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chia thành 5 phần và 4 lớp chính như trong hình bên dưới
Lớp Linux 3.6, với khoảng 115 bản vá, tạo ra một cấp độ trừu tượng giữa phần cứng thiết bị và các trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím và màn hình hiển thị Hạt nhân (kernel) của Linux xử lý hiệu quả các chức năng như kết nối mạng và quản lý chuỗi trình điều khiển thiết bị, từ đó giúp cải thiện khả năng giao tiếp với các thiết bị ngoại vi.
Trên lớp nhân Linux, có một tập hợp các thư viện quan trọng như WebKit - trình duyệt Web mã nguồn mở, thư viện libc, cơ sở dữ liệu SQLite - hỗ trợ lưu trữ và chia sẻ dữ liệu ứng dụng, cùng với các thư viện cho việc phát và ghi âm audio, video, và các thư viện SSL đảm bảo bảo mật Internet.
Các thư viện Java hỗ trợ phát triển ứng dụng Android bao gồm nhiều công cụ hữu ích cho việc xây dựng giao diện người dùng, vẽ đồ họa và truy cập cơ sở dữ liệu Một số thư viện chính của Android là: android.app, cung cấp quyền truy cập vào ứng dụng và là nền tảng cho tất cả ứng dụng Android; android.content, cho phép truy cập nội dung và truyền tải thông điệp giữa các ứng dụng và các thành phần của ứng dụng; android.database, được sử dụng để truy cập dữ liệu từ content provider và cơ sở dữ liệu SQLite; và android.opengl, cung cấp giao diện các phương thức Java để sử dụng OpenGL.
ES x android.os cung cấp quyền truy cập vào các dịch vụ của hệ điều hành như thông điệp và các giao tiếp nội tại x android.text được sử dụng để hiển thị và điều chỉnh chữ trên màn hình thiết bị x android.view là các thành phần cơ bản trong việc xây dựng giao diện người dùng của ứng dụng x android.widget bao gồm các thành phần giao diện người dùng đã được xây dựng sẵn như nút, nhãn (label), và list view Cuối cùng, x android.webkit cung cấp các lớp cho phép xây dựng khả năng duyệt web.
- Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ dưới lên Phần này cung cấp 1 bộ phận quan trọng là Dalvik Vỉtual Machine
- là 1 loại Java Virtual Machine được thiết kế đặc biệt để tối ưu cho Android
Dalvik VM tận dụng các tính năng của nhân Linux, bao gồm quản lý bộ nhớ và đa luồng, những yếu tố đã có sẵn trong Java Nó cho phép mỗi ứng dụng Android hoạt động trong một tiến trình riêng biệt, với các thể hiện độc lập của Dalvik virtual Machine.
- Android Runtime cũng cung cấp 1 tập các thư viện chính giúp các nhà phát triển ứng dụng Android có thể viết ứng dụng Android bằng Java
Lớp Android Framework cung cấp dịch vụ cao cấp cho ứng dụng thông qua các lớp Java, cho phép các nhà phát triển tích hợp những dịch vụ này vào sản phẩm của họ.
Android Framework bao gồm các dịch vụ chính như Activity Manager, kiểm soát vòng đời ứng dụng và ngăn xếp các Activity; Content Providers, cho phép chia sẻ dữ liệu giữa các ứng dụng; Resource Manager, cung cấp quyền truy cập vào các tài nguyên như chuỗi, màu sắc và layout giao diện người dùng; Notifications Manager, cho phép hiển thị cảnh báo và thông báo cho người dùng; và View System, tập hợp các thành phần giao diện được sử dụng để tạo giao diện người dùng.
Lớp trên cùng trong kiến trúc hệ thống là lớp ứng dụng, nơi các ứng dụng như danh bạ, nhắn tin và trò chơi được cài đặt và sử dụng.
PHÂN TÍCH THIẾT KẾ ỨNG DỤNG
MỤC TIÊU VÀ YÊU CẦU CỦA ỨNG DỤNG
- Ứng dụng được xây dựng nhằm hiển thị danh sách sản phẩm điện thoại, laptop, liên hệ và thông tin
- Xây dựng phân chia các sản phẩm, thông tin và các danh mục theo từng chủ đề
- Luôn cập nhật các tính năng mới giúp người dùng có trải nghiệm tốt hơn
- Cho phép người dùng xem và chọn sản phẩm một cách dễ dàng
2 Yêu cầu x Yêu cầu về phần cứng và phần mềm:
- Các thiết bị chạy hệ điều hành Android
- Phầm mềm Android Studio x Yêu cầu về ứng dụng:
- Ứng dụng đơn giản, đẹp
- Người dùng dễ sử dụng
- Có đầy đủ các tính năng cơ bản như: trang chính , điện thoại, laptop, liên hệ, thông tin x Yêu cầu về chức năng:
+ Người dùng có thể thêm, xóa các sản phẩm đã chọn + Người dùng có thể mua sản phẩm trên app
- Yêu cầu về giao diện:
+ Ứng dụng cần được thiết kế đơn giản, đẹp, người dùng dễ sử dụng.
KHẢO SÁT HIỆN TRẠNG
1 Hiện trạng x Qua tìm hiểu và nghiên cứu ứng bán hàng online trên điện thoại hiện nay Chúng em đã rút ra được một số vấn đề như sau:
- Các ứng dụng đều cung cấp cho người dùng các chức năng đơn giản như: tên sản phẩm, mô tả sản phẩm, giá tiền, giỏ hàng
- Thông tin sản phẩm được hiển thị chi tiết
Nhiều ca sĩ và diễn viên hiện nay đang cầm và quảng bá các sản phẩm như điện thoại và laptop mới nhất, nhằm tăng doanh thu cho công ty.
2 Yêu cầu đặt ra để phát triển ứng dụng
- Giao diện thân thiện, đẹp, dễ nhìn, dễ sử dụng
- Thông tin sản phẩm rõ ràng và đẹp mắt
- Các chức năng, trang chín điện thoại, laptop, thông tin, liên hệ, giỏ hàng
- Chức năng tăng, giảm số lượng sản phẩm và thanh toán trong phần giỏ hàng
3 Phân tích ứng dụng a Yêu cầu chi tiết ứng dụng
- Hiển thị danh sách sản phẩm điện thoại và laptop
- Chọn các loại sản phẩm sẵn có trong sản phẩm mới nhất
- Chạy quảng cáo về sản phẩm ở trang chính
- Hiển thị mô tả sản phẩm ở điện thoại và laptop cũng như sản phẩm mới nhất b Đối với người dùng
- Cho phép tăng, giảm và xóa các sản phẩm
- Cho phép người dùng chọn xem và mua sản phẩm
- Cho phép thêm sản phẩm vào giỏ hàng, thanh toán sản phẩm
4 Mô tả các chức năng a Chức năng hiển thị trang chính
Cho phép hiển thị các thông tin để người dùng tìm mua sản phẩm trong thanh trang chính và sản phẩm mới nhất ở giao diện b Chức năng điện thoại
Cho phép khách hàng xem và lựa chọn các sản phẩm điện thoại trong cửa hàng, đồng thời cung cấp thông tin chi tiết về từng sản phẩm Chức năng này cũng áp dụng cho các sản phẩm laptop.
Cửa hàng cho phép khách hàng xem và lựa chọn các sản phẩm laptop, đồng thời cung cấp thông tin chi tiết về từng sản phẩm Khách hàng cũng có thể dễ dàng liên hệ để được hỗ trợ thêm.
Hiển thị các chức năng như: họ và tên ,số điện thoại, email để khách hàng có thể biết thêm thông tin về cửa hàng e Chức năng thông tin
Khi người dùng chọn nút thông tin thì người dùng sẽ thấy được địa chỉ cũng như google maps của cửa hàng ở đâu
5 Các yêu cầu phi chức năng
Mục Tên yêu cầu Mô tả yêu cầu
1 Giao diện Giao diện hệ thống phải đơn giản, dễ sử dụng, trực quan, thân thiện với người dùng
2 Tốc độ xử lý Ứng dụng phải xử lý nhanh chóng và chính xác.
3 Tương thích Tương thích với đa phần các thiết bị Android
XÂY DỰNG VÀ THIẾT KẾ ỨNG DỤNG
T HƯ MỤC TẠO PROJECT
DESIGN
CODE
GIAO DIỆN CHƯƠNG TRÌNH
- Giao diện màn hình chính
LINK DEMO
- Trên máy ảo : https://drive.google.com/file/d/1YN0d_K6i2k2iRB1goEtCI- wOkjWBrzrt/view?usp=sharing
- Link tải app : https://www.eaut.xyz/app.apk
- Trên máy thật: https://drive.google.com/file/d/1Fv3XRd9EJtEASN0Ru4zBGOGEejrmgiO_/view?usp=sharing
KIỂM THỬ VÀ ĐÁNH GIÁ
- Phần mềm chạy ổn định, đơn giản so với dự tính
- Thanh toán, xác nhận đơn hàng thành công và không bị lỗi
- Chưa có lịch sử thanh toán sản phẩm
- Phần mềm được phát triển bởi nhóm sinh viên nên chưa có nhiều kinh nghiệm trong thực tế
Sau nhiều nỗ lực và cố gắng, cùng với sự hỗ trợ tích cực từ giáo viên hướng dẫn và nhà trường, phần mềm đồ án xây dựng ứng dụng bán hàng online đã được hoàn thiện cơ bản.
Trong thời gian thực hiện đề tài, một số vấn đề và trình độ vẫn chưa được hoàn thiện, dẫn đến bộ đề còn hạn chế.
Tuy nhiên, đồ án đã đạt được một số kết quả:
Để xây dựng ứng dụng Android bán hàng online, cần nghiên cứu cách tạo cơ sở dữ liệu và các kỹ thuật lập trình liên quan, bao gồm xây dựng ứng dụng sản phẩm, truy xuất dữ liệu từ SQL, tìm kiếm thông tin, áp dụng kỹ thuật chuyển trang, cũng như quản lý tăng giảm sản phẩm và thực hiện thanh toán trên nền tảng Android.
- Về thực nghiệm: Bước đầu xây dựng thành công trong xây dựng app bán hàng online trong Android
Trong tương lai em sẽ tìm hiểu thêm và phát triển ứng dụng có thêm nhiều bộ đề, tải bộ đề được trên internet.….