1. Trang chủ
  2. » Thể loại khác

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: Ứng dụng “App ôn thi trắc nghiệm tiếng anh”

26 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 634 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giúp chúng em cóthêm kinh nghiệm, hiểu biết rõ về cách xây dựng một ứng dụng android Hiện nay tiếng Anh được xem là ngôn ngữ quốc tế số một trên thế giới, mọingười đều cần đến tiếng Anh

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYỀN THÔNG VIỆT - HÀN

ĐỒ ÁN CHUYÊN NGÀNH

ĐỀ TÀI: Ứng dụng “App ôn thi trắc nghiệm

tiếng anh”

HOÀNG ĐĂNG KHÁNH – 17IT150

Trang 2

Đà nẵng, tháng 12 năm 2020

Trang 3

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYỀN THÔNG VIỆT - HÀN

ĐỒ ÁN CHUYÊN NGÀNH Ứng dụng “App ôn thi trắc nghiệm tiếng anh”

Đà Nẵng, tháng 12 năm 2020

Trang 4

MỞ ĐẦU

2

Theo xu hướng phát triển của xã hội ngày nay, ngành công nghệ thôngtin là một trong những ngành không thể thiếu, mạng lưới thông tin trên thếgiới ngày càng phát triển, mọi người ai cũng muốn lưu trữ thông tin một cáchnhanh nhất và chính xác nhất Dựa vào những nhu cầu thực tiễn đó, vì vậynhóm chúng em xây dựng nên một ứng dụng trả lời câu hỏi trắc nghiệm tiếnganh

Việc ứng dụng công nghệ thông tin vào các xí nghiệp, cơ quan, trườnghọc là một trong những yếu tố rất quan trọng để đưa nước ta sánh vai cùngcác cường quốc năm châu Đất nước ngày càng phát triển cùng với nhiều sựchuyển biến trên thế giới nên tin học với con người là xu thế tất yếu để hộinhập với nền công nghiệp mới Để đảm bảo nguồn thông tin luôn sẵn sàng vàđáp ứng kiệp thời cho nhu cầu truy xuất Vì vậy ta phải lưu lại trực tiếp thôngtin một cách khoa học và thống nhất giúp con người dễ dàng trao đổi truyxuất thông tin

Nhóm chúng em quyết định chọn đồ án

Xây dựng ứng dụng “App ôn thi trắc nghiệm tiếng Anh”

Bởi vì đồ án rất thực tế, phù hợp với tình hình hiện nay Giúp chúng em cóthêm kinh nghiệm, hiểu biết rõ về cách xây dựng một ứng dụng android

Hiện nay tiếng Anh được xem là ngôn ngữ quốc tế số một trên thế giới, mọingười đều cần đến tiếng Anh dù ít hay nhiều, nhưng hầu như chúng ta đaphần đều chưa thật sự am hiểu đến tính quan trọng của tiếng Anh nên trình độcòn chưa tốt Nên em muốn xây dựng 1 app trắc nghiệm tiếng Anh đa nềntảng để mọi người có thể rèn luyện và cải thiện trình độ của mình trên đấy cóthể vào những thời gian rảnh ở bất kì đâu Ứng dụng phù hợp với tất cả mọingười, khi đã quen dần với các câu trả lời level thấp thì mọi người có thể nângcao khả năng của mình qua những level cao hơn Đó là lí do chúng em chọn

đề tài “Câu Hỏi Trắc Nghiệm Tiếng Anh” dành cho Android

- Phục vụ tốt hơn nhu cầu của người sử dụng

- Người dùng chỉ cần các thao tác đơn giản trên điện thoại di động (hoặcwebsite) là có thể trả lời các câu hỏi ôn tập khác nhau với đa dạng đề tài

Trang 5

LỜI CẢM ƠN

Để hoàn thành đề tài đồ án và kết thúc học phần, với tình cảm chân thành, tôi xin bày

tỏ lòng biết ơn sâu sắc tới Khoa CNTT và Truyền Thông đã tạo điều kiện cho tôi cómôi trường học tập tốt trong suốt thời gian tôi học tập, nghiên cứu tại trường

Nhóm xin gửi lời cảm ơn tới TS Huỳnh Ngọc Thọ đã giúp đỡ nhóm trong suốt quátrình nghiên cứu và trực tiếp hướng dẫn tôi hoàn thành đề tài đồ án này Đồng thời,nhóm xin bày tỏ lòng cảm ơn tới tới các thầy cô trong Khoa đã giúp đỡ nhiệt tìnhchúng em trong quá trình học các học phần để có đầy đủ kiến thức thực hiện đồ án này.Nhóm chúng em xin chân thành cảm ơn!

Trang 6

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

4

