Đồ Án Thực Tập Lập Trình A: Ứng Dụng Mobile Flags Quiz App

Tài liệu nghiên cứu Báo cáo đồ án a ên đề tài flag quiz app, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Lập Trình Ứng Dụng Di Động

Người đăng

Ẩn danh

Thể loại

Đồ án thực tập

2023

65
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. Chương 1: Giới thiệu chung

2. Chương 2: Tìm hiểu về các công nghệ cần dùng

3. Chương 3: Xây dựng ứng dụng

4. Chương 4: Thiết kế cơ sở dữ liệu

5. Chương 5: Kiểm thử và sửa lỗi

Tóm tắt

I. Tổng quan đồ án thực tập Flags Quiz App và mục tiêu cốt lõi

Đồ án thực tập lập trình A với chủ đề Ứng Dụng Mobile Trắc Nghiệm Flags Quiz App là một dự án tiêu biểu, phản ánh triết lý học đi đôi với hành của Trường Đại học Hoa Sen. Dự án này không chỉ là một bài tập kỹ thuật mà còn là cơ hội để sinh viên khoa Công Nghệ Thông Tin áp dụng kiến thức lý thuyết vào việc phát triển một sản phẩm thực tế. Mục tiêu chính của đồ án là xây dựng một ứng dụng game trắc nghiệm đoán quốc kỳ, vừa mang tính giải trí, vừa cung cấp kiến thức địa lý bổ ích. Theo báo cáo, dự án được thực hiện trong 8 tuần, là kết quả của quá trình học tập và làm việc nhóm, vận dụng các kiến thức từ Lập trình Hướng đối tượng đến thiết kế giao diện để tạo ra một sản phẩm hoàn chỉnh. Báo cáo đồ án này trình bày chi tiết toàn bộ quá trình, từ khâu lên ý tưởng, tìm hiểu công nghệ, xây dựng ứng dụng quiz, thiết kế cơ sở dữ liệu, cho đến kiểm thử và sửa lỗi. Đây là một tài liệu tham khảo giá trị cho các đồ án tốt nghiệp CNTT trong tương lai, đặc biệt là các dự án liên quan đến lập trình game trắc nghiệm trên nền tảng di động. Sản phẩm hướng đến đối tượng người dùng đa dạng, không giới hạn độ tuổi, với mục tiêu giúp họ cải thiện kiến thức về các quốc gia một cách thú vị. Việc hoàn thành báo cáo thực tập lập trình mobile này thể hiện năng lực vận dụng kiến thức và kỹ năng làm việc nhóm hiệu quả.

1.1. Mục tiêu và phạm vi của ứng dụng mobile trắc nghiệm

Mục tiêu chính của Ứng Dụng Mobile Trắc Nghiệm Flags Quiz App là tạo ra một công cụ học tập và giải trí hiệu quả. Ứng dụng được thiết kế để giúp người dùng cải thiện kiến thức về địa lý và quốc kỳ các nước thông qua một trò chơi tương tác. Các mục tiêu cụ thể bao gồm: rèn luyện khả năng phán đoán, tăng cường trí nhớ, và đo lường sự tiến bộ qua hệ thống tính điểm và thời gian. Phạm vi của dự án hướng đến mọi đối tượng người dùng, từ học sinh, sinh viên đến những người muốn tìm hiểu thêm về thế giới. Ứng dụng không giới hạn độ tuổi và được xây dựng như một công cụ bổ sung kiến thức một cách nhẹ nhàng, thú vị. Đây là một ví dụ điển hình cho các đồ án mẫu android trong lĩnh vực game giáo dục.

1.2. Giới thiệu công nghệ sử dụng trong đồ án Android Studio

Để hiện thực hóa dự án, nhóm đã lựa chọn và sử dụng một bộ công cụ công nghệ hiện đại. React Native được chọn làm framework chính, cho phép phát triển ứng dụng trên cả hai nền tảng iOS và Android từ một mã nguồn JavaScript duy nhất. Môi trường phát triển tích hợp (IDE) chính là Android Studio và Visual Studio Code. Expo Go được sử dụng để kiểm thử ứng dụng trên thiết bị thật một cách nhanh chóng. Về mặt thiết kế, Figma là công cụ chủ đạo để xây dựng giao diện và trải nghiệm người dùng (UI/UX). Hệ thống quản lý phiên bản Git và nền tảng lưu trữ source code GitHub được dùng để quản lý mã nguồn và cộng tác nhóm. Cuối cùng, Firebase cho ứng dụng mobile được chọn làm giải pháp backend, cung cấp cơ sở dữ liệu NoSQL và dịch vụ xác thực người dùng.

