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.
21 trang |
Chia sẻ: lecuong1825 | Lượt xem: 3163 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Trò chơi trắc nghiệm, trau dồi kiến thức trên Android, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
v
MỤC LỤC
MỞ ĐẦU ............................................................................................................ 1
Chƣơng 1. CƠ SỞ LÝ THUYẾT ................... Error! Bookmark not defined.
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.
vi
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.
Chƣơng 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNGError! Bookmark
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.
vii
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.
viii
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.
ix
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
x
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
xi
DANH MỤC BẢNG BIỂU
Bả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.
xii
DANH MỤC TỪ VIẾT TẮT
STT Tên Ý nghĩa
1 JDK Java Development Kit
2 SDK Software Development Kit
3 HTTP Hyper Text Transfer Protocol
4 JSON Javascript Object Notation
5 ADT Android Developer Tools
7 CSDL Cơ Sở Dữ Liệu
8 XML Extensible Markup Language
Trò 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.
Trò 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
Trò 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Ả
1.1 CÔNG CỤ - MÔI TRƢỜNG PHÁT TRIỂN
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
o Sql Server 2008 R2 Express.
o Máy ảo Android Genymotion.
o
1.2 KẾT QUẢ DEMO
Hình 1. Màn hình Đăng nhập Hình 2. Màn hình Đăng ký
Trò 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
Trò 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
Trò 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
Trò 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
Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
1.3 LỖI PHÁT SINH VÀ CÁCH GIẢI QUYẾT
1.3.1 Lỗi khi import một dự á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ó.
1.3.2 Thiếu thƣ viện khi đƣa dự án qua máy khá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.
1.3.3 Code thừa
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.
1.4 ĐÁNH GIÁ ỨNG DỤNG
1.4.1 Mục tiêu đạt đƣợc
Ứ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.
Trò chơi trắc nghiệm, trau dồi kiến thức trên Android
1.4.2 Hạn chế
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