Trang 7

MỤC LỤC

Trang

Chương 1 Giới thiệu 9

1.1 Tổng quan 9

1.2 Phương pháp, kết quả 9

1.3 Cấu trúc đồ án 10

Chương 2 Cơ sở lý thuyết 11

2.1 Lịch sử android: 11

2.2 Application framework 12

2.3 Library 12

2.4 ANDROID EMULATOR 13

2.5 Hệ quản trị SQLite 13

2.6 Service 14

Chương 3 Phân tích thiết kế hệ thống 15

3.1 Biểu đồ use case 15

3.2 Đặc tả use case sử dụng 15

3.3 Biểu đồ hoạt động 17

Chương 4 Xây dựng và triển khai chương trình 18

4.1 Các module chính của chương trình 18

4.2 Kết quả 22

Chương 5 KẾT LUẬN 23

5.1 Kết quả đạt được 23

5.2 Hạn chế 23

5.3 Hướng phát triển 23

Trang 8

DANH MỤC CÁC BẢNG

Trang

Bảng 1 Làm bài 15

Bảng 2 Xem kết quả 16

Bảng 3 Xem đáp án chính xác 16

Bảng 4 Làm lại bài kiểm tra 16

6

Trang 9

DANH MỤC HÌNH

Trang

Hình 1 Biểu đồ Use case 15

Hình 2 Biểu đồ hoạt động làm bài thi 17

Hình 3 Giao diện chính 18

Hình 4 Làm bài kiểm tra 18

Hình 5 Xem điểm 19

Hình 6 Thời gian làm bài 19

Hình 7 Hoàn tất câu trả lời 20

Hình 8 Level 20

Hình 9 Đề tài 21

Hình 10 Resposive 21

Hình 11 Database 22

Trang 10

DANH MỤC CỤM TỪ VIẾT TẮT

1 Android Deverloper Tool ADT

3 Interprocess Communication IPC 4

Trang 11

Chương 1 Giới thiệu

1.1 Tổng quan

 Hiện nay tiếng Anh được xem là ngôn ngữ quốc tế số một trên thế giới, mọi người đều cần đến tiếng Anh dù ít hay nhiều, nhưng hầu như chúng ta đa phần đều chưa thật sự am hiểu đến tính quan trọng của tiếng Anh nên trình độcòn chưa tốt Nên em muốn xây dựng 1 app trắc nghiệm tiếng Anh đa nền tảng để mọi người có thể rèn luyện và cải thiện trình độ của mình trên đấy có thể vào những thời gian rảnh ở bất kì đâu Ứng dụng phù hợp với tất cả mọi người, khi đã quen dần với các câu trả lời level thấp thì mọi người có thể nâng cao khả năng của mình qua những level cao hơn Đó là lí do chúng em chọn đề tài “Câu Hỏi Trắc Nghiệm Tiếng Anh” dành cho Android

 Phục vụ tốt hơn nhu cầu của người sử dụng

 Khách hàng chỉ cần các thao tác đơn giản trên điện thoại di động là cóthể trả lời các câu hỏi ôn tập của các môn học khác nhau

 Vấn đề cần giải quyết: Xác định nhu cầu sử dụng

 Xác định công cụ hỗ trợ

 Xây dựng ý tưởng giao diện

 Đề xuất nội dung thực hiện:

 Tìm hiểu cách thức xây dựng một ứng dụng trên android

 Xây dựng thành công ứng “Câu Hỏi Trắc Nghiệm Tiếng Anh” trênandroid

 Tìm hiểu bộ Android Development Tool (Android Studio)

hệ thống

 Sau khi hoàn thành phần ứng dụng chạy trên điện thoại, em sẽnghiên cứu đến việc lấy dữ liệu vừa ghi để lưu vào SevedRecording

 Sau đây là danh sách các công nghệ sử dụng để xây dựng ứng dụng:

 Android SDK

 RecordSevice

 RecycleView

Trang 12

 Fragment

 Java

 SQLITE

Kết quả:

Ứng dụng “Câu Hỏi Trắc Nghiệm Tiếng Anh” hoàn thiện

 Các câu hỏi gần gũi

 Ứng dụng dễ dàng sử dụng

 Sau khi hoàn thành bài kiểm tra biết được kết quả đúng hay sai

 Giao diện đơn giản, dễ sử dụng

1.3 Cấu trúc đồ án

 Chương 2: Cơ sở lí thuyết

 Tập trung tìm hiểu các cơ sở lý thuyết liên quan đến đề tài

 Tìm hiểu các công cụ hỗ trợ đề tài

 Chương 3: Phân tích và thiết kế hệ thống

 Giới thiệu ứng dụng

 Giới thiệu các chức năng chính của ứng dụng

 Phân tích thiết kế hệ thống

 Thiết kế cơ sở dữ liệu

 Chương 4: Xây dựng và triển khai

 Tập trung chủ yếu vào các modul chính của chương trình