II. Phân tích các yêu cầu chức năng và phi chức năng của App

Việc phân tích yêu cầu là giai đoạn nền tảng, quyết định sự thành công của dự án xây dựng ứng dụng quiz. Giai đoạn này bao gồm việc xác định rõ ràng các chức năng mà ứng dụng cần có (yêu cầu chức năng) và các tiêu chuẩn về chất lượng mà ứng dụng phải đạt được (yêu cầu phi chức năng). Đối với một game kiến thức địa lý như Flags Quiz App, các chức năng phải được tối ưu hóa để không gây cảm giác rườm rà, đảm bảo trải nghiệm người dùng mượt mà và ổn định. Đặc tả yêu cầu (Requirement Specification) được trình bày chi tiết trong báo cáo, làm cơ sở cho các giai đoạn thiết kế và phát triển sau này. Việc phân tích kỹ lưỡng giúp nhóm xác định được các đối tượng chính trong hệ thống như User (Người chơi), Quiz, và QNA (Bộ câu hỏi), từ đó mô hình hóa ứng dụng một cách chính xác. Các yêu cầu này không chỉ định hình cấu trúc của ứng dụng mà còn là tiêu chí để kiểm thử và đánh giá sản phẩm cuối cùng. Một báo cáo thực tập lập trình mobile chất lượng phải thể hiện rõ quá trình phân tích và đặc tả yêu cầu một cách bài bản.

2.1. Đặc tả yêu cầu chức năng cho người dùng cuối

Các yêu cầu chức năng là những hành động cụ thể mà người dùng có thể thực hiện trên ứng dụng. Đối với Flags Quiz App, các chức năng chính bao gồm: Đăng nhập/Đăng xuất (sử dụng tài khoản Google), Xem và chọn chế độ chơi (ví dụ: nhìn cờ đoán tên nước), Thực hiện quiz (trả lời câu hỏi, tính điểm, chuyển câu), Xem điểm và bảng xếp hạng tổng, và Xem thông tin cá nhân. Mỗi chức năng được mô tả chi tiết thông qua các use-case, xác định rõ actor (Người chơi), điều kiện kích hoạt, luồng sự kiện chính và phụ. Ví dụ, use-case 'Thực hiện quiz' mô tả quá trình từ lúc người chơi chọn chế độ, độ khó, trả lời câu hỏi, cho đến khi hệ thống hiển thị kết quả. Những yêu cầu này đảm bảo ứng dụng cung cấp đầy đủ tính năng của một lập trình game trắc nghiệm hoàn chỉnh.

2.2. Các yêu cầu phi chức năng Hiệu suất và khả năng mở rộng

Yêu cầu phi chức năng định nghĩa các tiêu chuẩn chất lượng của hệ thống. Về hiệu suất, ứng dụng cần xử lý bất đồng bộ để tải dữ liệu từ Firebase một cách mượt mà, ngay cả khi kết nối mạng không ổn định. Về khả năng mở rộng, mã nguồn được cấu trúc đơn giản, dễ hiểu, cho phép phát triển thêm các tính năng mới trong tương lai như tạo bộ quiz riêng hoặc chỉnh sửa thông tin người dùng. Về khả năng sử dụng, thiết kế UI/UX cho app game được ưu tiên với tiêu chí đơn giản, dễ tiếp cận. Giao diện sử dụng màu sắc đơn sắc, font chữ lớn, dễ đọc, phù hợp với mọi lứa tuổi và không gây khó chịu khi sử dụng trong thời gian dài. Những yếu tố này đảm bảo ứng dụng không chỉ hoạt động tốt mà còn mang lại trải nghiệm tích cực cho người dùng.

III. Giải pháp thiết kế hệ thống và cơ sở dữ liệu cho App Quiz

Thiết kế hệ thống là bước chuyển hóa các yêu cầu đã phân tích thành một cấu trúc phần mềm cụ thể. Trong đồ án Android Studio này, nhóm đã áp dụng mô hình phát triển tăng trưởng (Incremental Model), cho phép xây dựng ứng dụng từng bước, bổ sung tính năng mới vào các phiên bản cũ cho đến khi hoàn thiện. Phương pháp này đặc biệt phù hợp với các dự án có thời gian và nhân lực hạn chế. Thiết kế chi tiết tập trung vào ba đối tượng chính: User, Quiz và QNA, với các thuộc tính và phương thức được định nghĩa rõ ràng. Sơ đồ Class Diagram trực quan hóa mối quan hệ giữa các đối tượng này. Phần quan trọng nhất của thiết kế là cơ sở dữ liệu câu hỏi trắc nghiệm. Nhóm đã sử dụng Firebase để lưu trữ thông tin người dùng, điểm số, và đặc biệt là các bộ câu hỏi. Cấu trúc dữ liệu được tối ưu hóa cho việc truy vấn nhanh chóng, hỗ trợ các cấp độ khó khác nhau và đảm bảo tính ngẫu nhiên khi hiển thị câu hỏi, tạo nên một code game đoán quốc kỳ linh hoạt và hiệu quả.

