Trò chơi trắc nghiệm, trau dồi kiến thức trên Android MỞ ĐẦU 1.. Lấy ý tưởng từ gameshow truyền hình Ai là triêu phú, một trò chơi đang hấp dẫn nhiều người chơi hiện nay và xuất phát từ
Trang 1v
MỤC LỤC
MỞ ĐẦU 1
1.1 CẤU TRÚC TỔNG QUAN Error! Bookmark not defined
1.2 GIỚI THIỆU VỀ ANDROID Error! Bookmark not defined
1.3 KIẾN TRÚC CỦA ANDROID Error! Bookmark not defined
1.3.1 Linux Kernel Error! Bookmark not defined
1.3.2 Libraries Error! Bookmark not defined
1.3.3 Android Runtime Error! Bookmark not defined
1.3.4 Application framework Error! Bookmark not defined
1.3.5 Application Error! Bookmark not defined
1.4 ANDROID EMULATOR Error! Bookmark not defined
1.5 CÁC THÀNH PHẦN TRONG MỘT DỰ ÁN ANDROID Error!
Bookmark not defined.
1.5.1 AndroidManifest.xml Error! Bookmark not defined
1.5.2 File R.java Error! Bookmark not defined
1.6 CHU KỲ ỨNG DỤNG ANDROID Error! Bookmark not defined
1.6.1 Chu kỳ sống thành phần Error! Bookmark not defined
1.6.2 Activity Stack Error! Bookmark not defined
1.6.3 Các trạng thái của chu kỳ sống Error! Bookmark not defined
1.6.4 Chu kỳ sống của ứng dụng Error! Bookmark not defined
1.6.5 Các sự kiện trong chu kỳ sống của ứng dụngError! Bookmark
not defined.
1.6.6 Thời gian sống của ứng dụng Error! Bookmark not defined
1.6.7 Thời gian hiện thị của Activity Error! Bookmark not defined
1.6.8 Các phương thức của chu kỳ sốngError! Bookmark not defined.
1.7 CÁC THÀNH PHẦN TRONG ỨNG DỤNG ANDROID Error!
Bookmark not defined.
1.7.1 View Error! Bookmark not defined
Trang 2vi
1.7.2 ViewGroup Error! Bookmark not defined
1.7.3 Button Error! Bookmark not defined
1.7.4 ImageButton Error! Bookmark not defined
1.7.5 ImageView Error! Bookmark not defined
1.7.6 ListView Error! Bookmark not defined
1.7.7 TextView Error! Bookmark not defined
1.7.8 EditText Error! Bookmark not defined
1.7.9 CheckBox Error! Bookmark not defined
1.7.10 RadioButton Error! Bookmark not defined
1.7.11 Intent Error! Bookmark not defined
1.7.12 Activity Error! Bookmark not defined
1.7.13 Service Error! Bookmark not defined
1.7.14 Broadcast Receiver Error! Bookmark not defined
1.8 WEBSERVICE Error! Bookmark not defined
1.8.1 Khái niệm Webservice Error! Bookmark not defined
1.8.2 Đặc điểm Webservice Error! Bookmark not defined
1.8.3 Giới thiệu về JSON Error! Bookmark not defined
1.9 ASP.NET Error! Bookmark not defined
1.10 TỔNG KẾT Error! Bookmark not defined
not defined
2.1 KHÁI QUÁT ĐỀ TÀI Error! Bookmark not defined
2.2 MÔ TẢ BÀI TOÁN Error! Bookmark not defined
2.2.1 Cấu trúc hệ thống Error! Bookmark not defined
2.2.2 Yêu cầu chức năng Error! Bookmark not defined
2.2.3 Yêu cầu phi chức năng Error! Bookmark not defined
2.3 XÂY DỰNG HỆ THỐNG Error! Bookmark not defined
2.3.1 Biểu đồ ca sử dụng Error! Bookmark not defined
2.3.2 Biểu đồ hoạt động Error! Bookmark not defined
Trang 3vii
2.3.3 Biểu đồ tuần tự Error! Bookmark not defined
2.3.4 Biểu đồ lớp Error! Bookmark not defined
2.4 THIẾT KẾ CƠ SỞ DỮ LIỆU Error! Bookmark not defined
2.4.1 Biểu đồ cơ sở dữ liệu Error! Bookmark not defined
2.4.2 Bảng dữ liệu Error! Bookmark not defined
Chương 3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 3
3.1 CÔNG CỤ - MÔI TRƯỜNG PHÁT TRIỂN 3
3.2 KẾT QUẢ DEMO 3
3.3 LỖI PHÁT SINH VÀ CÁCH GIẢI QUYẾT 8
3.3.1 Lỗi khi import một dự án Android 8
3.3.2 Thiếu thư viện khi đưa dự án qua máy khác 8
3.3.3 Code thừa 8
3.4 ĐÁNH GIÁ ỨNG DỤNG 8
3.4.1 Mục tiêu đạt được 8
3.4.2 Hạn chế 9
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 10
TÓM TẮT ĐỒ ÁN 11 TÀI LIỆU THAM KHẢO Error! Bookmark not defined.
Trang 4viii
DANH MỤC HÌNH VẼHình 1 Cấu trúc tổng quan Error! Bookmark not defined Hình 2 Kiến trúc các tầng hệ thống Android Error! Bookmark not defined Hình 3 Activity Stack Error! Bookmark not defined Hình 4 Chu kỳ sống của Activity Error! Bookmark not defined Hình 5 Các sự kiện trong chu kỳ sống của ứng dụng Android Error!
Bookmark not defined.
Hình 6 Cấu trúc một giao diện ứng dụng AndroidError! Bookmark not defined.
Hình 7 ImageView và ImageButton Error! Bookmark not defined Hình 8 Truyền dữ liệu giữa 2 Activity Error! Bookmark not defined Hình 9 Các thuộc tính của Intend Error! Bookmark not defined Hình 10 Các Action đã đƣợc định nghĩa sẵn trong IntendError! Bookmark not defined.
Hình 11 Minh họa JSONObject Error! Bookmark not defined Hình 12 Minh họa JSONArray Error! Bookmark not defined Hình 13 Mô tả ứng dụng Error! Bookmark not defined Hình 14 Biểu đồ ca sử dụng tổng quát Error! Bookmark not defined Hình 15 Use case Đăng ký Error! Bookmark not defined Hình 16 Use case Quên mật khẩu Error! Bookmark not defined Hình 17 Use case Đăng nhập Error! Bookmark not defined Hình 18 Use case Quản lý thông tin cá nhân Error! Bookmark not defined Hình 19 Use case Cửa hàng Error! Bookmark not defined Hình 20 Use case Xếp hạng Error! Bookmark not defined Hình 21 Use case Vào trò chơi Error! Bookmark not defined Hình 22 Use case Thêm câu hỏi Error! Bookmark not defined Hình 23 Use case Bình chọn câu hỏi Error! Bookmark not defined Hình 24 Biểu đồ hoạt động Đăng ký Error! Bookmark not defined Hình 25 Biểu đồ hoạt động Đăng nhập Error! Bookmark not defined Hình 26 Biểu đồ hoạt đọng Quên mật khẩu Error! Bookmark not defined
Trang 5ix
Hình 27 Biểu đồ hoạt động Quản lý thông tin cá nhânError! Bookmark not
defined.
Hình 28 Biểu đồ hoạt động Vào trò chơi Error! Bookmark not defined Hình 29 Biểu đồ hoạt động Cửa hàng Error! Bookmark not defined Hình 30 Biểu đồ hoạt động xếp hạng Error! Bookmark not defined Hình 31 Biểu đồ hoạt động Thêm câu hỏi Error! Bookmark not defined Hình 32 Biểu đồ tuần tự Đăng ký Error! Bookmark not defined Hình 33 Biểu đồ tuần tự Đăng nhập Error! Bookmark not defined Hình 34 Biểu đồ tuần tự Quên mật khẩu Error! Bookmark not defined Hình 35 Biểu đồ tuần tự Quản lý thông tin cá nhânError! Bookmark not defined.
Hình 36 Biểu đồ tuần tự Cửa hàng Error! Bookmark not defined Hình 37 Biểu đồ tuần tự vào trò chơi Error! Bookmark not defined Hình 38 Biểu đồ tuần tự Xếp hạng Error! Bookmark not defined Hình 39 Biểu đồ tuần tự Thêm câu hỏi Error! Bookmark not defined Hình 40 Biểu đồ tuần tự Bình chọn câu hỏi Error! Bookmark not defined Hình 41 Biểu đồ lớp ứng dụng Error! Bookmark not defined Hình 42 Biểu đồ cơ sở dữ liệu Error! Bookmark not defined
Hình 43 Màn hình Đăng nhập 3
Hình 44 Màn hình Đăng ký 3
Hình 45 Màn hình Quên mật khẩu 4
Hình 46 Màn hình Trang chủ 4
Hình 47 Màn hình Quản lý thông tin 4
Hình 48 Màn hình cập nhật thông tin 4
Hình 49 Màn hình Chọn lĩnh vực 5
Hình 50 Màn hình Câu hỏi & tiền 5
Hình 51 Màn hình Trả lời câu hỏi 5
Hình 52 Màn hình Khi chọn đáp án 5
Hình 53 Màn hình Dừng trò chơi 6
Hình 54 Màn hình Kết quả 6
Trang 6x
Hình 55 Màn hình Cửa hàng 6
Hình 56 Màn hình Chọn số lƣợng 6
Hình 57 Màn hình Xếp hạng trí tuệ 7
Hình 58.Màn hình Xếp hạng Đẳng cấp 7
Hình 59 Màn hình Xếp hạng Phú hộ 7
Hình 60 Màn hình Bình chọn câu hỏi 7
Trang 7xi
DANH MỤC BẢNG BIỂUBảng 1 Mô tả Use case Đăng ký Error! Bookmark not defined Bảng 2 Mô tả Use case Quên mật khẩu Error! Bookmark not defined Bảng 3 Mô tả Use case Đăng nhập Error! Bookmark not defined Bảng 4 Mô tả Use case Quản lý thông tin cá nhânError! Bookmark not defined.
Bảng 5 Mô tả Use case Cửa hàng Error! Bookmark not defined Bảng 6 Mô tả Use case Xếp hạng Error! Bookmark not defined Bảng 7 Mô tả Use case Vào trò chơi Error! Bookmark not defined Bảng 8 Mô tả Use case Thêm câu hỏi Error! Bookmark not defined Bảng 9 Mô tả Use case Bình chọn câu hỏi Error! Bookmark not defined Bảng 10 Mô tả bảng User Error! Bookmark not defined Bảng 11 Mô tả bảng Knowledge Error! Bookmark not defined Bảng 12 Mô tả bảng Question Error! Bookmark not defined Bảng 13 Mô tả bảng Rank Error! Bookmark not defined Bảng 14 Mô tả bảng AddQuestion Error! Bookmark not defined Bảng 15 Mô tả bảng Notify Error! Bookmark not defined Bảng 16 Mô tả bảng Votes Error! Bookmark not defined
Trang 8xii
DANH MỤC TỪ VIẾT TẮT
Trang 9Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
MỞ ĐẦU
1 Bối cảnh thực hiện đề tài
Ngành công nghệ thông tin trong những năm đầu thế kỉ 21 đang có những bước phát triển thật sự mạnh mẽ Sự ra đời liên tục của các dòng máy tính, điện thoại thông minh, máy tính bảng và nhiều sản phẩm khác ngày càng hiện đại với các công nghệ mới liên tục được ra mắt và áp dụng, giúp cho cuộc sống của con người chúng ta ngày càng được cải thiện và nâng cao
Điện thoại thông minh (smartphone) đang ngày càng phổ biến, chiếm lĩnh thị trường của giới di động Có rất nhiều hệ điều hành được cài đặt trên các dòng điện thoại thông minh này, nhưng chiếm thị phần cao hơn cả chính là hệ điều hành Android
Mặc khác, Android là một hệ điều hành mã nguồn mở dựa trên nhân hệ điều hành Linux và chính điều đó cùng với giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di dộng và các lập trình viên được điều chỉnh
và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị bằng ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Phay, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, mức tăng trưởng của Android vượt lên dẫn đầu so với iPhone, Windows Phone và nhiều hãng khác, được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh và giá rẻ, chạy trên các thiết bị công nghệ cao thay vì tạo dựng lại từ đầu Kết quả là mặc dù được thiết kế để chạy điện thoại và máy tính bảng, nhưng Android đã xuất hiện trên TV, máy chơi game, và các thiết bị điện tử khác Bản chất mở của Android đã tạo nên một cộng đồng lập trình viên Android rất lớn trên toàn thế giới, điều này làm cho việc tìm ra giải pháp cho các vấn đề gặp phải cũng như việc tìm kiếm các lập trình viên có cùng mục địch để chia sẻ ý tưởng về ứng dụng và trao đổi kinh nghiệm trở nên dễ dang hơn rất nhiều
Lấy ý tưởng từ gameshow truyền hình Ai là triêu phú, một trò chơi đang hấp dẫn nhiều người chơi hiện nay và xuất phát từ sự đam mê của người dùng muốn được trực tiếp thử sức trên điện thoại di động cầm tay ở mọi lúc mọi nơi đã làm cho
em có một vài ý tưởng xây dựng trò chơi trắc nghiệm, trau dồi kiến thức nhằm giúp cho người chơi phần nào có thể ôn, học hỏi các kiến thức rộng lớn xung quanh chúng ta một cách dễ dàng thông qua một trò chơi được chia thành từng lĩnh vực
mà người chơi có thể học hỏi tùy vào sở thích
Trang 10Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
2 Mục đích của đề tài
Trò chơi trắc nghiệm, trau dồi kiến thức trên nền tảng Android được thực hiện trên các mục đích sau:
- Nghiên cứu các công nghệ lập trình ứng dụng trên Android
- Phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng dụng vào thực tế, giúp mọi người có thể vừa học vừa chơi, cảm thấy hứng thú, vui vẻ
3 Phạm vi của đề tài
Đối tượng mà trò chơi hướng đến mọi người có sở hữu điện thoại thông minh chạy hệ điều hành Android Nền tảng xây dựng ứng dụng là hệ điều hành di động Android
Kho dữ liệu được xây dựng và phát triển trên mạng internet, cung cấp Webservice và các hình thức để sử dụng, khai thác dữ liệu của kho
4 Hình thức thể hiện
Ứng dụng được viết bằng ngôn ngữ Java Android
Webservices thực hiện dự trên:
- Ngôn ngữ Asp.net
- Hệ quản trị cở sở dữ liệu: Sql Server
5 Bố cục báo cáo
Báo cáo đề tài gồm các chương sau:
Chương 1: Cơ sở lí thuyết
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Triển khai và đánh giá kết quả
Kết luận
Trang 11Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Môi trường sử dụng để phát triển ứng dụng bao gồm:
- Hệ điều hành: Microsoft Windows
- Ngôn ngữ: Java, Asp.net
- Môi trường phát triển:
o JDK 1.8
o Android SDK
o Eclipse: phát triển ứng dụng Android
o Visual Studio 2010: công cụ soạn thảo mã nguồn Asp.net
Trang 12Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Hình 3 Màn hình Quên mật khẩu Hình 4 Màn hình Trang chủ
Hình 5 Màn hình Quản lý thông tin Hình 6 Màn hình cập nhật thông tin
Trang 13Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Hình 7 Màn hình Chọn lĩnh vực Hình 8 Màn hình Câu hỏi & tiền
Hình 9 Màn hình Trả lời câu hỏi Hình 10 Màn hình Khi chọn đáp án
Trang 14Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Hình 11 Màn hình Dừng trò chơi Hình 12 Màn hình Kết quả
Hình 13 Màn hình Cửa hàng Hình 14 Màn hình Chọn số lƣợng
Trang 15Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Hình 15 Màn hình Xếp hạng trí tuệ Hình 16.Màn hình Xếp hạng Đẳng cấp
Hình 17 Màn hình Xếp hạng Phú hộ Hình 18 Màn hình Bình chọn câu hỏi
Trang 16Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Phần lớn là do trong khi khởi tạo 1 dự án android ta chọn platform Khi ta import dự án android ở máy tính khác mà trong thư mục andoid sdk không có platforms mà dự án yêu cầu thì nó sẽ xuất hiện thông báo lỗi, chúng ta không thể biên dịch hay chạy chương trình
Hướng giải quyết: ta ép dự án android về phiên bản platform mà sdk của máy
có
Khi ta muốn sử dụng 1 thư viện jar từ bên ngoài chúng ta thường “add extenals archives” ở đây eclipse sẽ sử dụng đường đẫn tuyệt đối để chỉ đường đẫn tới thư viện Khi ta chuyển dự án qua máy khác thì đường đẫn tuyệt đối bị thay đổi Dẫn đến project bị thay đổi Khi đó các hàm các lớp sử dụng thư viện này đều bị lỗi Hướng giải quyết: sửa lại đường đẫn trong “java building path” Hoặc kích chuột phải vào project, chọn properties/android/add, để chọn lại thư viện cho project
Eclipse sẽ báo cho chúng ta biết các phần code thừa không dùng đến bằng dấu chấm thang màu vàng
- Các trường hợp code thừa:
o Khai báo biến toàn cục là private mà không có getter hay setter
o Khai báo thừa thư viện
o Khai báo trong hàm mà không sử dụng
- Giải pháp:
o Tạo getter, setter cho các biến private
o Xóa các khai báo import thư viện thừa
o Xóa các biến khai báo mà không dùng đến
Ứng dụng chạy ổn định, người chơi có thể chơi trò chơi trực tiếp trên điện thoại Android ngay sau khi cài đặt, đáp ứng được các yêu cầu ban đầu đề ra
Trang 17Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
Trò chơi chỉ chơi đơn một người, chưa tạo được mối liên kết sinh động giữa các người chơi như thách đấu trực tuyến giữa hai người chơi, tìm bạn bè xung quanh mình theo độ tuổi hay giới tính để cùng nhau kết bạn chơi trò chơi
Vì xây dựng trên Webservice nên trò chơi bắt buộc bạn phải có kết nối intener thì mới chơi được