Trang 13

Chương 2 Cơ sở lý thuyết

2.1 Lịch sử android:

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty Android Inc (California, Mỹ) thiết kế Công ty này sau đó được Googlemua lại vào năm 2005 và bắt đầu xây dựng Android Platform Các thành viên chủchốt ở Android Inc gồm có: Andy Rubin, Rich Miner, Nick Sears, and Chris White

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay MãNguồn mở (Open Handset Alliance) gồm các thành viên nổi bật trong ngành viễnthông và thiết bị cầm tay như: Texas Instruments, Broadcom Corporation, Google,HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm,Samsung Electronics, Sprint Nextel, T-Mobile, ARM Holdings, AtherosCommunications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson,Toshiba Corp, and Vodafone Group…

Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn chonhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android.Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khaithác và các lập trình viên thiết bị cầm tay Phiên bản SDK lần đầu tiên phát hành vàotháng 11 năm 2007, hãng TMobile cũng công bố chiếc điện thoại Android đầu tiên

đó là chiếc T-Mobile G1, chiếc smartphone đầu tiên dựa trên nền tảng Android Mộtvài ngày sau đó, Google lại tiếp tục công bố sự ra mắt phiên bản Android SDKrelease Candidate 1.0 Trong tháng 10 năm 2008, Google được cấp giấy phép mãnguồn mở cho Android Platform Khi Android được phát hành thì một trong số cácmục tiêu trong kiến trúc của nó là cho phép các ứng dụng có thể tương tác được vớinhau và có thể sử dụng lại các thành phần từ những ứng dụng khác Việc tái sử dụngkhông chỉ được áp dụng cho các dịch vụ mà nó còn được áp dụng cho cả các thànhphần dữ liệu và giao diện người dùng Vào cuối năm 2008, Google cho phát hànhmột thiết bị cầm tay được gọi là Android Dev Phone 1 có thể chạy được các ứngdụng Android mà không bị ràng buộc vào các nhà cung cấp mạng điện thoại diđộng Mục tiêu của thiết bị này là cho phép các nhà phát triển thực hiện các cuộc thínghiệm trên một thiết bị thực có thể chạy hệ điều hành Android mà không phải kýmột bản hợp đồng nào Vào khoảng cùng thời gian đó thì Google cũng cho pháthành một phiên vản vá lỗi 1.1 của hệ điều hành này Ở cả hai phiên bản 1.0 và 1.1Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật

lý Android cố định vấn đề này bằng cách phát hành SDK 1.5 vào tháng Tư năm

2009, cùng với một số tính năng khác Chẳng hạn như nâng cao khả năng ghi âmtruyền thông, vật dụng, và các live folder

Trang 14

2.2 Application framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhàphát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà pháttriển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, cácdịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanhtrạng thái, và nhiều, nhiều hơn nữa Nhà phát triển có thể truy cập vào các API cùngmột khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc ứng dụng đượcthiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thểxuất bản khả năng của mình và ứng dụng nào khác sau đó có thể sử dụng những khảnăng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ) Cơ chế này cho phépcác thành phần tương tự sẽ được thay thế bởi người sử dụng Cơ bản tất cả các ứngdụng là một bộ các dịch vụ và các hệ thống, bao gồm: - Một tập hợp rất nhiều cácView có khả năng kế thừa lẫn nhau dùng để thiết kế phần giao diện ứng dụng như:gridview, tableview, linearlayout…

Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ cácứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng

đó - Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là

mã nguồn, chẳng hạn như: localized strings, graphics, and layout files - Một

“Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alertstrong status bar Activity Manager được dùng để quản lý chu trình sống của ứng

dụng và điều hướng các activity

2.3 Library

 Android bao gồm một tập hợp các thư viên C/C++ được sử dụng bởi nhiềuthành phần khác nhau trong hệ thống Android Điều này được thể hiện thôngqua nền tảng ứng dụng Android Một số các thư viện cơ bản được liệt kê dướiđây:

System C library: a BSD-derived implementation of the standard C

system library (libc), tuned for embedded Linux-based devices

Media Libraries - based on PacketVideo's OpenCORE; the libraries

support playback and recording of many popular audio and videoformats, as well as static image files, including MPEG4, H.264, MP3,AAC, AMR, JPG, and PNG

Surface Manager– Quản lý việc truy xuất vào hệ thống hiển thị

LibWebCore - a modern web browser engine which powers both the

Android browser and an embeddable web view

SGL - the underlying 2D graphics engine