3.1. Thiết kế chi tiết các class User Quiz và QNA

Hệ thống được thiết kế dựa trên ba lớp (class) chính. Class User chứa các thuộc tính như họ tên, email, ảnh đại diện, điểm số cao nhất, và xếp hạng; cùng các phương thức như Đăng nhập, Đăng xuất, Thực hiện Quiz. Class Quiz đại diện cho các chế độ chơi, có thuộc tính tên và mô tả. Class QNA (Question and Answer) là hạt nhân của trò chơi, chứa các thuộc tính như câu hỏi, đáp án đúng, và mảng các đáp án sai. Sơ đồ Class Diagram trong báo cáo đã mô tả rõ mối quan hệ 'chứa' và 'có' giữa các lớp này, tạo thành một cấu trúc logic và dễ quản lý cho toàn bộ ứng dụng.

3.2. Xây dựng cơ sở dữ liệu câu hỏi trắc nghiệm với Firebase

Việc lựa chọn Firebase cho ứng dụng mobile là một quyết định chiến lược. Nhóm đã thiết kế một cơ sở dữ liệu câu hỏi trắc nghiệm trên nền tảng NoSQL của Firebase. Dữ liệu được cấu trúc theo từng chế độ chơi và cấp độ khó (Dễ, Trung Bình, Khó). Mỗi câu hỏi là một đối tượng JSON chứa các trường như correct_answer, incorrect_answers, và img (link ảnh cờ) hoặc question (tên quốc gia). Cấu trúc này không chỉ giúp lưu trữ dữ liệu một cách có tổ chức mà còn cho phép ứng dụng dễ dàng truy xuất, xáo trộn và hiển thị các bộ câu hỏi phù hợp với lựa chọn của người dùng, đảm bảo tính đa dạng và thử thách cho trò chơi.

IV. Quy trình phát triển và thiết kế UI UX cho app game đố vui

Quá trình phát triển ứng dụng là giai đoạn hiện thực hóa các bản thiết kế. Giai đoạn này đòi hỏi sự kết hợp nhuần nhuyễn giữa kỹ năng lập trình và tư duy sáng tạo trong thiết kế UI/UX cho app game. Nhóm đã bắt đầu bằng việc lên kế hoạch chi tiết và phân chia công việc rõ ràng. Quá trình này được mô tả trong báo cáo thực tập lập trình mobile, bao gồm các bước từ lên ý tưởng, thiết kế giao diện trên Figma, lập trình các màn hình bằng React Native quiz app, kết nối với database, và thử nghiệm các chức năng. Một trong những điểm nhấn kỹ thuật của dự án là việc xây dựng thuật toán 'trộn' (shuffle) để ngẫu nhiên hóa thứ tự câu hỏi và vị trí các đáp án mỗi lần chơi. Điều này giúp tăng tính tái trải nghiệm và tránh sự nhàm chán. Toàn bộ source code app đoán cờ được quản lý chặt chẽ trên GitHub, đảm bảo sự phối hợp nhịp nhàng giữa các thành viên. Giao diện ứng dụng được thiết kế với tông màu chủ đạo là trắng, đen và xanh, tạo cảm giác thân thiện và chuyên nghiệp, góp phần nâng cao trải nghiệm người dùng.

4.1. Lựa chọn React Native làm framework phát triển chính

Nhóm đã thống nhất chọn React Native làm framework chính vì nhiều lý do. Thứ nhất, nó cho phép phát triển ứng dụng đa nền tảng, tiết kiệm thời gian và công sức. Thứ hai, React Native có cộng đồng hỗ trợ lớn và thư viện component phong phú. Quyết định này còn dựa trên yếu tố tương thích phần cứng của các thành viên, vì React Native được đánh giá là khá dễ tiếp cận và không yêu cầu cấu hình máy quá cao so với các framework khác như Flutter. Việc sử dụng ngôn ngữ JavaScript cũng là một lợi thế, giúp nhóm nhanh chóng bắt tay vào phát triển.

