Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,03 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ĐỀ TÀI: APP TRẮC NGHIỆM TIẾNG ANH Sinh viên thực : NGUYỄN HÙNG Giảng viên hướng dẫn : TS NGUYỄN ANH TUẤN Lớp : 18CE Đà nẵng, tháng năm 2020 ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ĐỀ TÀI: APP TRẮC NGHIỆM TIẾNG ANH Đà nẵng, tháng 8, năm 2020 MỞ ĐẦU Trong năm gần đây, tảng công nghệ thơng tin phát triển mạnh mẽ với đời thiết bị di động máy tính bảng, điện thoại, smartphone… ngày ưa chuộng sử dụng nhiều Các ứng dụng khơng chạy máy tính mà cịn chạy thiết bị có hệ điều hành Và việc xây dựng ứng dụng cho thiết bị người ta quan tâm nhiều Các ứng dụng dựa tảng hệ điều hành cho thiết bị di động ngày đa dạng phong phú hơn, đáp ứng ngày nhiều yêu cầu thực tế người dùng Mỗi thiết bị chứa hệ điều hành có khả chạy ứng dụng máy tính Có thể nói hệ điều hành tảng ứng dụng làm phong phú cho tảng Android OS hệ điều hành điện thoại di động phát triển Google dựa tảng Linux Việc xây dựng ứng dụng cho điện thoại di động chạy hệ điều hành Android phát triển Việt Nam Với hấp dẫn ứng dụng Android với tính tị mị thích khám phá khuyến khích bạn bè cô giáo hướng dẫn Chúng em định thực đồ án “Xây dựng ứng dụng trắc nghiệm tiếng anh hệ điều hành Android” Nội dung đồ án em gồm chương LỜI CẢM ƠN Trong thời gian làm đồ án, em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy bạn bè Chúng em xin gửi lời cảm ơn chân thành đến thấy Nguyễn Anh Tuấn, người tận tình hướng dẫn, bảo chúng em suốt trình làm đồ án Chúng em xin chân thành cảm ơn thầy giáo Khoa CNTT-TT nói chung, thầy mơn lập trình di động nói riêng dạy dỗ cho em kiến thức môn đại cương môn chuyên ngành, giúp chúng em có sở lí thuyết vững vàng tạo điều kiện giúp đỡ chúng em suốt trình học tập Cuối cùng, chúng em xin chân thành cảm ơn thầy bạn bè tạo điều kiện, quan tâm, giúp đỡ, động viên chúng em suốt trình làm đồ án (Mẫu) NHẬN XÉT (Của giảng viên hướng dẫn) (Bold, size 16, xếp sau trang nhận xét quan thực tập) size 13 …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………………………… NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… MỤC LỤC CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17 KẾT LUẬN 23 CHƯƠNG 1: TỔNG QUAN ANDROID 1.1 Hệ điều hành Android Android tảng mã nguồn mở toàn diện thiết kế cho thiết bị di động Nó liên minh ơng lớn Google Open Handset Alliance tập đoàn sản xuất thiết bị cầm tay tiếng Intel, SamSung,Toshiba… Với mục tiêu “tăng tốc việc đổi di động cung cấp chongười tiêu dùng nhiều tiện ích phong phú, tốn kém.” Và Android cơngcụ để làm điều Android tảng tồn diện điều có nghĩa tập hợp phần mềm hoàn chỉnh cho thiết bị di động Đối với nhà phát triển Android cung cấp công cụ khung cho việc phát triển ứngdụng cách nhanh chóng dễ dàng Thư viện Android SDK tất mà cần dùng để bắt đầu phát triển với android; khơng có điện thoại thật Cịn người sử dụng, Android làm việc cách xáctrên bề mặt hình điện thoại Thêm vào người sử dụng tùychỉnh điện thoại theo cách riêng họ Đối với nhà sản xuất Android giải pháp hoàn chỉnh để chạy thiết bị họ Khác với số trình điềukhiển phần cứng cụ thể, Android cung cấp thứ để thiết bị họ làm việc Android tảng mã nguồn mở, toàn ngăn xếp từ module cấp thấp Linux đến tất thư viện gốc từ ứng dụng khung ứng dụng hoàn chỉnh hoàn toàn mở Hơn Android chứngnhận hệ điều hành thân thiện với người sử dụng Nó cấp giấy phép Apache/MIT (giấy phép chứng nhận mã nguồn mở thân thiện) mở rộng phát triển với nhiều mục đích khác mà không cần phải để ý đến quyền hay giấy phép sử dụng Điều đồng nghĩa với việc bạn xem tồn mã nguồn tảng, thêm thiết kế bí mật bạn không đưa lại cộng đồng không muốn Giống phần mềm nào, Android cải thiện theo thời gian, điều phản ánh số phiên Các phiên thay đổi theo thời gian vá lỗi cải tiến hiệu suất 1.2 Kiến trúc Android 1.2.1 Tầng hạt nhân Linux (Linux Kernel Layer) Hệ điều hành android phát dựa hạt nhân linux, cụ thể hạt nhân linux phiên 2.6, điều thể lớp Tất hoạt động điện thoại muốn thi hành thực mức cấp thấp lớp bao gồm quản lý nhớ (memory management), giao tiếp với phần cứng (driver model), thực bảo mật (security), quản lý tiến trình(process) Kernel Linux hoạt động lớp trừu tượng hóa phần cứng phần lại ngăn xếp phần mềm Tuy phát triển dựa vào nhân linux thực nhân linux nâng cấp sửa đổi nhiều để phù hợp với tính chất thiết bị cầm tay hạn chế vi xử lý, dung lượng nhớ, kích thước hình, nhu cần kết nối mạng khơng dây Tầng có thành phần chủ yếu : - Display Driver : Điều khiển việc hiển thị lên thu nhận điều khiển người dùng lên hình (di chuyển, cảm ứng ) - Camera Driver : Điều kiển hoạt động camera, nhận luồng liệu từ camera trả - Bluetooth Driver : Điều khiển thiết bị phát thu sóng Bluetooth USB driver : Quản lý hoạt động cổng giao tiếp USB - Keypad driver : Điều khiển bàn phím - Wifi Driver : Chịu trách nhiệm việc thu phát sóng wifi - Audio Driver : điều khiển thu phát âm thanh, giải mã tính hiệu dạng audio thành tín hiệu số ngược lại - Binder IPC Driver : Chịu trách nhiệm việc kết nối liên lạc với mạng vô tuyến CDMA, GSM, 3G, 4G, E để đảm bảo chức truyền thông thực - M-System Driver : Quản lý việc đọc ghi lên thiết bị nhớ thẻ SD, flash - Power Madagement : Giám sát việc tiêu thụ điện 1.2.2 Tầng Library Android Runtime Android bao gồm tập hợp thư viện mà cung cấp hầu hết chức có sẵn thư viện lõi ngơn ngữ lập trình Java Tất ứng dụng Android chạy tiến trình riêng Máy ảo Dalvik viết thiết bị chạy nhiều máy ảo hiệu Các VM Dalvik thựcthi tập tin thực thi Dalvik (dex) Định dạng tối ưu hóa cho nhớ tối thiểu VM dựa register-based, chạy lớp biên dịch trình biên dịch Java để chuyển đổi thành định dạng dex Các VM Dalvik dựavào nhân Linux cho hức luồng quản lý nhớ thấp Tầng có thành phần phần Libraríe Android Runtime: a Phần Libraries: phần có nhiều thư viện viết C/C++để phần mềm sử dụng, thư viện tập hợp thành số nhóm như: - Thư viện hệ thống (System C library) : thư viện dựa chuẩn C, sử dụng hệ điều hành - Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát ghi loại định dạng âm thanh, hình ảnh,video thơng dụng - Thư viện web (LibWebCore) : Đây thành phần để xem nội dung web, sử dụng để xây dựng phần mềm duyệt web (Android Browse) để ứng dụng khác nhúng vào Nó mạnh, hỗ trợ nhiều công nghệ mạnh mẽ HTML5, JavaScript, CSS, DOM,AJAX - Thư viện SQLite : Hệ sở liệu để ứng dụng sử dụng b Phần Android runtime: phần chứa thư viện mà chương trình viết ngơn ngữ Java hoạt động Phần có phận tương tự mơ hình chạy Java máy tính thường Thứ thư viện lõi (Core Library) , chứa lớp JAVA IO,Collections, File Access Thứ hai máy ảo java (DalvikVirtual Machine) Tại ứng dụng viết Java chạy máy ảo Dalvik thay cho máy ảo Java VM Sun 1.2.3 Tầng Application Framework Bằng cách cung cấp tảng phát triển mở, Android cung cấp cho nhà phát triển khả xây dựng ứng dụng phong phú sáng tạo Nhà phát triển tự tận dụng thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm thông báo để trạng thái, nhiều, nhiều Nhà phát triển truy cập vào API 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; ứng dụng xuất khả ứng dụng khác sau sử dụng khả (có thể hạn chế bảo mật thực thi khuôn khổ) Cơ chế cho phép thành phần tương tự thay người sử dụng Giới thiệu số thành phần tầng : - Activity Manager : Quản lý chu kỳ sống ứng dụng cung cấp công cụ điều khiển Activity - Telephony Manager : Cung cấp công cụ để thực việc liên lạc gọi điện thoại - XMPP Service : Cung cấp công cụ để liên lạc thời gian thực - Location Manager : Cho phép xác định vị trí điện thoại thoại dựa vào hệ thống định vị toàn cầu GPS GoogleMaps - Window Manager : Quản lý việc xây dựng hiển thị cácgiao diện người dùng tổ chức quản lý giao diện ứng dụng - Notification Manager : Quản lý việc hiển thị thơng báo (như báo có tin nhắn, có e-mail ) - Resource Manager : Quản lý tài nguyên tĩnh ứng dụng bao gồm file hình ảnh, âm thanh, layout, string (Những thành phần khơng viết ngơn ngữ lập trình) - Một tập hợp nhiều View có khả kế thừa lẫn dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,… - Một “Content Provider” cho phép ứng dụng truy xuất liệu từ ứng dụng khác (chẳng hạn Contacts) chia sẻ liệu ứng dụng 1.2.4 Tầng ứng dụng (Application) 10 Đây lớp ứng dụng giao tiếp với người dùng, bao gồm ứng dụng như: - Các ứng dụng bản, cài đặt liền với hệ điều hành gọi điện(phone), quản lý danh bạ (Contacts), duyệt web (Browser),nhắn tin (SMS), lịch làm việc (Calendar), đọc e-mail (Email-Client), đồ (Map), quay phim chụp ảnh (camera) - Các ứng dụng cài thêm phần mềm chứng khoán (Stock), trò chơi (Game), từ điển Các ứng dụng có đặc điểm là: - Viết Java, phần mở rộng apk - Khi ứng dụng chạy, có phiên Virtual Machine dựng lên để phục vụ cho Nó Active Program: Chương trình có giao diện với người sử dụng background: chương trình chạy dịch vụ - Android hệ điều hành đa nhiệm, điều có nghĩa thời điểm, có nhiều chương trình chạy lúc, nhiên, với ứng dụng có thực thể (instance) phép chạy mà thơi Điều có tác dụng hạn chế lạm dụng tài nguyên, giúp hệ thống hoạt động tốt - Các ứng dụng gán số ID người sử dụng nhằn phân định quyền hạn sử dụng tài nguyên, cấu hình phần cứng hệ thống - Android hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép ứng dụng bên thứ ba phép chạy Các ứng dụng có hạn chế nhỏ khơng phép sử dung q 5~10% cơng suất CPU, điều nhằm để tránh độc quyền việc sử dụng CPU - Ứng dụng khơng có điểm vào cố định, khơng có phương thức main để bắt đầu - Android hệ điều hành đa nhiệm, điều có nghĩa thời điểm, có nhiều chương trình chạy lúc, nhiên, với ứng dụng có thực thể (instance) phép chạy mà thơi Điều có tác dụng hạn chế lạm dụng tài nguyên, giúp hệ thống hoạt động tốt Các ứng dụng gán số ID người sử dụng nhằn phân định quyền hạn sử dụng tài nguyên, cấu hình phần cứng hệ thống.- Android hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép ứng dụng bên thứ ba phép chạy Các ứng dụng có hạn chế nhỏ khơng phép sử dung q 5~10% cơng suất CPU, điều nhằn để tránh độc quyền việc sử dụng CPU - Ứng dụng điểm vào cố định, khơng có phương thức main để bắt đầu 1.3 Các khối cấu thành nên ứng dụng Android 1.3.1 Activity 11 Lớp Activity thành phần quan trọng ứng dụng Android, cách mà chúng hoạt động tạo thành tảng mơ hình lập trình ứng dụng Android khởi chạy ứng dụng thơng thường kích hoạt Activity tương ứng với vịng đời cụ thể q trình hoạt động Vịng đời Activity: Để tạo Activity bạn phải tạo lớp kế thừa lớp Activity, sau triển khai tối thiểu phương thức onCreate(Bundle savedInstanceState), sau tùy ngữ cảnh mà Activity hoạt động vịng đời diễn sau: - onCreate(Bundle savedInstanceState): Được gọi hoạt động tạo, khởi tạo biến, nạp giao diện layout , phương thức nhận liệu lưu lại trạng thái hoạt động trước (với mục đích để phục hồi savedInstanceState) Sau kiện gọi onStart() - onStart(): Được gọi trước Activity hiển thị hình - onResume(): Được gọi Activity bắt đầu tương tác với người dùng, Activity nằm danh sách Activity hệ thống Sau phương thức chức Activity hoạt động dựa tương tác người dùng , có nguyên nhân mà phương thức OnPause gọi - onPause(): Được gọi hệ thống kích hoạt Activity khác, bạn tải phương thức này, thường để lưu lại dự liệu thật nhanh để hệ thống cịn kích hoạt Activity khác Ngay sau phương thức gọi - - onResume() Activity kích hoạt lại ngay, gọi OnStop() Activity bị ẩn - onStop(): Được gọi bị ẩn Sau phương thức này, Activity gọi onRestart() người dùng kích hoạt lại gọi onDestroy() để hết thúc - onDestroy(): gọi Activity bị hủy hồn tồn (ví dụ gọi finish(), người dùng kill Activity) 1.3.2 Intents 12 Intent đối tượng message sử dụng để request hành động từ vài component ứng dụng Intent có loại Explicit Intent Implicit Intent: - Explicit Intent: Hiểu đơn giản explicit intents intent xác định rõ cụ thể thành phần tham gia hành động - Implicit Intent: Loại Intents hành động cần thực (action) liệu cho hành động (data) Khi bạn sử dụng implicit intent, hệ thống Android tìm kiếm tất thành phần thích hợp để start cách cách so sánh nội dung Intent đc gửi với Intent filter đc khai báo ứng dụng khác Nếu intent gửi khớp với intent filter component ứng dụng đó, hệ thống khởi động thành phần cung cấp cho intent ban đầu đc gửi Nếu nhiều intent filter tương thích hệ thống hiển thị hộp thoại để người dùng chọn ứng dụng sử dụng Intent filter (bộ lọc intent) thẻ minifest nhằm xác định loại intent mà thành phần chứa intent filter muốn nhận Cấu trúc Intent: Một đối tượng intent mang theo thông tin mà hệ thống android cần để định thành phần start Và thơng tin bao gồm : Component Name, Action,Data,Category,Extra Flag Component name: Tên component start - Action: Là chuỗi xác định hành động chung để thực (chẳng hạn xem chọn) - Data: Sử dụng đối tượng Uri tham chiếu tới liệu đc thực hành động Loại liệu cung cấp thường định action intent - Category: Một chuỗi chứa thông tin bổ sung loại thành phần xử lý intent.Để nhận đc intent khơng tường minh bắt buộc ứng dụng phải khai báo category manifest - Extra: Các cặp key-value mang thơng tin bổ sung cần thiết để hồn thành hành động yêu cầu - Flag: Cờ định nghĩa lớp Intent có chức siêu liệu cho intent Cờ lệnh hệ thống Android cách khởi chạy hoạt động thuộc tác vụ nào, cách xử lý sau khởi chạy có thuộc danh sách hoạt động gần hay không 1.3.3 Services 13 Service component lớn Android Nó thành phần quan trọng Một Service thành phần (component) thực hoạt động lâu dài background khơng cung cấp giao diện người dùng Một thành phần khác ứng dụng start nó, tiếp tục chạy background người dùng chuyển sang ứng dụng khác Ngồi thành phần liên kết (bind) với Service để tương tác với Service đó, chí thực truyền thơng liên tiến trình IPC (interprocess communication - IPC bạn hiểu hoạt động chia liệu qua nhiều tiến trình, thơng thường sử dụng giao thức truyền thơng phải có Client Server) Ví dụ: Service thực giao dịch mạng, chơi nhạc, vào file I/O tương tác với content provider, tất từ background Service chia làm loại khác nhau: - Foreground Service: Một Foreground Service thực số thao tác mà người dùng ý, thấy rõ ràng Ví dụ ứng dụng nghe nhạc chơi nhạc control Foreground Service Một điều bắt buộc Foreground Service phải thị Notification Foreground Service tiếp tục chạy người dùng không tương tác với ứng dụng - Background Service: Một Background Service thực hoạt động mà khơng người dùng ý trực tiếp Ví dụ ứng dụng sử dụng service để thu gom nhớ chẳng hạn service Background Service, hoạt động mà người dùng không cần thiết phải để ý - Bound Service: Một service gọi Bound thành phần ứng dụng ràng buộc với lời gọi bindService() Một Bound Service cung cấp giao diện Client - Server cho phép thành phần tương tác với nó: gửi yêu cầu, nhận kết chí IPC Một Bound Service chạy miễn có thành phần ràng buộc với Có thể có nhiều thành phần ràng buộc với Bound Service lúc, tất tháo bỏ ràng buộc (unbound) Destroy Trước Service thường chia Started Service Bound Service 1.3.4 SQLite 14 SQLite sở liệu SQL mã nguồn mở, lưu trữ liệu vào tập tin văn thiết bị Nó mặc định tích hợp thiết bị Android Để truy cập liệu này, bạn không cần phải thiết lập loại kết nối cho JDBC, ODBC, … SQLite Richard Hipp viết dạng thư viện ngơn ngữ lập trình C SQLite có ưu điểm sau: - Tin cậy: hoạt động transaction (chuyển giao) nội sở liệu thực trọn vẹn, không gây lỗi xảy cố phần cứng - Tuân theo chuẩn SQL92 (chỉ có vài đặc điểm khơng hỗ trợ) - Khơng cần cài đặt cấu hình - Kích thước chương trình gọn nhẹ, với cấu hình đầy đủ khơng đầy 300 kB - Thực thao tác đơn giản nhanh hệ thống sở liệu khách/chủ khác - Không cần phần mềm phụ trợ - Phần mềm tự với mã nguồn mở, thích rõ ràng 15 CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI 2.1 Lý chọn đề tài - Cách khoảng 10 năm trước, việc học tiếng anh vơ khó khăn Muốn học tiếng anh bạn phải học lớp, mua đống tài liệu để “gặm nhấm”, Internet lúc khơng phổ biến - Ngày với phát triển mạnh mẽ Internet việc học tiếng anh trở nên dễ dàng Khơng cịn phải cặm cụi hàng thư viện bạn học tiếng anh lúc, nơi nhờ vào phần mềm học tiếng anh - Nắm điều đó, em tìm hiểu xây dựng ứng dụng “QUIZ APP TIẾNG ANH” 2.2 Phương pháp, kết PHƯƠNG PHÁP : Tạo ứng dụng có chức sau : - Trả lời câu hỏi trắc nghiệm - Chấm điểm - Đếm số câu hỏi - Thời gian giới hạn cho câu hỏi - Tính điểm cao sau lần kiểm tra KẾT QUẢ : Tạo ứng dụng, ứng dụng hoạt động ổn định, dùng đầy đủ chức ứng dụng Giao điện dễ nhìn, dễ sử dụng Phân loại rõ ràng chức năng, đảm bảo nhu cầu cần thiết tối thiểu cho tất người 2.3 Các công nghệ xây dựng ứng dụng - Android SDK - HTML - JAVA - SQLite 16 CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.1 Khảo sát đặc tả yêu cầu 3.1.1 Giao diện - Ứng dụng khơng nên q phức tạp - Dung lượng file không lớn - Thanh menu thật đơn giản - Font chữ đơn giản, dễ nhìn, màu sắc hài hịa - An tồn bảo mật liệu - Kiểm tra ứng dụng có tương thích với thiết bị phổ biến hay khơng - Hiển thị đề - Cho phép người dùng xem thông tin câu hỏi, đáp án, điểm số 3.1.2 Chức Đây ứng dụng giúp người dùng kiểm tra, ôn tập khả tiếng anh Có chứa sau: - Trả lời câu hỏi trắc nghiệm Chấm điểm Đếm số câu hỏi Thời gian giới hạn cho câu hỏi Tính điểm cao sau lần kiểm tra Hệ thống ứng dụng mô tả sau: - Vào ứng dụng, bấm nút “BẮT ĐẦU” để bắt đầu làm trắc nghiệm - Chọn đáp án bấm nút “XÁC NHẬN”, ứng dụng thị kết sau Nếu đáp án đúng, điểm số tăng lên - Thời gian giới hạn câu hỏi 30 giây, kết thúc đếm ngược mà người dùng chưa chọn đáp án ứng dụng hiển thị kết người dùng chọn đáp án nữa, buộc phải qua câu - Sau trả lời hết tất câu hỏi, ứng dụng tính điểm cao người dùng đạt hiển thị trang chủ 3.2 Thiết kế hệ thống ứng dụng 17 3.2.1 SQLite - SQLite phần mềm quản lý sở liệu tương tự Mysql, PostgreSQL… Đặc điểm SQLite gọn, nhẹ, đơn giản Chương trình gồm file vỏn vẹn chưa đến 400kB, khơng cần cài đặt, khơng cần cấu hình hay khởi động mà sử dụng Dữ liệu Database lưu file Khơng có khái niệm user, password hay quyền hạn SQLite Database - SQLite khơng thích hợp với hệ thống lớn quy mơ vừa tầm SQLite phát huy uy lực không yếu mặt chức hay tốc độ Với đặt điểm SQLite sử dụng nhiều việc phát triển, thử nghiệm … lựa chọn phù hợp cho người bắt đầu học Database - SQLite Engine không Standalone Process giống sở liệu khác, bạn liên kết cách tĩnh cách động tuỳ theo yêu cầu ứng dụng bạn SQLite truy cập file lưu giữ cách trực tiếp 3.2.2 Thời gian giới hạn cho câu hỏi - Để giới hạn thời gian cho câu hỏi, phần thống ấn định cho câu hỏi 30 giây Ta sử dụng CountDownTimer 18 - CountDownTimer class cung cấp chức giúp người lập trình tạo đếm ngược Android - Nếu thời gian lại 10 giây, đếm lùi chuyển sang màu đỏ để cảnh báo người dùng 19 3.2.3 Tính điểm sau câu hỏi - Hệ thống kiểm tra so sánh đáp án người dùng chọn radio group với đáp án bảng tạo SQLite - Nếu giống nhau, điểm số tăng lên sang câu - Nếu khác điểm số giữ nguyên 3.2.4 Tính điểm cao - Nếu sau lần kiểm tra, người dùng có điểm số cao lần trước, điểm cao cập nhật lại, cịn khơng điểm giữ nguyên 20 CHƯƠNG 4: THIẾT KẾ GIAO DIỆN ỨNG DỤNG 4.1 Giao diện trang chủ - Sau hoàn thành tất câu hỏi, hệ thống tính số điểm cao đạt lần kiểm tra để so sánh với lần kiểm tra trước, cao hiển thị phần “Điểm cao nhất” - Bấm nút “BẮT ĐẦU” để chuyển tới activity câu hỏi trắc nghiệm 21 4.2 Giao diện trang trả lời câu hỏi - “Số câu đúng” : hệ thống tính điểm, sau câu hỏi, tăng lên - Textview chưa câu hỏi lấy liệu từ bảng tạo SQLite - Radio group chưa đáp án lấy liệu từ bảng tạo SQLite - Button “XÁC NHẬN” để xác nhận đáp án chọn 22 KẾT LUẬN Kết đạt đề tài Sau thời gian tập trung triển khai đề tài, chúng em hoàn thành xây dựng ứng dụng trắc nghiệm tiếng anh với giao diện, thao tác sử dụng dễ dàng, thân thiện với người dùng Sau hoàn thành xong được ứng dụng, em có thêm kỹ tảng để xây dựng app ngôn ngữ JAVA SQLite, áp dụng kiến thức học vào việc phát triển ứng dụng Android Bên cạnh đó, em mở rộng thêm kiến thức chuyên ngành nhờ việc tìm hiểu số kiến thức lập trình để áp dụng vào việc phát triển ứng dụng Nhờ vậy, kỹ tự học vận dụng kỹ em nâng cao Khi thực hoàn thành dự án, em biết thêm nhiều kinh nghiệm quý giá xây dựng ứng dụng android nói riêng phát triển phần mềm Những kỹ tảng để giúp em nâng cao trình độ thân, kinh nghiệm thực tế để làm việc ngồi doanh nghiệp sau Hạn chế đề tài Bên cạnh kết khả quan đạt được, em nhận thấy tồn số hạn chế: - Còn thiếu sót số phần ứng dụng trắc nghiệm tiếng anh - Tốc độ xử lý chưa cao , số lỗi phát sinh vận hành hệ thống Hướng phát triển đề tài Sau hoàn thành đề tài xây dựng xây dựng ứng dụng trắc nghiệm tiếng anh em tiếp tục nghiên cứu phát triển website nhằm hoàn thành đầy đủ phần thiếu sót, tăng tính tối ưu hóa tốc độ xử lý để đem lại hiệu cao hơn, phát triển để đưa ứng dụng vào ứng dụng thực tế 23