C3D02 Nhóm 2 App trắc nghiệm docx BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO BÀI TẬP LỚN Nghiên Cứu Phát Triển Ứng Dụng Trắc Nghiệm Trực Tuyến Môn học Lập trình Android cơ bản Sinh viên thực hiện Trần Trung Nam Trịnh Hữu Khải Ninh Thị Thu Trang Người hướng dẫn ThS Lê Bá Cường Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2022 MỤC LỤC MỤC LỤC 2 LỜI CẢM ƠN 2 CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 3 1 1 Mục tiêu và yêu cầu của bài toán 3 1 1 1 Mục tiêu 3 1 1 2 Yêu cầ.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO BÀI TẬP LỚN Nghiên Cứu Phát Triển Ứng Dụng Trắc Nghiệm Trực Tuyến Môn học: Lập trình Android Sinh viên thực hiện: Trần Trung Nam Trịnh Hữu Khải Ninh Thị Thu Trang Người hướng dẫn: ThS Lê Bá Cường Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2022 MỤC LỤC MỤC LỤC LỜI CẢM ƠN CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục tiêu yêu cầu toán 1.1.1 Mục tiêu 2 3 1.1.2 Yêu cầu 1.2 1.2.1 Môi trường xây dựng, triển khai lựa chọn công nghệ Môi trường triển khai sử dụng ứng dụng 3 1.2.2 Công nghệ phần mềm 1.3 Kết luận CHƯƠNG 2: XÂY DỰNG ỨNG DỤNG 2.1 Khởi tạo môi trường 2.2 Xây dựng chức đăng nhập đăng ký 2.3 Xây dựng chức phân loại câu hỏi theo thể loại 2.4 Xây dựng chức tính điểm 2.5 Xây dựng chức bảng xếp hạng người chơi 2.6 Xây dựng chức vòng quay may mắn 2.7 Xây dựng chức quản lý cho admin KẾT LUẬN TÀI LIỆU THAM KHẢO 9 11 12 15 17 17 19 20 LỜI CẢM ƠN Trong trình nghiên cứu phát triển để thực tập lớn này, chúng em xin gửi lời cảm ơn chân thành đến thầy Lê Bá Cường bảo tận tình giúp đỡ chúng em suốt trình mơn học Với hướng dẫn, quan tâm sâu sát thầy, nhóm chúng em có định hướng tốt việc hoàn thành yêu cầu tập lớn mơn học NHĨM SINH VIÊN THỰC HIỆN ĐỒ ÁN CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục tiêu yêu cầu toán 1.1.1 Mục tiêu Hiện nay, app trắc nghiệm trở nên phổ biến nhiều doanh nghiệp tin dùng Các thi đánh giá lực điều thiếu doanh nghiệp hay tổ chức giáo dục Bởi lẽ, sở để lựa chọn ứng viên phù hợp với quy trình tuyển dụng người xứng đáng để giành chức quán quân thi 1.1.2 Yêu cầu Việc xây dựng ứng dụng lên kế hoạch bao gồm chức chính: - Đăng nhập, đăng kí thơng qua tài khoản Gmail - Hệ thống câu hỏi đa dạng, phân chia theo thể loại - Hệ thống tính điểm, bảng xếp hạng người chơi - Hệ thống dành riêng cho admin quản lý hệ thống câu hỏi, người chơi Hiệu năng: - Giao diện ưa nhìn, thân thiện, dễ sử dụng - Tốc độ xử lý nhanh, mượt 1.2 Môi trường xây dựng, triển khai lựa chọn công nghệ 1.2.1 Môi trường triển khai sử dụng ứng dụng Ứng dụng triển khai sử dụng điện thoại thơng minh có chạy hệ điều hành Android 12 ⮚ Giới thiệu hệ điều hành Android: Android hệ điều hành có mã nguồn mở dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google, sau Google mua lại vào năm 2005 ❖ Ưu điểm: ● Là hệ điều hành có mã nguồn mở nên khả tuỳ biến cao ● Đa dạng sản phẩm, nhiều hãng điện thoại, thiết bị công nghệ ưu chọn Android ● Kho ứng dụng Google Play Store đồ sộ ● Thân thiện dễ sử dụng ● Khả đa nhiệm, chạy lúc nhiều ứng dụng cao ❖ Nhược điểm: ● Dễ nhiễm phần mềm độc hại virus ● Kho ứng dụng q nhiều dẫn đến khó kiểm sốt chất lượng, thiếu ứng dụng thật tốt ● Sự phân mảnh lớn phân khúc giá thiết bị theo phiên ● Cập nhật không tự động với tất thiết bị ❖ Một số thiết bị chạy Android: ● Điện thoại Samsung: Galaxy Note, S5, A5, … ● Điện thoại Sony, điện thoại HTC, Oppo, … ● Máy tính bảng, Smart Tivi Box, … 1.2.2 Cơng nghệ phần mềm Nhóm lên kế hoạch lựa chọn sử dụng sản phẩm công nghệ phần mềm: ● Phần mềm soạn thảo Android Studio ● Java để lập trình ứng dụng di động ● ReactJS để lập trình ứng dụng quản lý ● Dịch vụ lưu trữ liệu Firebase Cloud, Firestore ● Xây dựng, biên dịch sửa lỗi (build, compile debug) máy ảo Google Pixel 4XL phần mềm Android Studio a) Giới thiệu cơng cụ lập trình Android Studio Hình Cơng cụ Android Studio ❖ Android Studio mơi trường phát triển tích hợp (IDE) thức cho việc phát triển ứng dụng Android Nơi mà nhà phát triển viết code lắp ráp ứng dụng họ từ gói Và thư viện khác ❖ Thư viện phần mềm, cơng cụ lập trình tiện dụng, nhiều để giúp bạn xây dựng, kiểm thử Cũng gỡ lỗi ứng dụng Android ❖ Android Studio hỗ trợ loạt giả lập để xem trước ứng dụng, bạn khơng có thiết bị thử nghiệm, bạn chắn thứ hoạt động trơn tru ❖ Bên cạnh đó, loạt cơng cự lời khun tối ưu hóa, đồ thị doanh số bán hàng, số liệu lấy từ phân tích giúp nhà phát triển quản lý ứng dụng bán tìm hướng cụ thể với thiết bị Android ❖ Android Studio hỗ trợ hệ điều hành Windows, Mac OS X Linux, IDE thức Google để phát triển ứng dụng Android gốc để thay cho Android Development Tools (ADT) dựa Eclipse o Ưu điểm: - Được phát triển Google, chủ sở hữu hệ điều hành Android - Các gói cơng cụ hỗ trợ cập nhật đầy đủ - Giao diện tính dễ làm quen sử dụng điểm cộng lớn - Tài liệu tham khảo hướng dẫn rõ ràng đầy đủ trang chủ, có vơ số diễn đàn dành cho lập trình viên Android o Nhược điểm: - Vì cơng cụ tích hợp tất cả, nên buộc phải tải tồn liệu hỗ trợ cho việc phát triển ứng dụng tối ưu Đó lượng liệu lớn chiếm dụng khơng khơng gian nhớ lưu trữ máy tính bạn - Android Studio phần mềm phát triển ứng dụng mà bạn kiểm tra cách hoạt động app máy tính thơng qua trình giả lập Android Studio Và nguyên nhân gây máy, lag, nóng hay hao pin laptop b) Firebase Hình Firebase Firebase dịch vụ sở liệu hoạt động tảng đám mây – cloud Kèm theo hệ thống máy chủ mạnh mẽ Google Chức giúp người dùng lập trình ứng dụng cách đơn giản hóa thao tác với sở liệu Năm 2012, Firebase đời với sản phẩm cung cấp dịch vụ Backend-as-aService Tiếp đến, vào năm 2014, Google mua lại Firebase phát triển thành dịch vụ đa chức hàng triệu người sử dụng Cloud Firestore Database linh hoạt dễ mở rộng cho mobile, web server phát triển từ Firebase and Google Cloud Platform Cloud Firestore cloud-hosted, NoSQL database mà ứng dụng phía client trực tiếp truy cập thơng qua native SDKs Nó lưu liệu theo mơ hình liệu NoSQL Dữ liệu lưu trữ file tài liệu chứa trường ánh xạ vào giá trị Các file tài liệu lưu trữ tập hợp chúng sử dụng để tổ chức liệu truy vấn liệu ❖ Ưu điểm: ● Tạo tài khoản sử dụng dễ dàng ● Tốc độ phát triển nhanh ● Nhiều dịch vụ tảng ● Được cung cấp Google ● Tạo lưu lượng truy cập ● Theo dõi lỗi ● Sao lưu ❖ Hạn chế: ● Không phải mã nguồn mở ● Người dùng khơng có quyền truy cập mã nguồn ● Firebase khơng hoạt động nhiều quốc gia ● Chỉ hoạt động với Cơ sở liệu NoSQL ● Truy vấn chậm 1.3 Kết luận Ở chương này, nhóm chúng em tổng quan đề tài dự án: mục tiêu yêu cầu đề tài, công nghệ, công cụ sử dụng dự án để xây dựng dự án hồn thiện Đây tiền đề định hướng cho việc xây dựng phát triển ứng dụng trắc nghiệm trực tuyến CHƯƠNG 2: XÂY DỰNG ỨNG DỤNG 2.1 Khởi tạo môi trường Để khởi tạo ứng dụng, trước hết ta cần phải cài cắm công cụ phần mềm, môi trường hỗ trợ: - Android Studio - Sử dụng Firebase 2.2 Xây dựng chức đăng nhập đăng ký Hình Firebase Authentication Như đề cập từ trước, ứng dụng triển khai sử dụng Firebase để lưu trữ xử lý liệu Firebase biết đến BaaS (Backend as a Service) Firebase authentication chức dùng để xác thực người dùng password, email, số điện thoại, tài khoản google, facebook, … Việc xác thực ứng dụng Federer Box triển khai Firebase authentication Với phương pháp việc quản lý người dùng trở nên dễ dàng, đơn giản an toàn Firebase authentication hỗ trợ hàm phương thức việc xác thực người dùng như: ● signInWithEmailAndPassword(): Đăng nhập email password ● createUserWithEmailAndPassword(email, password): Tạo tài khoản với email password ● signOut(): Đăng xuất Hình Màn hình đăng nhập, đăng kí ứng dụng Hình Hàm đăng ký, đăng nhập Gmail Firebase 2.3 Xây dựng chức phân loại câu hỏi theo thể loại Người dùng chọn thể loại câu hỏi để làm kiểm tra theo sở thích, mục đích học tập: Hình Màn hình danh sách thể loại câu hỏi Hình Hàm lấy liệu từ server hiển thị danh sách thể loại 2.4 Xây dựng chức tính điểm - Người chơi nhận điểm số với câu trả lời Hình Điểm số nhận sau lượt chơi - Người dùng xem, quản lý kho điểm menu Wallet: Hình Quản lý điểm số 2.5 Xây dựng chức bảng xếp hạng người chơi Dựa điểm số sau lần tham gia trả lời trắc nghiệm, hệ thống có bảng xếp hạng dựa người chơi dẫn đầu: Hình 10 Bảng xếp hạng 2.6 Xây dựng chức vịng quay may mắn - Ngồi việc tham gia trả lời câu hỏi, người chơi tham gia vòng quay may mắn để nhận thêm điểm thưởng, vật phẩm, NFT, … Hình 11 Vịng quay may mắn 2.7 Xây dựng chức quản lý cho admin Quản trị viên dễ dàng chỉnh sửa hệ thống thể loại, câu hỏi: Hình 12 Hệ thống quản trị dành cho admin KẾT LUẬN Hai chương báo cáo thể mục tiêu đặt thực tập lớn đạt Cụ thể: Chương hệ thống lại kiến thức tổng quan đề tài dự án: mục tiêu yêu cầu đề tài, công nghệ, công cụ sử dụng dự án để xây dựng dự án hồn thiện Đây tiền đề định hướng cho việc xây dựng phát triển ứng dụng Trắc nghiệm trực tuyến Ở chương 2, nhóm chúng em triển khai xây dựng ứng dụng Trắc nghiệm trực tuyến với chức như: đăng nhập, đăng ký, phân loại câu hỏi, quản lý câu hỏi, điểm thưởng, bảng xếp hạng, thơng tin người dùng Bên cạnh đó, nhóm chúng em xây dựng App quản lý dành riêng cho admin hệ thống, App hỗ trợ việc quản lý người dùng, quản lý cập nhật thể loại, câu hỏi hệ thống Bước đầu hoàn thiện ứng dụng yêu cầu đặt Dù vậy, số vấn đề liên quan đến việc xây dựng chức hợp đồng thông minh Blockchain cho ứng dụng Việc giải điểm tồn hướng phát triển tương lai ứng dụng TÀI LIỆU THAM KHẢO [1] https://firebase.google.com/docs ... Đây tiền đề định hướng cho việc xây dựng phát triển ứng dụng Trắc nghiệm trực tuyến Ở chương 2, nhóm chúng em triển khai xây dựng ứng dụng Trắc nghiệm trực tuyến với chức như: đăng nhập, đăng ký,... sử dụng dự án để xây dựng dự án hồn thiện Đây tiền đề định hướng cho việc xây dựng phát triển ứng dụng trắc nghiệm trực tuyến CHƯƠNG 2: XÂY DỰNG ỨNG DỤNG 2.1 Khởi tạo môi trường Để khởi tạo ứng. .. trường phát triển tích hợp (IDE) thức cho việc phát triển ứng dụng Android Nơi mà nhà phát triển viết code lắp ráp ứng dụng họ từ gói Và thư viện khác ❖ Thư viện phần mềm, cơng cụ lập trình tiện dụng,