4.2. Thiết kế giao diện người dùng UI chi tiết trên Figma

Trước khi viết code, toàn bộ giao diện ứng dụng đã được thiết kế chi tiết trên Figma. Quá trình này bắt đầu bằng việc xác định bảng màu chủ đạo và font chữ. Sau đó, nhóm đã thiết kế từng màn hình, từ màn hình Đăng nhập, Trang chủ, Chọn chế độ, màn hình chơi game (ingame), đến màn hình Kết quả và Bảng xếp hạng. Các bản thiết kế trên Figma đóng vai trò như một bản vẽ kỹ thuật, giúp các lập trình viên hình dung rõ ràng về sản phẩm cuối cùng và đảm bảo tính nhất quán trong toàn bộ ứng dụng. Đây là một bước không thể thiếu trong quy trình thiết kế UI/UX cho app game hiện đại.

4.3. Thuật toán trộn câu hỏi và đáp án ngẫu nhiên

Để tăng độ khó và sự hấp dẫn, một thuật toán 'trộn' (shuffle) đơn giản đã được thiết kế. Thuật toán này có nhiệm vụ xáo trộn ngẫu nhiên thứ tự của các câu hỏi trong một bộ quiz mỗi khi người dùng bắt đầu chơi. Đồng thời, nó cũng xáo trộn vị trí của đáp án đúng và các đáp án sai trong 4 lựa chọn. Đoạn mã shuffleArray được trình bày trong báo cáo là một ví dụ cụ thể về việc áp dụng kỹ thuật này. Việc ngẫu nhiên hóa giúp mỗi lần chơi đều là một trải nghiệm mới, tránh việc người dùng ghi nhớ vị trí đáp án.

V. Đánh giá kết quả đồ án và chiến lược kiểm thử phần mềm

Giai đoạn cuối cùng của dự án là kiểm thử và đánh giá. Đây là bước quan trọng để đảm bảo chất lượng sản phẩm trước khi hoàn thiện báo cáo thực tập lập trình mobile. Nhóm đã xây dựng một chiến lược kiểm thử thủ công chi tiết, tập trung vào các chức năng cốt lõi của ứng dụng. Các mục cần kiểm thử bao gồm luồng đăng nhập/đăng xuất, hiển thị câu hỏi và câu trả lời, tính chính xác của hệ thống điểm số và hoạt động của bảng xếp hạng. Mỗi chức năng được kiểm tra thông qua các Test Case cụ thể, với các bước hành động, kết quả mong đợi và kết quả thực tế được ghi nhận rõ ràng. Ví dụ, Test Case 4 'Thực hiện quiz' bao gồm 8 bước chi tiết, từ việc chọn chế độ chơi đến khi hoàn thành và xem kết quả. Quá trình kiểm thử kỹ lưỡng đã giúp nhóm phát hiện và sửa chữa các lỗi còn tồn tại, đảm bảo ứng dụng hoạt động ổn định và đáp ứng đúng các yêu cầu đã đề ra. Kết quả cuối cùng là một Ứng Dụng Mobile Trắc Nghiệm Flags Quiz App hoàn chỉnh, sẵn sàng cho việc demo và trình bày.

5.1. Demo các chức năng chính Từ đăng nhập đến bảng xếp hạng

Sản phẩm hoàn thiện có đầy đủ các chức năng đã được đặc tả. Người dùng có thể đăng nhập bằng Google, vào màn hình chính và chọn 'Chơi ngay'. Sau đó, ứng dụng cho phép chọn chế độ (nhìn cờ đoán tên/nhìn tên đoán cờ) và độ khó. Trong quá trình chơi, hệ thống hiển thị câu hỏi, ghi nhận câu trả lời, thông báo đúng/sai và tính điểm. Sau khi hoàn thành, màn hình kết quả hiển thị tổng số câu đúng, sai. Tính năng Bảng xếp hạng cho phép người dùng so sánh điểm số của mình với những người chơi khác theo từng chế độ, tạo ra tính cạnh tranh và động lực. Các chức năng này được minh họa rõ qua các hình ảnh chụp màn hình trong báo cáo.

5.2. Phân tích Test Case và chiến lược kiểm thử thủ công

Chiến lược kiểm thử được thực hiện thủ công theo từng bước. Báo cáo đã trình bày 4 Test Case chính: Đăng nhập, Xem thông tin cá nhân, Xem bảng xếp hạng, và Thực hiện quiz. Mỗi Test Case đều có tiêu chí đạt/không đạt rõ ràng. Ví dụ, trong 'Test case 3: Xem bảng xếp hạng', tiêu chí đạt là ứng dụng phải chuyển sang đúng màn hình và render được dữ liệu xếp hạng theo từng loại. Phương pháp này tuy đơn giản nhưng hiệu quả trong việc xác minh các luồng chức năng chính của ứng dụng, đảm bảo rằng mọi thành phần hoạt động như mong đợi.

