MUA SOURCE CODE INBOX: https:www.facebook.comWigk.nam.n98 MỤC LỤC DANH MỤC BẢNG BIỂU 4 DANH MỤC HÌNH 5 CHƯƠNG 1: TỔNG QUAN 7 1.1 Khảo sát hiện trạng 7 1.2 Mục đích và ý nghĩa của đề tài 8 1.2.1 Mục đích 8 1.2.2 Ý nghĩa của đề tài 8 1.3 Nhiệm vụ của đề tài 9 1.3.1 Về lý thuyết 9 1.3.2 Về chương trình 10 1.4 Cách thức triển khai 10 1.5 Mục tiêu đề tài 11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12 2.1. Lý thuyết về Android 12 2.1.1. Lịch sử Android 12 2.1.2. Kiến trúc của Android 13 2.2. Những thành phần cơ bản của ứng dụng Android 17 2.3. Mô hình Client – Server 20 2.3.1. Khái niệm 20 2.3.2. Nguyên tắc hoạt động của mô hình Client – Server 20 CHƯƠNG 3: THIẾT KẾ ỨNG DỤNG 24 3.1. Phân tích chức năng chính ứng dụng 24 3.1.1. Hiển thị danh sách thực đơn 24 3.1.2. Hiển thị chi tiết sản phẩm 24 3.1.3. Thêm sản phẩm vào giỏ 24 3.1.4. Chức năng đặt hàng 25 3.1.5 Các chức năng của người quản lý bên nhà hàng 25 3.2. Đặc tả yêu cầu 25 3.2.1. Hiển thị danh mục sản phẩm 25 3.2.2. Chọn sản phẩm 25 3.2.3. Đặt hàng 25 3.2.4. Quản lý 26 3.3. Xây dựng cấu trúc cơ sở dữ liệu 27 3.3.1 Danh sách dữ liệu sơ cấp 27 3.3.2 Thiết kế cơ sở dữ liệu 29 3.4. Thiết kế chương trình ứng dụng chạy trên hệ điều hành Android 30 3.4.1 Các thành phần chính chương trình 30 3.4.2 Chương trình thực nghiệm 32 3.4.2.1 Màn hình mở đầu 32 3.4.2.2 Màn hình trang chủ 34 3.4.2.3 Màn hình chi tiết sản phẩm 38 3.4.2.4 Màn hình giỏ hàng 41 3.4.2.5 Quản lý đơn hàng trên server………………………40 3.4.2.6 Trạng thái đơn hàng trên server……………………42 3.4.3 Kết quả đạt được 46 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 49 DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng thực đơn…………………………………………………….25 Bảng 3.2: Bảng sản phẩm……………………………………………………25 Bảng 3.3: Bảng thông tin khách hàng ………………………………………26 Bảng 3.4: Bảng chi tiết đơn hàng …………………………………………...26 Bảng 3.5: Bảng quảng cáo…….…………………………………………….26 Bảng 3.6: Bảng dữ liệu sản phẩm trên phpMyadmin……………………….27 Bảng 3.7: Bảng dữ liệu sản phẩm trên phpMyadmin……………………….27 Bảng 3.8: Bảng dữ liệu khách hàng trên phpMyadmin……………………..27 Bảng 3.9: Bảng dữ liệu chi tiết đơn hàng trên phpMyadmin…………….…28 Bảng 3.10: Bảng dữ liệu quảng cáo trên phpMyadmin……………………..28 Bảng 3.11: Đối tượng danh mục sản phẩm…………………………………28 Bảng 3.12: Đối tượng sản phẩm…………………………….………………29 Bảng 3.13: Đối tượng cho đơn hàng…………………………….………….29 DANH MỤC HÌNH Hình 2.1: Mô hình tổng quan các thành phần của hệ điều hành Android……13 Hình 2.2: Vòng đời một Activity…………………………………………….16 Hình 3.1: Màn hình mở đầu………………………………………………….30 Hình 3.2: Màn hình trang chủ………………………………………………..32 Hình 3.3: Màn hình chi tiết sản phẩm…………………………………….….36 Hình 3.4: Màn hình giỏ hàng………………………………………………...39 Hình 3.5: Màn hình thông tin khách hàng khi thanh toán…………………...40 Hình 3.6: Màn hình Database Manager……………………………………...41 Hình 3.7: Danh sách đơn hàng đã đặt thành công …………………………..42 Hình 3.8: Trạng thái đang giao trên phpMyadmin…………………………..42 Hình 3.9: Trạng thái hủy trên phpMyadmin…………………………………43 Hình 3.10: Trạng thái đã giao trên phpMyadmin……………………………43 MỞ ĐẦU Kinh doanh online đang ngày càng trở thành trong số những hình thức kinh doanh phổ biến và được không ít người lựa chọn do những ưu điểm tuyệt vời của nó. Kinh doanh mua bán online đang ngày càng cách tân và phát triển bởi nhiều ưu điểm vượt trội mà nó đem lại, giúp đôi bên tiết kiệm chi phí, thời gian cũng như công sức. Ba lý do chung nhất để người Việt Nam chọn mua sắm trên mạng chính là thuận lợi, dễ tiếp cận và Chi phí. Có đến 62% chấp nhận rằng mua hàng online giúp tiết kiệm thời điểm. Cùng với đó 55% cho rằng mua hàng trên mạng thuận tiện hơn ra cửa hàng và có thể mua bất kỳ lúc nào. Trong bối cảnh đại dịch COVID19, khu vực doanh nghiệp xã hội càng trở nên “nhạy cảm” hơn. Theo kết quả nghiên cứu của Trung tâm Khởi nghiệp và sáng tạo xã hội thì COVID19 đã khiến các DNXH giảm doanh thu 66%, lợi nhuận 69% và nhân sự 32%. Trên cơ sở kiến thức đã học trên nhà trường và quá trình tìm hiểu trong thực tế, em đã quyết định chọn đề tài “Thiết kế phần mềm bán hàng online”. Em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Anh Dũng đã quan tâm giúp đỡ, hướng dẫn em hoàn thành tốt đồ án này trong suốt thời gian qua. Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên, đồ án này không thể tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của thầy cô để em có thể bổ sung, phục vụ tốt cho công việc thực tế sau này. CHƯƠNG 1: TỔNG QUAN 1.1 Khảo sát hiện trạng Mua sắm trực tuyến là một dạng thương mại điện tử cho phép khách hàng trực tiếp mua hàng hóa hoặc dịch vụ từ người bán qua Internet sử dụng trình duyệt web. Người tiêu dùng tìm thấy một sản phẩm quan tâm bằng cách trực tiếp truy cập trang web của nhà bán lẻ hoặc tìm kiếm trong số các nhà cung cấp khác sử dụng công cụ tìm kiếm mua sắm, hiển thị sự sẵn có và giá của sản phẩm tương tự tại các nhà bán lẻ điện tử khác nhau. Kể từ năm 2016, khách hàng có thể mua sắm trực tuyến bằng nhiều loại máy tính và thiết bị khác nhau, bao gồm máy tính để bàn, máy tính xách tay, máy tính bảng và điện thoại thông minh. Dịch COVID19 đang làm người tiêu dùng thay đổi thói quen mua sắm, việc hạn chế đi đến chỗ đông người đã đem lại cơ hội lớn cho kênh mua sắm online, đặt hàng từ nhà. Nhiều người tiêu dùng chọn mua sắm online để hạn chế số lần phải đến các cửa hàng mua sắm trực tiếp, giảm nguy cơ lây nhiễm dịch bệnh. Theo tờ báo Công thương – cơ quan ngôn luận của bộ công thương, tìm hiểu về thị trường trong nước thì mua sắm online đang tiếp tục lên ngôi hậu dịch COVID19. Giỏ hàng “mùa dịch” được nạp đầy với ba nhóm chính: thực phẩm cần thiếttiện lợi, các sản phẩm vệ sinh và sản phẩm giúp tăng cường sức khỏe. Ngoài ra, với chiến dịch stayhome, những mặt hàng liên quan đến nhu cầu kết nối, các nhu cầu xã hội như đồ ăn vặt, các sản phẩm giúp đơn giản hóa việc nấu ăn, sản phẩm chăn sóc cá nhân cũng cho thấy sự tăng trưởng tích cực. Người tiêu dùng cũng chi tiêu cho các mặt hàng thuộc về thói quen như: kẹo, cà phê…. đặc biệt là người dân thành thị. Các mô hình bán lẻ mới nổi bao gồm siêu thị mi ni, cửa hàng tiện lợi và mua sắm trực tuyến đóng vai trò quan trọng trong tăng trưởng của nhóm hàng tiêu dùng nhanh. Trong đó, mua sắm trực tuyến được đánh giá cao ở tính tiện lợi và “hạn chế tiếp xúc”, siêu thị mi ni được chọn vị trí gần nhà cho các nhu cầu cơ bản trong một khoảng thời gian ngắn. Đối với các kênh siêu thị và đại siêu thị, số giao dịch tăng lên đáng kể trước khi lệnh giãn cách và được dự đoán sẽ còn tiếp diễn và dần về lại mức bình thường khi nhu cầu tích trữ hàng giảm. Ngày nay, lý do người tiêu dùng chọn mua sắm trực tuyến gồm: Sự thuận tiện; hàng hóa phong phúc đa dạng, dễ lựa chọn; nhiều ưu đãi, khuyến mại. Tuy nhiên, kèm theo đó là những lo ngại như: Sản phẩm chất lượng kém; vấn nạn hàng giả, hàng nhái; dịch vụ giao hàng, bảo hành kém. 1.2 Mục đích và ý nghĩa của đề tài 1.2.1 Mục đích Ứng dụng bán trà sữa online chạy trên nền Android được thực hiện dựa trên mục đích sau: Giảm thiểu chi phí tổn thất của cửa hàng trong mùa dịch bệnh. Tăng cơ hội việc làm cho các nhóm đối tượng bị ảnh hưởng khác như bên vận chuyển. Đảm bảo tiêu chí về quy định trong mùa dịch COVID19. Góp phần vào công cuộc chuyển đổi số của quốc gia. Kích cầu nhu cầu mua sắm của người tiêu dùng. 1.2.2 Ý nghĩa của đề tài Trước hết, đề tài “Thiết kế phần mềm bán hàng online” là một ứng dụng được xây dựng để thể hiện việc áp dụng được những kiến thức quý báu đã được các thầy cô của trường Đại học Công Nghiệp Hà Nội nhiệt tình truyền đạt lại cho chúng em. Đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Nguyễn Anh Dũng trong suốt thời gian em thực hiện đề tài này. Thứ hai, đây là những kinh nghiệm quý giá và thiết thực mà em có được trong quá trình thực hiện đề tài này sẽ là hành trang quý báu giúp ích rất nhiều cho công việc và tương lai phía trước của mình. Thứ ba, trong thời đại công nghệ thông tin phát triển phổ biến như hiện nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải tiếp thu và áp dụng những kiến thức mới vào thực tiễn. Điều đó, được thể hiện qua sự cố gắng của em khi quyết định thực hiện đề tài này với công nghệ được coi là phổ biến nhất và được dự báo sẽ phát triển vô cùng mạnh mẽ trong tương lại vì tính thực tiễn của nó. Vì vậy, em mong muốn sẽ tạo nên một sản phẩm hoàn chỉnh nhất có thể để đáp lại sự nhiệt tình giúp đỡ từ thầy cô và cả tâm huyết của em khi quyết định thực hiện đề tài này. 1.3 Nhiệm vụ của đề tài 1.3.1 Về lý thuyết Đề tài “Thiết kế phần mềm bán hàng online” là một ứng dụng chạy trên điện thoại sử dụng hệ điều hành Android. Ứng dụng bao gồm: Một hostinger để làm server cho ứng dụng. Các dữ liệu liên quan đến cửa hàng. Phần mềm mua sắm online phát triển trên di động hệ điều hành Android dành cho người tiêu dùng. Dưới đây là những chức năng chính mà em dự định phát triển ở phiên bản đầu tiên của ứng dụng này: Hiển thị các chương trình quảng cáo sản phẩm tới người tiêu dùng. Khách hàng lựa chọn đồ uống trong thực đơn của cửa hàng. Khách hàng tải ứng dụng về điện thoại có sử dụng hệ điều hành Android 4.0 trờ lên. Khách hàng sử dụng ứng dụng có thể xem danh sách các sản phẩm của hàng đã cập nhật trong cơ sở dữ liệu. Khách hàng có thể chọn sản phẩm và đăng ký thông tin để mua, dữ liệu này sẽ được đưa lên server và nhân viên có thể dựa vào đó liên lạc với khách hàng, Ngoài ra, ta sẽ xây dựng một phần mềm quản lý dành cho nhà hàng để xử lý các thông tin mà khách hàng gửi về từ ứng dụng Android, xử lý các yêu cầu của khách hàng. Quản lý danh mục các sản phẩm như cập nhật, sửa, xóa. Mục tiêu của đề tài là: Khảo sát thực trạng bán các sản phẩm nhanh như nước uống trong mùa dịch COVID. Giúp tăng thêm thu nhập cho nhân viên mùa dịch. Xây dựng ứng dụng trên nền tảng Android. Xây dựng một server để thuận lợi cho việc mua bán. 1.3.2 Về chương trình Chương trình thực hiện được các yêu cầu của đề tài tốt nghiệp. Ứng dụng đã phần nào xây dựng và đáp ứng chức năng chính: Người tiêu dùng tiếp cận được với các chương trình đang và sắp diễn ra tại cửa hàng. Giao diện thân thiện dễ sử dụng. Lựa chọn các đồ uống trong thực đơn hiện có tại cửa hàng. Thiết kế ứng dụng cho người dùng mua hàng được từ xa. Mô tả ứng dụng: Hiển thị sản phẩm từ máy chủ về các ứng dụng. Cho phép người dùng xem chi tiết về sản phẩm. Người tiêu dùng có thể thêm sản phẩm vào giỏ hàng của mình. Máy chủ sẽ nhận thông tin của người tiêu dùng khi đặt hàng thành công. 1.4 Cách thức triển khai Xây dựng ứng dụng bao gồm ứng dụng chạy trên điện thoại và một phần mềm đọc dữ liệu từ ứng dụng, cung cấp cho ứng dụng các dữ liệu cần thiết. Trong đề tài tốt nghiệp lần này, em đã thực hiện các phần từ triển khai một ứng dụng hoàn chỉnh theo các bước sau: Khảo sát lấy ý kiến từ các chủ cửa hàng ở khu vực, người tiêu dùng, tài xế chạy xe ôm công nghệ đồ ăn như nowfood, baemin. Nghiên cứu công nghệ phát triển ứng dụng bán hang online chạy trên hệ điều hành Android Studio. Thiết lập máy chủ bán hàng làm nơi truy xuất dữ liệu. Xây dựng cơ sở dữ liệu trên máy chủ. Sau khi hoàn thành phần cài đặt và tạo dữ liệu trên máy chủ, em sẽ triển khai truy xuất dữ liệu từ máy chủ để sử dụng viết ứng dụng trên hệ điều hành Android.
MỤC LỤC DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng thực đơn…………………………………………………….25 Bảng 3.2: Bảng sản phẩm……………………………………………………25 Bảng 3.3: Bảng thông tin khách hàng ………………………………………26 Bảng 3.4: Bảng chi tiết đơn hàng ………………………………………… 26 Bảng 3.5: Bảng quảng cáo…….…………………………………………….26 Bảng 3.6: Bảng liệu sản phẩm phpMyadmin……………………….27 Bảng 3.7: Bảng liệu sản phẩm phpMyadmin……………………….27 Bảng 3.8: Bảng liệu khách hàng phpMyadmin…………………… 27 Bảng 3.9: Bảng liệu chi tiết đơn hàng phpMyadmin…………….…28 Bảng 3.10: Bảng liệu quảng cáo phpMyadmin…………………… 28 Bảng 3.11: Đối tượng danh mục sản phẩm…………………………………28 Bảng 3.12: Đối tượng sản phẩm…………………………….………………29 Bảng 3.13: Đối tượng cho đơn hàng…………………………….………….29 DANH MỤC HÌNH Hình 2.1: Mơ hình tổng quan thành phần hệ điều hành Android…… 13 Hình 2.2: Vòng đời Activity…………………………………………….16 Hình 3.1: Màn hình mở đầu………………………………………………….30 Hình 3.2: Màn hình trang chủ……………………………………………… 32 Hình 3.3: Màn hình chi tiết sản phẩm…………………………………… ….36 Hình 3.4: Màn hình giỏ hàng……………………………………………… 39 Hình 3.5: Màn hình thông tin khách hàng toán………………… 40 Hình 3.6: Màn hình Database Manager…………………………………… 41 Hình 3.7: Danh sách đơn hàng đặt thành công ………………………… 42 Hình 3.8: Trạng thái giao phpMyadmin………………………… 42 Hình 3.9: Trạng thái hủy phpMyadmin…………………………………43 Hình 3.10: Trạng thái giao phpMyadmin……………………………43 MỞ ĐẦU Kinh doanh online ngày trở thành số hình thức kinh doanh phổ biến không người lựa chọn ưu điểm tuyệt vời Kinh doanh mua bán online ngày cách tân phát triển nhiều ưu điểm vượt trội mà đem lại, giúp đơi bên tiết kiệm chi phí, thời gian cơng sức Ba lý chung để người Việt Nam chọn mua sắm mạng thuận lợi, dễ tiếp cận Chi phí Có đến 62% chấp nhận mua hàng online giúp tiết kiệm thời điểm Cùng với 55% cho mua hàng mạng thuận tiện cửa hàng mua lúc Trong bối cảnh đại dịch COVID-19, khu vực doanh nghiệp xã hội trở nên “nhạy cảm” Theo kết quả nghiên cứu Trung tâm Khởi nghiệp sáng tạo xã hội thì COVID-19 khiến DNXH giảm doanh thu 66%, lợi nhuận 69% nhân 32% Trên sở kiến thức học nhà trường trình tìm hiểu thực tế, em định chọn đề tài “Thiết kế phần mềm bán hàng online” Em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Anh Dũng quan tâm giúp đỡ, hướng dẫn em hoàn thành tốt đồ án suốt thời gian qua Với điều kiện thời gian kinh nghiệm hạn chế sinh viên, đồ án tránh khỏi thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy để em bổ sung, phục vụ tốt cho công việc thực tế sau CHƯƠNG 1: TỔNG QUAN 1.1 Khảo sát trạng Mua sắm trực tuyến dạng thương mại điện tử cho phép khách hàng trực tiếp mua hàng hóa dịch vụ từ người bán qua Internet sử dụng trình duyệt web Người tiêu dùng tìm thấy sản phẩm quan tâm cách trực tiếp truy cập trang web nhà bán lẻ tìm kiếm số nhà cung cấp khác sử dụng công cụ tìm kiếm mua sắm, hiển thị sẵn có giá sản phẩm tương tự nhà bán lẻ điện tử khác Kể từ năm 2016, khách hàng mua sắm trực tuyến nhiều loại máy tính thiết bị khác nhau, bao gồm máy tính để bàn, máy tính xách tay, máy tính bảng điện thoại thông minh Dịch COVID-19 làm người tiêu dùng thay đổi thói quen mua sắm, việc hạn chế đến chỗ đông người đem lại hội lớn cho kênh mua sắm online, đặt hàng từ nhà Nhiều người tiêu dùng chọn mua sắm online để hạn chế số lần phải đến cửa hàng mua sắm trực tiếp, giảm nguy lây nhiễm dịch bệnh Theo tờ báo Công thương – quan ngôn luận công thương, tìm hiểu thị trường nước thì mua sắm online tiếp tục lên hậu dịch COVID-19 Giỏ hàng “mùa dịch” nạp đầy với ba nhóm chính: thực phẩm cần thiết/tiện lợi, sản phẩm vệ sinh sản phẩm giúp tăng cường sức khỏe Ngoài ra, với chiến dịch stayhome, mặt hàng liên quan đến nhu cầu kết nối, nhu cầu xã hội đồ ăn vặt, sản phẩm giúp đơn giản hóa việc nấu ăn, sản phẩm chăn sóc cá nhân cho thấy tăng trưởng tích cực Người tiêu dùng chi tiêu cho mặt hàng thuộc thói quen như: kẹo, cà phê… đặc biệt người dân thành thị Các mô hình bán lẻ bao gồm siêu thị mi ni, cửa hàng tiện lợi mua sắm trực tuyến đóng vai trị quan trọng tăng trưởng nhóm hàng tiêu dùng nhanh Trong đó, mua sắm trực tuyến đánh giá cao tính tiện lợi “hạn chế tiếp xúc”, siêu thị mi ni chọn vị trí gần nhà cho nhu cầu bản khoảng thời gian ngắn Đối với kênh siêu thị đại siêu thị, số giao dịch tăng lên đáng kể trước lệnh giãn cách dự đoán tiếp diễn dần lại mức bình thường nhu cầu tích trữ hàng giảm Ngày nay, lý người tiêu dùng chọn mua sắm trực tuyến gồm: Sự thuận tiện; hàng hóa phong phúc đa dạng, dễ lựa chọn; nhiều ưu đãi, khuyến mại Tuy nhiên, kèm theo lo ngại như: Sản phẩm chất lượng kém; vấn nạn hàng giả, hàng nhái; dịch vụ giao hàng, bảo hành 1.2 Mục đích ý nghĩa đề tài 1.2.1 Mục đích Ứng dụng bán trà sữa online chạy Android thực dựa mục đích sau: Giảm thiểu chi phí tổn thất cửa hàng mùa dịch bệnh Tăng hội việc làm cho nhóm đối tượng bị ảnh hưởng khác bên vận chuyển Đảm bảo tiêu chí quy định mùa dịch COVID-19 Góp phần vào công chuyển đổi số quốc gia Kích cầu nhu cầu mua sắm người tiêu dùng 1.2.2 Ý nghĩa đề tài Trước hết, đề tài “Thiết kế phần mềm bán hàng online” ứng dụng xây dựng để thể việc áp dụng kiến thức quý báu thầy cô trường Đại học Công Nghiệp Hà Nội nhiệt tình truyền đạt lại cho chúng em Đặc biệt theo dõi quan tâm giúp đỡ thầy Nguyễn Anh Dũng suốt thời gian em thực đề tài Thứ hai, kinh nghiệm quý giá thiết thực mà em có trình thực đề tài hành trang q báu giúp ích nhiều cho cơng việc tương lai phía trước mình Thứ ba, thời đại công nghệ thông tin phát triển phổ biến nay, công nghệ không ngừng cải tiến, cơng nghệ đời địi hỏi người lập trình viên phải tiếp thu áp dụng kiến thức vào thực tiễn Điều đó, thể qua cố gắng em định thực đề tài với công nghệ coi phổ biến dự báo phát triển vơ mạnh mẽ tương lại vì tính thực tiễn Vì vậy, em mong muốn tạo nên sản phẩm hồn chỉnh để đáp lại nhiệt tình giúp đỡ từ thầy cô cả tâm huyết em định thực đề tài 1.3 Nhiệm vụ đề tài 1.3.1 Về lý thuyết Đề tài “Thiết kế phần mềm bán hàng online” ứng dụng chạy điện thoại sử dụng hệ điều hành Android Ứng dụng bao gồm: - Một hostinger để làm server cho ứng dụng Các liệu liên quan đến cửa hàng Phần mềm mua sắm online phát triển di động hệ điều hành Android dành cho người tiêu dùng Dưới chức mà em dự định phát triển phiên bản ứng dụng này: Hiển thị chương trình quảng cáo sản phẩm tới người tiêu dùng Khách hàng lựa chọn đồ uống thực đơn cửa hàng Khách hàng tải ứng dụng điện thoại có sử dụng hệ điều hành Android 4.0 trờ lên Khách hàng sử dụng ứng dụng xem danh sách sản phẩm hàng cập nhật sở liệu Khách hàng chọn sản phẩm đăng ký thông tin để mua, liệu đưa lên server nhân viên dựa vào liên lạc với khách hàng, Ngoài ra, ta xây dựng phần mềm quản lý dành cho nhà hàng để xử lý thông tin mà khách hàng gửi từ ứng dụng Android, xử lý yêu cầu khách hàng Quản lý danh mục sản phẩm cập nhật, sửa, xóa Mục tiêu đề tài là: - Khảo sát thực trạng bán sản phẩm nhanh nước uống mùa dịch COVID - Giúp tăng thêm thu nhập cho nhân viên mùa dịch - Xây dựng ứng dụng tảng Android - Xây dựng server để thuận lợi cho việc mua bán 1.3.2 Về chương trình Chương trình thực yêu cầu đề tài tốt nghiệp Ứng dụng phần xây dựng đáp ứng chức chính: - Người tiêu dùng tiếp cận với chương trình diễn cửa hàng - Giao diện thân thiện dễ sử dụng - Lựa chọn đồ uống thực đơn có cửa hàng - Thiết kế ứng dụng cho người dùng mua hàng từ xa Mô tả ứng dụng: - Hiển thị sản phẩm từ máy chủ ứng dụng Cho phép người dùng xem chi tiết sản phẩm Người tiêu dùng thêm sản phẩm vào giỏ hàng mình - Máy chủ nhận thông tin người tiêu dùng đặt hàng thành công 1.4 Cách thức triển khai Xây dựng ứng dụng bao gồm ứng dụng chạy điện thoại phần mềm đọc liệu từ ứng dụng, cung cấp cho ứng dụng liệu cần thiết Trong đề tài tốt nghiệp lần này, em thực phần từ triển khai ứng dụng hoàn chỉnh theo bước sau: - Khảo sát lấy ý kiến từ chủ cửa hàng khu vực, người tiêu dùng, tài xế chạy xe ôm công nghệ đồ ăn nowfood, baemin - Nghiên cứu công nghệ phát triển ứng dụng bán hang online chạy hệ điều hành Android Studio - Thiết lập máy chủ bán hàng làm nơi truy xuất liệu - Xây dựng sở liệu máy chủ Sau hoàn thành phần cài đặt tạo liệu máy chủ, em triển khai truy xuất liệu từ máy chủ để sử dụng viết ứng dụng hệ điều hành Android Sau danh sách công nghệ sử dụng để xây dựng ứng dụng: - Android SDK Java Php Server Localhost phpMyAdmin - Lunacy 1.5 Mục tiêu đề tài Nhà nước quyền cả xã hội chung tay nhay đẩy lùi dịch bệnh COVID19 Mua bán vấn đề thiết yếu sống Thế nên, ứng dụng xây dựng phát triển nhằm cung ứng nhu cầu thiết yếu người dân mua bán hàng hóa mùa dịch nguy hiểm nay, tiết kiệm chi phí kinh doanh cho chủ cửa hàng, giúp cửa hàng tiếp cận người tiêu dung phong phú Vì ứng dụng phù hợp với đối tượng tiêu dùng sử dụng điện thoại thông minh chạy hệ điều hành Android CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Lý thuyết Android 2.1.1 Lịch sử Android Android tảng phần mềm dựa mã nguồn mở Linux OS cho máy di động, máy tính bảng phần mềm trung gian (middleware) Nó không đơn hệ điều hành, công cụ lập trình hay phần mềm trung gian mà gồm tất cả Ban đầu, Android hệ điều hành cho thiết bị cầm tay dựa lõi Linux công ty Android Inc (California, Mỹ) thiết kế Cơng ty sau Google mua lại vào năm 2005 bắt đầu xây dựng Android Platform Và sau tiếp, vào cuối năm 2007, thuộc Liên minh thiết bị cầm tay mã nguồn mở (Open Handset Alliance) Mục tiêu liên minh nhanh chóng đổi để đáp ứng tốt cho nhu cầu người tiêu dùng kết quả tảng Android Android thiết kế để phục vụ nhu cầu nhà sản xuất thiết, nhà khai thác lập trình viên thiết bị cầm tay Phiên bản SDK lần phát hành vào tháng 11 năm 2007, hãng TMobile công bố điện thoại Android T-Mobile G1, smartphone dựa tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố mắt phiên bản Android SDK release Candidate 1.0.Trong tháng 10 năm 2008, Google cấp giấy phép mã nguồn mở cho Android Platform Khi Android phát hành thì số mục tiêu kiến trúc cho phép ứng dụng tương tác với sử dụng lại thành phần từ ứng dụng khác Việc tái sử dụng không áp dụng cho cho dịch vụ mà cịn áp dụng cho cả thành phần liệu giao diện người dùng Vào cuối năm 2008, Google cho phát hành thiết bị cầm tay gọi Android Dev Phone chạy ứng dụng Android mà không bị ràng buộc vào nhà cung cấp mạng điện thoại di động Mục tiêu thiết bị cho phép nhà phát triển thực thí nghiệm thiết bị thực chạy hệ điều hành Android mà khơng phải ký bản hợp đồng Vào khoảng thời gian thì Google cho phát hành phiên vản vá lỗi 1.1 hệ điều hành này.Ở cả hai phiên bản 1.0 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi thiết bị phải sử dụng bàn phím vật lý Android cố định vấn đề cách phát hành SDK 1.5 vào tháng Tư năm 2009, với số tính khác Chẳng hạn nâng cao khả ghi âm truyền thông, vật dụng, live folder 2.1.2 Kiến trúc Android “Understanding Android” cách mà ta tiếp cận lập trình Android thấu hiểu kến trúc hệ thống Chúng ta khơng cần hiểu rõ cấu trúc hệ điều hành lập trình ứng dụng hệ điều hành đó, điều mà nhà sản xuất muốn release SDK với framework có sẵn họ Như biết điều có mặt tốt xấu 10 RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Server.banner_url, response -> { if (response != null) { for (int i = 0; i < response.length(); i++) { try { JSONObject jsonObject = response.getJSONObject(i); id = jsonObject.getInt("id"); slider = jsonObject.getString("hinhanh"); slideModelArrayList.add(new SlideModel(slider, ScaleTypes.FIT)); } catch (JSONException e) { CheckConnection.showToast(getApplicationContext(), "Lỗi"); } } imageSlider.setImageList(slideModelArrayList, ScaleTypes.FIT); } }, error -> CheckConnection.showToast(getApplicationContext(), "Đang kết nối ")); requestQueue.add(jsonArrayRequest); Tiếp đến phần hiển thị dah mục sản phẩm có cửa hàng, thơng qua đối tượng mà ta tạo liệu product, sử dụng phương Volley để gọi json từ server cho ứng dụng Danh sách sản phẩm hiển thị nhờ RecyclerView Trong sản phẩm giảm giá, để giới hạn số sản phẩm hiển thị cho người dùng, ta sử dụng câu lệnh break để kết thúc vòng lặp với điều kiện giới hạn sản phẩm Cịn sản phẩm về, ta xếp danh sách giá tiền từ lên lấy sản phẩm đầu danh sách 30 Code: RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Server.product_url, response -> { if (response != null) { for (int i = 0; i < response.length(); i++) { try { if (products_sale.size() == 8) { break; } JSONObject jsonObject = response.getJSONObject(i); int id = jsonObject.getInt("id"); String name = jsonObject.getString("ten_sanpham"); int price = jsonObject.getInt("giaM_sanpham"); int price_sale = jsonObject.getInt("giaL_sanpham "); String details = jsonObject.getString("trangthailanh_sanpham"); String image_a = jsonObject.getString("trangthainong_sanpham"); String image_b = jsonObject.getString("mota_sanpham"); String image_c = jsonObject.getString("hinhanh_sanpham"); String image_d = jsonObject.getString("kichcom_sanpham"); String size_m = jsonObject.getString("kichcol_sanpham "); if (price_sale != 0) { products_sale.add(new Product(id, ten_sanpham, giaM_sanpham, giaL_sanpham, trangthailanh_sanpham, trangthainong_sanpham, mota_sanpham, hinhanh_sanpham, kichcom_sanpham, kichcol_sanpham)); } } catch (JSONException e) { 31 CheckConnection.showToast(getApplicationContext(), "Lỗi"); } } product_saleAdapter = new ProductAdapter(products_sale, getApplicationContext()); recyclerView_product_sale.setAdapter(product_saleAdapter); } }, error -> CheckConnection.showToast(getApplicationContext(), "Đang kết nối ")); requestQueue.add(jsonArrayRequest); Cứ liệu jsonobject lấy từ server ta thêm vào danh sách để hiển thị Khi hiển thị xong, ta nhấn vào sản phẩm thì sản phẩm hiển thị mơ tả chi tiết sản phẩm, ta cần chuyển liệu đối tượng từ hình sang hình khác, ta cho đối tượng kế thừa từ interface Parcelable Sau kế thừa thì ta phải ghi đè lại phương thực interface đó, chương trình tự động interface ghi đè lại phương thức để tiện cho việc truy xuất sản phẩm Khi hiển thị dạng danh sách thì sản phẩm gắn định danh riêng nhấn vào ta lấy thơng tin sản phẩm từ định danh sang hình Code: Intent intent = new Intent(getApplicationContext(), DetailsActivity.class); intent.putExtra("PRODUCT", products_sale.get(position)); startActivity(intent); 32 3.4.2.3 Màn hình chi tiết sản phẩm Hình 3.3: Màn hình chi tiết sản phẩm Với định danh sản phẩm lấy hình trước hình chi tiết sản phẩm thơng tin cần thiết cho sản phẩm đó: tên, giá, hình ảnh, mơ tả, màu sắc, kích cỡ, số lượng Kiểm tra sản phẩm có màu hay cỡ khác để gắn kiện lên cho RadioButton tương ứng Bắt kiện nút nhấn tăng giảm số lượng, phù hợp với số lượng người dùng chọn Code: rb_minus.setOnClickListener(new View.OnClickListener() { @Override 33 public void onClick(View view) { if (Integer.parseInt(rb_number.getText().toString()) == 1) { rb_number.setText("1"); } else { number ; rb_number.setText("" + number); } } }); Khi người dùng nhấn nút thêm vào giỏ, giá trị mà người dùng tùy chỉnh trạng thái, kích cỡ, số lượng kiểm tra Nếu liệu sản phẩm khơng có màu sắc hay kích thước, chúng đưa giá trị mặc định cho sản phẩm Khi đủ thông tin, liệu đưa vào đối tượng quản lý itemshop Trong đối tượng này, tổng tiền giá sản phẩm tính số lượng nhân với đơn giá sản phẩm Khi sản phẩm đưa vào giỏ, có bước để kiểm tra sản phẩm Nếu sản phẩm đưa vào trùng tên, trùng màu sắc, trùng kích cỡ thì số lượng sản phẩm giỏ cộng thêm với số lượng sản phẩm đưa thêm vào Còn trường hợp lại, sản phẩm thêm vào Sau thêm, tổng giá trị cho giỏ hàng tự cập nhật qua đối tượng itemshop Code: if (MainActivity.itemShops.size() > 0) { boolean exit = false; for (int i = 0; i < MainActivity.itemShops.size(); i++) { if (MainActivity.itemShops.get(i).getName().equals(product.getName()) && MainActivity.itemShops.get(i).getColor().equals(color) && MainActivity.itemShops.get(i).getSize().equals(size)) { MainActivity.itemShops.get(i).setNumber(number + 34 MainActivity.itemShops.get(i).getNumber()); exit = true; } } if (exit == false) { MainActivity.itemShops.add(new ItemShop(product.getId(),product.getImage_a(), product.getName(), color, size, number, product.getPrice())); } } else { MainActivity.itemShops.add(new ItemShop(product.getId(),product.getImage_a(), product.getName(), color, size, number, product.getPrice())); } 35 3.4.2.4 Màn hình giỏ hàng Hình 3.4: Màn hình giỏ hàng Ở hình giỏ hàng, ta cho hiển thị đối tượng itemshop mà ta có trước dạng danh sách sản phẩm Đối tượng hiển thị tên, màu sắc, kích cỡ, số lượng tổng giá thành phải trả cho sản phẩm Ngồi ra, tạo cho người dùng biểu tượng để xóa sản phẩm mà mình chọn trước đó, sau cập nhật lại tổng tiền cuối trước toán Khi nhấn nút “tiếp tục mua hàng”, hình quay trở hình lúc trước để người dùng lựa chọn thêm sản phẩm Danh sách sản phẩm giỏ hàng giữ nguyên 36 Khi nhấn nút “thanh toán”, cửa sổ nội dung mà người dùng cần phải điền thông tin để đặt hàng Hình 3.5: Màn hình thông tin khách hàng toán Dữ liệu cố định thời gian đặt hàng số liệu thông tin mà người dùng phải nhập vào kiểm tra tính hợp lệ chúng Sau nhấn nút “xác nhận” thông tin sản phẩm đặt người dùng lên server, nhờ mà quản lý cửa hàng xem xác nhận trực tiếp với người đặt hàng 3.4.2.5 Quản lý đơn hàng server Ứng dụng bán nước hệ điều hành Android thực sau: Đầu tiên ứng dụng thực truy cập vào địa web có sẵn app, 37 địa cấu tạo để kết nối với Database chương trình Muốn kết nối với Database chúng thực qua FileManager, tài nguyên cần thiết cho chương trình viết với dạng câu lệnh PHP để lấy liệu từ bên Database Hình 3.6: Màn hình Database Manager Sau thực câu truy vấn liệu FileManager, tùy thuộc vào liệu cần mà chúng trả câu phản hồi (Dữ liệu trả thực nhu cầu toán, ví dụ hiển thị danh sách sản phẩm thì cho liệu chuỗi JSON, cần lấy id bản ghi cụ thể thì trả giá trị id) Từ câu phản hồi trên, ứng dụng thực đọc qua Volley, vào điều kiện cần mà ta lấy dạng danh sách hay ký tự Ứng dụng hiển thị giá trị vừa lấy lên View Component Android giúp người dùng tương tác Khi người dùng mua hàng, ứng dụng gọi file tương ứng mà lập trình viên đặt ứng dụng File kết nối tương tác trực tiếp với Database Nhờ mà quản lý theo dõi đơn hàng cửa hàng Với việc quản lý đơn hàng Database kết hợp với FileManager, quản lý cửa hàng thuận tiện việc quản lý 38 Hình 3.7: Danh sách đơn hàng đặt thành công 3.4.2.6 Trạng thái đơn hàng server Trạng thái đơn hàng có khách hàng đặt đặt mặc định giao dịng khách hàng Khi có thơng tin bảng liệu, nhân viên cửa hàng trực tiếp gọi điện tới khách hàng để xác minh thông tin Nếu đơn hàng xác nhận thành công trạng thái giữ giao Hình 3.8: Trạng thái giao phpMyadmin 39 Nếu đơn hàng xảy lỗi từ phía khách hàng, người quản lý liệu thay đổi sang trạng thái hủy Hình 3.9: Trạng thái hủy phpMyadmin Nếu đơn hàng gửi tài xế thành công trạng thái giao Hình 3.10: Trạng thái giao phpMyadmin Chỉ nên thay đổi trạng thái mà khơng xóa thơng tin đơn hàng, vì quản lý xem đơn hàng bị hủy 40 3.4.3 Kết đạt Về chức ứng dụng, sản phẩm cửa hàng tiếp cận với người dùng qua thông tin chi tiết sản phẩm Người dùng đặt hàng từ xa Quản lý theo dõi đơn hàng thông qua server Các điểm mạnh mà ứng dụng mang lại: Mua hàng online mùa Covid Mơ hình dễ triển khai cho khách hàng có quy mô nhỏ Quản lý thông kê sản phẩm rõ ràng Dễ dàng tiếp cận đến người tiêu dùng mùa dịch Điểm hạn chế ứng dụng: - Thiếu chức toán - Chưa áp dụng mô hình kinh doanh lớn - 41 KẾT LUẬN Về kiến thức, sau gian thực đồ án tốt nghiệp em đạt nhiều tiến cả mặt tìm hiểu, nghiên cứu lý thuyết lẫn kỹ lập trình Có thể nói, thơng qua đồ án tốt nghiệp, em đạt số thành quả sau: - Hiểu biết nhiều kỹ thuật lập trình Java Phân tích tốn theo cách hướng đối tượng chuyên nghiệp Hiểu nghiệp vụ bán hàng trực tuyến Nâng cao tinh thần tự học, tự nghiên cứu Về chương trình, chương trình đạt yêu cầu đề đề tài tốt nghiệp, xây dựng đáp ứng chức chính: - Quản lý việc đặt hàng Xử lý thơng kê theo yêu cầu Cho phép tìm kiếm thông tin hệ thống Giao diện thân thiện, dễ sử dụng Bên cạnh đó, ứng dụng tồn số hạn chế định: - Do thời gian thực phân tích thiết kế hệ thống tương đối hạn chế so với đề tài tương đối rộng phong phú nên khơng tránh khỏi thiết sót định Bên cạnh đó, chương trình cịn số chức chưa hồn thiện xác - Đây ứng dụng dựa mô hình client – server với số lượng người dùng lớn Để đáp ứng điều , hệ thống đòi hỏi máy chủ mạnh ổn định - Tuy nhiên, việc xây dựng vận hành máy chủ tốn nhiều cơng sức chi phí Đây khó khắn lớn Hướng phát triển, để tiếp tục phát triển đề tài áp dụng thực tế, em nhận thấy cần phải tiếp thực số công việc sau: - Xử lý lỗi chặt chẽ trước sử dụng Mở rộng toán cho nhiều doanh nghiệp riêng biệt Linh hoạt kiện yêu cầu từ khách hàng Bổ sung nhiều báo cáo thơng kê Hồn thiên chức phù hợp với thực tế hoạt động kinh doanh Hỗ trợ công việc liên quan đến kinh doanh Phát triển tính hỗ trợ tốn 42 [1] TÀI LIỆU THAM KHẢO https://wiki.matbao.net/phpmyadmin-la-gi-kien-thuc-can-biet-khi-su- dung-phpmyadmin/ [2] https://bizflycloud.vn/tin-tuc/phpmyadmin-la-gi-tinh-nang-va-cach-su-dung- 20181219161916726.htm 43 [3] https://vn.000webhost.com/ [4] https://vdodata.vn/tim-hieu-ve-mo-hinh-client-server-va-client-server-la-gi/ 44 ... phần mềm bán hàng online? ?? ứng dụng chạy điện thoại sử dụng hệ điều hành Android Ứng dụng bao gồm: - Một hostinger để làm server cho ứng dụng Các liệu liên quan đến cửa hàng Phần mềm mua sắm online. .. cửa hàng - Giao diện thân thiện dễ sử dụng - Lựa chọn đồ uống thực đơn có cửa hàng - Thiết kế ứng dụng cho người dùng mua hàng từ xa Mô tả ứng dụng: - Hiển thị sản phẩm từ máy chủ ứng dụng. .. khuôn khổ sử dụng ứng dụng lõi Các kiến trúc ứng dụng thiết kế để đơn giản hóa việc sử dụng lại thành phần Cơ bản tất cả ứng dụng dịch vụ hệ thống bao gồm phần - View Manager: Một tập hợp nhiều