3D libraries - an implementation based on OpenGL ES 1.0 APIs; the

libraries use either hardware 3D acceleration (where available) or theincluded, highly optimized 3D software rasterizer

FreeType - bitmap and vector font rendering

SQLite - a powerful and lightweight relational database engine

available to all applications

12

Trang 15

2.4 ANDROID EMULATOR

 Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool(ADT) Các Android coder sẽ cần phải sử dụng công cụ IDE (IntegratedDevelopment Enveronment) này để phát triển, debugging và testing cho ứngdụng Tuy nhiên, các coder cũng có thể không cần phải sử dụng IDE mà thayvào đó là sử dụng command line để biên dịch và tất nhiên là vẫn có Emulatornhư thường

 Android Emulator được trang bị đầy đủ hầu hết các tính năng của một thiết bịthật Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera

và video, nghe phone, nguồn điện giả lập và bluetooth

 Android Emulator thực hiện các công việc thông qua một bộ xử lý mã nguồn

mở, công nghệ này được gọi là QEMU (http://bellard.org/qemu/) được pháttriển bởi Fabrice Bellard

2.5 Hệ quản trị SQLite

SQLite là một hệ quản trị cơ sở dữ liệu quan hệ, khác với các hệ quản trị CSDLkhác nó không cần client–server database engine (một dịch vụ, ứng dụng cài đặtđầy đủ thông qua nó kết nối, tương tác với các CSDL), nó được nhúng vào rấtnhiều chương trình khác nhau, từ destop, mobile đến website Hầu hết ngôn ngữlập trình có các thư viện hỗ trợ kết nối, truy vấn đến SQLitenhư: PHP C, Java, C#, JavaScript Nó được nhúng vào các trình duyệt, vào các

hệ thống nhúng, hệ điều hành như Android, IOS đều đã nhúng mặc định

 2011 - Hipp tuyên bố bổ sung giao diện UNQl vào SQLite DB và phát

triển UNQLite (Cơ sở dữ liệu hướng tài liệu - Document oriented

database).

Vì sao chọn SQLite

 SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt đểhoạt động

 SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị

 Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk đa nền

tảng (cross-platform disk file).

 SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặcdưới 250KiB với các tính năng tùy chọn bị bỏ qua

SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên

ngoài

 Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an

toàn từ nhiều tiến trình (process) hoặc luồng (thread).

SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy vấn (query language)

được tìm thấy trong tiêu chuẩn SQL92(SQL2)

Trang 16

 SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ sử dụng.

SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32, WinCE, WinRT).

2.6 Service

 Một Service là một thành phần (component) có thể thực hiện các hoạt độnglâu dài trong background và nó không cung cấp một giao diện người dùng.Một thành phần khác của ứng dụng có thể start nó, và nó tiếp tục chạy trongbackground ngay cả khi người dùng chuyển sang ứng dụng khác Ngoài ramột thành phần có thể liên kết (bind) với một Service để tương tác vớiService đó, thậm chí là thực hiện truyền thông liên tiến trình IPC(interprocess communication - IPC bạn có thể hiểu là một hoạt động chia sẽ

dữ liệu qua nhiều tiến trình, thông thường sử dụng giao thức truyền thông và

nó phải có Client và Server)

 Phân loại Service

 Foreground Service

o Một Foreground Service thực hiện một số thao tác mà người dùng chú

ý, có thể thấy rõ ràng Ví dụ một ứng dụng nghe nhạc có thể chơi mộtbản nhạc và control nó bằng Foreground Service Một điều bắt buộc làForeground Service phải hiện thị một Notification Foreground Service

sẽ tiếp tục chạy ngay cả khi người dùng không tương tác với ứng dụng

 Background Service

o Một Background Service sẽ thực hiện các hoạt động mà không đượcngười dùng chú ý trực tiếp Ví dụ một ứng dụng sử dụng một service đểthu gom bộ nhớ chẳng hạn thì service là một Background Service, hoạtđộng mà người dùng không cần thiết phải để ý

 Bound Service

o Một service được gọi là Bound khi một thành phần của ứng dụng ràngbuộc với nó bởi lời gọi bindService () Một Bound Service cung cấpmột giao diện Client - Server cho phép các thành phần tương tác vớinó: gửi yêu cầu, nhận kết quả và thậm chí là IPC Một Bound Servicechỉ chạy miễn là có một thành phần ràng buộc với nó Có thể có nhiềuthành phần ràng buộc với Bound Service cùng lúc, nhưng khi tất cảtháo bỏ ràng buộc (unbound) thì nó sẽ Destroy Trước đây Servicethường được chia là Started Service và Bound Service

14

Ngày đăng: 20/04/2021, 22:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w