VI. Kết luận đồ án và định hướng phát triển cho sinh viên CNTT

Dự án Ứng Dụng Mobile Trắc Nghiệm Flags Quiz App đã kết thúc thành công, đạt được các mục tiêu đề ra ban đầu. Đây không chỉ là một sản phẩm phần mềm mà còn là một trải nghiệm học tập quý báu, giúp nhóm củng cố kiến thức kỹ thuật và rèn luyện kỹ năng mềm. Quá trình thực hiện đồ án đã mang lại kinh nghiệm thực tiễn trong việc phát triển ứng dụng bằng React Native và JavaScript, hiểu biết sâu sắc về thiết kế giao diện, quản lý dữ liệu với Firebase, và tầm quan trọng của việc kiểm thử. Những thách thức gặp phải đã được giải quyết thông qua kế hoạch cẩn thận và nỗ lực hợp tác. Dự án này là một minh chứng cho thấy tầm quan trọng của việc kết hợp lý thuyết và thực hành, là một tài liệu tham khảo hữu ích cho các sinh viên đang tìm kiếm ý tưởng cho đồ án tốt nghiệp CNTT. Hướng phát triển trong tương lai có thể bao gồm việc mở rộng bộ câu hỏi, thêm các chế độ chơi mới, hoặc tích hợp các tính năng mạng xã hội để tăng tương tác người dùng, biến nó thành một sản phẩm thương mại tiềm năng.

6.1. Bài học kinh nghiệm rút ra từ quá trình làm đồ án

Qua dự án, nhóm đã rút ra nhiều bài học quan trọng. Về mặt kỹ thuật, đó là kinh nghiệm thực chiến với React Native, quản lý trạng thái ứng dụng, và làm việc với API của Firebase. Về quy trình, nhóm nhận thấy tầm quan trọng của việc lập kế hoạch, phân chia công việc rõ ràng và giao tiếp hiệu quả. Đặc biệt, việc thiết kế UI/UX kỹ lưỡng trên Figma trước khi lập trình đã giúp tiết kiệm rất nhiều thời gian và công sức chỉnh sửa sau này. Quá trình gỡ lỗi cũng củng cố kỹ năng giải quyết vấn đề và sự kiên trì. Đây là những kỹ năng thiết yếu cho bất kỳ lập trình viên nào trong tương lai.

6.2. Tiềm năng mở rộng và hướng phát triển trong tương lai

Ứng dụng Flags Quiz App hiện tại là một nền tảng vững chắc và có nhiều tiềm năng để phát triển. Hướng phát triển trong tương lai có thể tập trung vào việc làm phong phú thêm nội dung, ví dụ như thêm các bộ câu hỏi về thủ đô, di tích lịch sử hoặc các chủ đề kiến thức khác. Các tính năng nâng cao có thể được xem xét bao gồm: chế độ chơi đối kháng thời gian thực, cho phép người dùng tự tạo và chia sẻ bộ câu hỏi, hoặc tích hợp hệ thống thành tựu (achievements) để khuyến khích người dùng. Việc cung cấp tải source code miễn phí cho cộng đồng cũng là một hướng đi để nhận được sự đóng góp và cải tiến từ các lập trình viên khác.

10/07/2025

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu chung. — Chương 2: Tìm hiểu về các công nghệ cần dùng — Chương 3: Xây dựng ứng dụng. - Chương 4: Thiết kế cơ sở dữ liệu — Chương 5: Kiêm thử và sửa lỗi ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ | NHOM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM LOI CAM ON Lời nói đầu, cho nhóm chúng tôi gửi lời cảm ơn sâu sắc đến thầy Nguyễn Văn Sơn đã hướng dẫn tận tỉnh và tạo điều kiện cho nhóm chúng tôi làm đồ án xây dựng một ứng dụng mobile trac nghiém Flags Quiz App. Nhóm chúng tôi đã cỗ gắng vận dụng những kiến thức đã học được và tìm tòi thêm nhiều thông tin để hoàn thành bài tiểu luận này.

Bên cạnh những kiến thức đã được học và tìm hiểu thì do kiến thức còn hạn chế và không có nhiều kính nghiệm thực tiễn nên chúng tôi khó tránh khỏi những thiếu sót trong khi thực hiện đồ án. Rất kính mong giảng viên cho chúng tôi thêm những đóng góp ý dé bài báo cáo của nhóm chúng tôi được hoản thiện hơn. Chúng tôi xin chân thành cảm ơn! ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM MỤC LỤC 3:9 :82-0 0. 3 DANH MỤC HÌNH ẢNH.crree 6 NỘI DUNG CHÍNH.

_ Giới thiệu công nghệ (Tlo0ϧ). 3 ¬¬° cece cece csettecnercscteeessteecietsecrecseciecsessssteeeisisesieesesiesessssteesssteessiees 4 IR “r*dẢỒŨŨỖŨỖŨẦẮẦẮẦẲẦẦẮAẰAẰẮ. 9 IlN Hoa cho. Đặc tả yêu cầu ứng dụng (Requirement Specification).--- se se sec sc 10 2.

Giới thiệu ứng dụng (OV€TVI€W). n T21 12121 111111221 10121812011 kg 10 ;” ` ai 0 HH. __ Các yêu cầu chức năng. Các yêu cầu phi chức năng.

Mô hình ứng dụng (software model). Phân tích ứng dụng. Mô tả các thuộc tính và phương thức của đối tượng. Mô tả Các aCẨO.

c Qn HH1 HH HH 111111111111 11115111 1k1 H 1kg khe. _ Thiết kế chỉ tiết các cÏass. 22 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _. NHOM 4 ut TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM 4.

Thiết kế 2077 ccccccceseceseenseeneccnscessenseessesseeeseeeetsescsseeeeteeeeeses 25 Sau khi việc nghiên cứu và phân tích các yêu cầu được đưa ra, thêm vào đó là giải quyết các yêu câu đưa ra thì những thành phâm thu được trên ứng dụng như sau. _ Thiết kế thuậttoán. Phát triển ứng dụng. 221211121 121121 1521111551 2Ẹ1251 2112111112511 T811 HH HH ke 57 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 v TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM DANH MỤC HINH ANH Hình 1: Visual Studio Code.

121111211211 12111211111 11111 1110111111011 11 11g nha 1 Hinh 2: Expo GO. 1 Hinh 3: Minh hoa ma QR quét Expo o. 1 Hình 4: Android Studlo. - - L1 022211211121 1111 15111 211011 11111111111 111111111 TH HH Hy 2 si).

3 Hit 6: Gites cece cccccceececcneeeceseecaeeeceecsesaeeecseceeeeceeececeneeeseaecaeeeseeseqeueeseseeseeeeesas 4 Hinh 7: GitHube. 7 Hình 9: Minh hoa ludng di cia Firebase.ccccccccccscscecseseeseesessessessessessesesseseesessesneeees 7 Hình 10: React Native. 10 Hinh 14: Đăng nhập. 22 122122211211 121 11211111 111122112 1111110111 1111111 111111111 xkg 11 Hình 15: Đăng xuẤt.

13 Hình 17: Thực hiện qu1z. 14 Hinh 18: Xem điểm và xếp hạng tông.-- L0 2222112112211 1 1121111821 11211 1181 ro 15 Hình 19: Xem thông tin. G2 22222211211 12112 211211191111 11111211 1111111111111 118g key 15 Hình 20: Mô hình ứng dụng. 21 Hình 22: Class diapram.

L0 2002111211211 121 112211011 11111011111 11111 11 11H HH 1 kg 22 Hình 23: Mô tả database Ì. L Q2 1211211211111 11 1110111111011 2111111 1111112111112 11kg 23 Hinh 2, l3) [oár-Nai./X“aaiadadđiaadđaii. 23 Hình 25: Mô tả database 3. - Q TT n2 12111211111 11211101 101110112111 111 1111112111112 11kg 24 Hinh O0) cárNai v.hẼ“ađadđdđdidaai.

chgãiađaẳđiaẳađiiiẢŨẮŨ. 25 Hình 28: Thiết kế giao diện. - 1 2111 1221211111111 121111211011 211111 rg te 26 si) 092 6000. 28 Hinh 31: Trang chọn chế độ chơi.

ST S3 1211111151511 1215151111555 211821 se 29 Hình 32: Trang chọn độ khó. -- L1 221121112112 1122111111111 1111111111 1111111182112 30 Hinh 33: Trang ingame nhìn cờ đoán chữ. 1121201 121111111121 101111 81 re 31 Hinh 34: Trang chọn đúng đáp án nhìn cờ đoán chữ. ác 2 S212 sse 32 Hình 35: Trang chọn sai đáp án nhìn cờ đoán chữ.- -- c St S2 1n 2 se 33 Hình 36: Trang ingame nhìn tên đoán quốc kỳ.-- 2-2 +222S22E22EE22E22222222222222ze2 34 Hinh 37: Trang chọn đúng đáp án nhìn tên đoán quốc 4+1.

35 Hinh 38: Trang chon sai dap an nhìn tên đoán quôc kỷ. c2: 22222 2czcses 36 Hình 39: Trang kết quả.- + 2 2 1 121211211211 11111 1112121111121 1111211 ca 37 Hình 40: Trang bảng xếp hạng nhìn quốc gia đoán quốc kỳ. 72 ccccccszszsea 38 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM Hình 41: Trang bảng xếp hạng nhìn quốc kỳ đoán quốc gia.--- 5: 2+2+z+2z+: 39 Hinh 42: Trang thông tin và thành tựu cá nhân. mg 40 Hình 43: Hàm shuffle mảng.

22 2212212121121 1121 1121111112 118211011 1111115 101 x6 41 Hình 44: Shuffle câu hỏi và câu trả ÏỜI.121 11121111111 2112111111111 1121 ng ưu 41 Hình 45: Bảng màu được thông qua ý tướng vả lên thiết kế trên Fipma. 45 Hình 46: Trang thiết kế login. 45 Hinh 47: Trang thiết kế hoime.eeg 46 Hình 48: Trang thiết kế chọn chế độ và chọn chế WO. eerie 47 Hình 49: Trang thiết kế chơi game chế độ nhìn quốc kỷ đoán quốc gia.

48 Hinh 50: Trang thiết kế chơi same nhìn tên đoán quôc kỷ.--cccccce: 49 Hình 51: Trang thiết kế bảng xếp hạng. 2-5 St 1E 1E 1211211211112111111221 2 1c 10 50 si 0n/280ii,. 51 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM 1. Giới thiệu công nghệ (Tools) Zl.

Visual Studio Code Visual Studio Code la trinh bién dich, soan thao ma nguồn code miễn phí được phat trién boi Microsoft danh cho Window, macOS va Linux. Voi kha năng cho phép người dùng cải đặt nhtmg Extensions, nham hé tro thém bớt những chức năng hay tinh năng Visual Studio Code cần thiết để có thê tối ưu hóa việc phát triển code. Cùng với đó là khả Hình I: Visual Studio Code năng thích ứng với đa ngôn ngữ lập trinh như Java, C#, Python,. Expo Go Expo Go là ứng dụng miễn phí với mã nguồn mở hỗ trợ cho các nhà phát triển phần mềm ứng dụng trên di động, dành cho cả Android và IOS.

Với một giao diện đơn giản và dễ tiếp cận, cũng như cách thức vận hành trơn tru chỉ với việc scan mã QR sau khi nhập lệnh npx expo start. Hinh 2; Expo Go oid Studio Android Studio là môi trường phát trên = Hinh 3: Minh hoa ma OR quét Expo Go tich hop (IDE) chinh thire dé phat triển ứng dụng Android. Với việc tích hợp tat cả các phiên bản Android từ cũ nhất đến bản cập nhật gần nhất. Cùng với đó là giao diện và trình soan thao théng minh cua IntelliJ IDEA, cho phép ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ 7 NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM xây dựng phần mềm theo Gradle hay Kotlin.

Android Studio mang lại nhiều tính năng giúp bạn nâng cao năng suất khi xây dựng ứng dụng Android, ví dụ như: @ Mot hé thong hé tro chạy máy ảo. ® Một trình mô phóng nhanh vả nhiều tính năng. @® Niột môi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bị Android. ® Tinh nang Live Edit - Chỉnh sửa trực tiếp, để cập nhật các thành phần kết hợp trong mô phỏng và thiết bị thực theo thời gian thực.

@ Hétro C++ va NDK. @ Tich hop san tinh nang hé tro Google Cloud Platform, gitp dé dang Hinh 4: Android Studio tich hop Google Messaging va App Engine. Figma Figma là một công cụ thiết kế đỗ họa vector có giao diện người dùng trực tuyến dựa trên nền tảng đám mây, cho phép người dùng thiết kế UX/UI], ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 8 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM dựng prototypes, phát triển và chia sẻ các thiết kế của họ với các thành viên khác trone nhóm làm việc. Điểm đặc biệt nhất của Flema chính là khả năng hoạt động trực tuyến, tương tự như Google Docs hay Sheet.

Tại đây, nhiều người dùng có thê thao tác trực tiếp trong cùng một file ở cùng một thời điểm. Như vậy, người dùng có thé chỉnh sửa, theo đõi chỉnh sửa một cách dễ đàng và nhanh chóng, tiết kiệm thời gian gửi đi qua lại rườm ra. Bên cạnh đó, Fipema còn có tính năng tương tự như các công cụ thiết kế đồ họa khác, tương thích với cả Window và Mac OS đồng thời tích hợp nhiều chức năng cộng tác và quản lý dự án. Figma được đánh giá cao vì tính đơn giản, dễ sử dụng và khả năng làm việc nhóm hay xử lý công việc từ xa cực hiệu quả.

Điều đó nó đã tiết kiệm rất nhiều thời gian và có thê hợp thức hóa quy trình làm việc của nhóm. Điều đó giúp chúng tôi tương tác với nhau qua online mà không cần phải gặp mặt bên ngoài và tiết kiệm được nhiều thời gian hơn trong quá trinh làm việc. (Flpma là gì? Khám phá những tính năng tuyệt vời của Flema, ie Figma Hinh 3: Figma n. Git Git là gì? ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM Git la hệ thống quản lý phiên bản , © phân tán.

Đây là hệ thông quản lý phô biến nhất hiện nay. Git là một phiên bản Đ 1 của DVCS hay còn gọi là VCS. Sử dụng Git sẽ đem tới cho các lập trình viên tình 6-Cn một kho lưu trữ, trone đó chứa đầy đủ các lịch sử thay đổi của hệ thống. (Gít là gi? Cac lénh git co ban ma moi lap trình viên nên biết, n.) Cách hoạt động của Git Giống như các VCS khác, Git hoạt động bằng cách ghi nhận lại mọi thay đổi trong hệ thống file theo thoi sian.

Sự khác biệt cua Git la mỗi khi một thay đổi được người dùng xác nhận, Git sẽ giúp lại trạng thái của toàn bộ hệ thống file tại thời điểm đó, nghĩa là lưu lại phiên bản đã thay đổi của các file. Mỗi Version của hệ thống file đều chứa đầy đủ các file kế cả có thay đổi hay không. Ví dụ Version 2 có sự thay đổi tại file A va file C so véi Version 1, các file đã thay đổi là A1 và C1 sẽ được lưu vào chỗ tương ứng. Git cũng rất thông minh khi không copy lại file B không bị thay đổi mà chỉ tham chiếu đến vi tri cua file B trong version trước đó, p1úp eiảm lãng phí bộ nhớ do trùng lặp.

Mặt khác, cac VCS khac nhu CVS, Subversion, Perforce,. déu itr lai các file ban đầu như một phiên bản gốc và chỉ lưu những phần bị thay đổi (delta) tương ứng với từng file mỗi lần cập nhật thay đôi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu Ứng Dụng Mobile Trắc Nghiệm Flags Quiz App - Đồ Án Thực Tập Lập Trình A là một báo cáo chi tiết về quy trình xây dựng một ứng dụng game trắc nghiệm kiến thức về quốc kỳ trên nền tảng di động. Đây là nguồn tham khảo vô cùng hữu ích cho sinh viên và những người mới bắt đầu trong lĩnh vực lập trình, mang đến cái nhìn thực tế về cách cấu trúc một dự án, các bước cần thiết để phát triển một ứng dụng hoàn chỉnh từ khâu lên ý tưởng, thiết kế đến triển khai.

Bên cạnh việc phát triển một ứng dụng giải trí đơn giản, lĩnh vực lập trình di động còn vô cùng rộng lớn với nhiều ứng dụng phục vụ các mục đích khác nhau. Để mở rộng kiến thức, bạn có thể tìm hiểu sâu hơn về việc xây dựng một hệ thống phức tạp trong lĩnh vực dịch vụ qua đề tài Đồ án hcmute xây dựng app khám bệnh online với react native và nodejs. Nếu quan tâm đến việc ứng dụng công nghệ để hỗ trợ kinh doanh, Đồ án chuyên ngành xây dựng ứng dụng di động bán hoa dflower cho cửa hàng ld ở bình dương sẽ là một ví dụ thực tiễn đầy giá trị. Ngoài ra, để đi sâu vào các tính năng cụ thể và tích hợp backend, việc khám phá Luận văn tốt nghiệp xây dựng ứng dụng chat trong android với firebase sẽ giúp bạn hiểu rõ hơn về cách xây dựng chức năng giao tiếp theo thời gian thực. Mỗi tài liệu là một cơ hội để bạn đào sâu hơn vào các khía cạnh đa dạng của ngành phát triển ứng dụng di động.