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

ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: APP TRẮC NGHIỆM TIẾNG ANH

23 26 2

Đ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 23
Dung lượng 1,03 MB

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

Nội dung

Các ứng dụng dựa trên nền tảng là hệ điều hành cho thiết bị diđộng ngày càng đa dạng và phong phú hơn, đáp ứng được ngày càng nhiều các yêucầu thực tế của người dùng.. Mỗi thiết bị như t

Trang 1

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: APP TRẮC NGHIỆM TIẾNG ANH

Sinh viên thực hiện : NGUYỄN HÙNG

Giảng viên hướng dẫn : TS NGUYỄN ANH TUẤN

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

Trang 2

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: APP TRẮC NGHIỆM TIẾNG ANH

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

Trang 3

MỞ ĐẦU

Trong những năm gần đây, nền tảng công nghệ thông tin phát triển mạnh mẽ cùngvới đó là sự ra đời của các thiết bị di động như máy tính bảng, điện thoại,smartphone…ngày càng được ưa chuộng và sử dụng nhiều hơn Các ứng dụng giờđây không chỉ chạy được trên máy tính mà còn chạy được trên cả thiết bị có hệ điềuhành nữa Và việc xây dựng các ứng dụng cho những thiết bị trên cũng được người taquan tâm nhiều hơn Các ứng dụng dựa trên nền tảng là hệ điều hành cho thiết bị diđộng ngày càng đa dạng và phong phú hơn, đáp ứng được ngày càng nhiều các yêucầu thực tế của người dùng Mỗi thiết bị như thế đều chứa trong nó một hệ điều hành

có khả năng chạy được ứng dụng như một máy tính Có thể nói hệ điều hành là nềntảng còn các ứng dụng sẽ làm phong phú hơn cho nền tảng đó Android OS là hệ điềuhành trên điện thoại di động được phát triển bởi Google và dựa trên nền 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 hiện nayđang rất mới và rất phát triển ở Việt Nam

Với sự hấp dẫn của các ứng dụng trong Android cùng với bản tính tò mò thích khámphá cái mới và sự khuyến khích của bạn bè và cô giáo hướng dẫn Chúng em đãquyết định thực hiện đồ án “Xây dựng ứng dụng trắc nghiệm tiếng anh trên nền hệđiều hành Android” Nội dung đồ án của em gồm 4 chương

Trang 4

LỜI CẢM ƠN

Trong thời gian làm đồ án, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến

và chỉ bảo nhiệt tình của thầy cô và 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, chỉ bảo chúng em trong suốt quá trình làm đồ án

Chúng em cũng xin chân thành cảm ơn các thầy cô giáo trong Khoa CNTT-TT nói chung, các thầy cô trong bộ môn lập trình di động nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp chúng em

có được cơ sở lí thuyết vững vàng và tạo điều kiện giúp đỡ chúng em trong suốt quá trình học tập

Cuối cùng, chúng em xin chân thành cảm ơn thầy và bạn bè đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên chúng em trong suốt quá 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 của cơ quan thực tập)

size 13

………

………

………

………

………

………

Trang 5

NHẬN XÉT

(Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 6

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN ANDROID 7

1.1 Hệ điều hành Android 7

1.2 Kiến trúc của Android 8

1.2.1 Tầng hạt nhân Linux (Linux Kernel Layer) 8

1.2.2 Tầng Library và Android Runtime 9

1.2.3 Tầng Application Framework 10

1.2.4 Tầng ứng dụng (Application) 11

1.3 Các khối chính cấu thành nên ứng dụng Android 12

1.3.1 Activity 12

1.3.2 Intents 13

1.3.3 Services 14

1.3.4 SQLite 15

CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI 16

2.1 Lý do chọn đề tài 16

2.2 Phương pháp, kết quả 16

2.3 Các công nghệ xây dựng ứng dụng 16

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17

3.1 Khảo sát và đặc tả yêu cầu 17

3.1.1 Giao diện chính 17

3.1.2 Chức năng chính 17

3.2 Thiết kế hệ thống ứng dụng 18

3.2.1 SQLite 18

3.2.2 Thời gian giới hạn cho mỗi câu hỏi 19

3.2.3 Tính điểm sau mỗi câu hỏi 20

3.2.4 Tính điểm cao nhất 20

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN ỨNG DỤNG 21

4.1 Giao diện trang chủ 21

4.2 Giao diện trang trả lời câu hỏi .22

Trang 7

CHƯƠNG 1: TỔNG QUAN ANDROID

1.1 Hệ điều hành Android

Android là một nền tảng mã nguồn mở toàn diện được thiết kế cho các thiết bị

di động Nó là sự liên minh giữa ông lớn Google và Open Handset Alliance làcác tập đoàn sản xuất thiết bị cầm tay nổi tiếng như Intel, SamSung,Toshiba….Với mục tiêu là “tăng tốc việc đổi mới trong di động và cung cấp chongườitiêu dùng nhiều tiện ích phong phú, ít tốn kém.” Và Android chính là côngcụ

để làm điều đó

Android là một nền tảng toàn diện điều này có nghĩa là nó là một tập hợp cácphần mềm hoàn chỉnh cho thiết bị di động Đối với các nhà phát triển Androidcung cấp các công cụ và các khung cơ bản cho việc phát triển các ứngdụngmột cách nhanh chóng và dễ dàng Thư viện Android SDK là tất cả những gì

mà cần dùng để bắt đầu phát triển với android; ngay cả khi không có một điệnthoại thật sự Còn đối với người sử dụng, Android làm việc một cách chínhxáctrên bề mặt màn hình của điện thoại Thêm vào đó người sử dụng cũng cóthể tùychỉnh điện thoại theo cách riêng của họ Đối với các nhà sản xuấtAndroid là giải pháp hoàn chỉnh để chạy trên các thiết bị của họ Khác với một

số trình điềukhiển phần cứng cụ thể, Android cung cấp mọi thứ để thiết bị của

họ làm việc

Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấpthấp của Linux đến tất cả các thư viện gốc và từ các ứng dụng khung cho đếncác ứng dụng hoàn chỉnh là hoàn toàn mở Hơn thế nữa Android còn đượcchứngnhận là hệ điều hành thân thiện với người sử dụng Nó được cấp giấyphép bởi Apache/MIT (giấy phép chứng nhận mã nguồn mở thân thiện) nó cóthể được mở rộng và phát triển với nhiều mục đích khác nhau mà không cầnphải để ý đến bản quyền hay giấy phép sử dụng Điều này đồng nghĩa với việcbạn có thể xem toàn bộ mã nguồn của nền tảng, có thể thêm bất kỳ những thiết

kế bí mật của bạn và không đưa lại cộng đồng nếu không muốn

Giống như bất kỳ phần mềm nào, Android được cải thiện theo thời gian, điềunày được phản ánh trong một số phiên bản của nó Các phiên bản thay đổi theothời gian bởi vì các bản vá lỗi hoặc bản cải tiến hiệu suất

Trang 8

1.2 Kiến trúc của Android

1.2.1 Tầng hạt nhân Linux (Linux Kernel Layer)

Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhânlinux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọihoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mứccấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếpvới phần cứng (driver model), thực hiện bảo mật (security), quản lýtiến trình(process) Kernel Linux hoạt động như một lớp trừu tượng hóa giữaphần cứng và phần còn lại của ngăn xếp các phần mềm

Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã đượcnâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầmtay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhucần kết nối mạng không dây

Tầng này có các thành phần chủ yếu :

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thunhận những điều khiển của người dùng lên màn hình (di chuyển,cảm ứng )

- Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từcamera trả về

Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth USB driver : Quản lý hoạt động của các cổng giao tiếp USB

Keypad driver : Điều khiển bàn phím

- Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tínhhiệu dạng audio thành tín hiệu số và ngược lại

- Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc vớimạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năngtruyền thông được thực hiện

- M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ

SD, flash

- Power Madagement : Giám sát việc tiêu thụ điện năng

Trang 9

1.2.2 Tầng Library và Android Runtime

Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết cácchức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Tất cả cácứng dụng Android đều chạy trong tiến trình riêng Máy ảo Dalvik đã được viết

để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả Các VM Dalvik thựcthicác tập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tốithiểu VM là dựa trên register-based, và chạy các lớp đã được biên dịch bởimột trình biên dịch Java để chuyển đổi thành các định dạng dex Các VMDalvik dựavào nhân Linux cho các hức năng cơ bản như luồng và quản lý bộnhớ thấp

Tầng này có 2 thành phần là phần Libraríe và Android Runtime:

a Phần Libraries: phần này có nhiều thư viện được viết bằng C/C++để các

phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhómnhư:

- Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn C, được sửdụng chỉ bởi hệ điều hành

- Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát vàghi các loại định dạng âm thanh, hình ảnh,video thông dụng

- Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên web,được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như

để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiềucông nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM,AJAX

- Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng

b Phần Android runtime: phần này chứa các thư viện mà một chương trình

viết bằng ngôn ngữ Java có thể hoạt động Phần này có 2 bộ phận tương tựnhư mô hình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi(Core Library) , chứa các lớp như JAVA IO,Collections, File Access Thứ hai

là một máy ảo java (DalvikVirtual Machine) Tại đây các ứng dụng viết bằngJava được chạy trên máy ảo Dalvik thay thế cho máy ảo Java VM của Sun

Trang 10

1.2.3 Tầng 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át triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truycập, các dị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 thanh trạ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ùng một khuôn khổ được sử dụngbởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóaviệ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ủamình và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạnchế bảo mật được thực thi bởi khuôn khổ) Cơ chế này cho phép các thànhphần tương tự sẽ được thay thế bởi người sử dụng

Giới thiệu một số thành phần của tầng này :

- Activity Manager : Quản lý các chu kỳ sống của một ứng dụng cũng nhưcung cấp công cụ điều khiển các Activity

- Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc như gọiđiện thoại

- XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực

- Location Manager : Cho phép xác định vị trí của điện thoại thoại dựa vào hệthống định vị toàn cầu GPS và GoogleMaps

- Window Manager : Quản lý việc xây dựng và hiển thị cácgiao diện ngườidùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

- Notification Manager : Quản lý việc hiển thị các thông báo (như báo có tinnhắn, có e-mail mới )

- Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao gồm cácfile hình ảnh, âm thanh, layout, string (Những thành phần không được viết bởingôn ngữ lập trình)

- Một tập hợp rất nhiều các View 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 đó

Trang 11

1.2.4 Tầng ứng dụng (Application)

Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như:

- Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là 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), bản đồ (Map), quay phimchụp ảnh (camera)

- Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các tròchơi (Game), từ điển

Các ứng dụng có các đặc điểm là:

- Viết bằng Java, phần mở rộng là apk

- Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình

có giao diện với người sử dụng hoặc là một background: chương trình chạynền hay là dịch vụ

- Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứngdụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó

có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn

- Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạnkhi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

- Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di độngkhác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền Cácứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dung quá5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụngCPU - Ứng dụng không có điểm vào cố định, không có phương thức main đểbắt đầu

- Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứngdụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó

có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạnkhi sử dụng tài nguyên, cấu hình phần cứng và hệ thống.- Android là một 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 chophép một ứng dụng của bên thứ ba được phép chạy nền Các ứng dụng đó chỉ

-có một hạn chế nhỏ đó là nó không được phép sử dung quá 5~10% công suất

Trang 12

1.3 Các khối chính cấu thành nên ứng dụng Android

1.3.1 Activity

Lớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách màchúng hoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng.Android khởi chạy một ứng dụng thông thường bằng kích hoạt một Activitytương ứng với vòng đời cụ thể của nó trong quá trình hoạt động

Vòng đời một Activity:

Để tạo một Activity thì bạn phải tạo ra một 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à khi Activity hoạt động vòng đời của nó diễn ra như sau:

- onCreate(Bundle savedInstanceState): Được gọi khi hoạt động mới đượctạo, tại đây khởi tạo các biến, nạp giao diện layout , phương thức này cũngnhận dữ 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 sự kiện này bao giờ cũng gọi ngay lập tức onStart()

- onStart(): Được gọi ngay trước khi Activity hiển thị trên màn hình

- onResume(): Được gọi ngay khi Activity bắt đầu có thể tương tác vớingười dùng, và Activity nằm trên cùng trong danh sách các Activity của hệthống Sau phương thức này là các chức năng của Activity hoạt động dựa trêntương tác của người dùng , cho đến khi có một nguyên nhân nào đó màphương thức OnPause được gọi

- onPause(): Được gọi khi hệ thống sắp kích hoạt một Activity khác, nếubạn quá tải phương thức này, thường để lưu lại dự liệu thật nhanh để hệ thốngcòn kích hoạt Activity khác Ngay sau phương thức này nó sẽ gọi - -

- onResume() nếu Activity được kích hoạt lại ngay, hoặc gọi OnStop() nếuActivity bị ẩn đi

- onStop(): Được gọi khi nó bị ẩn đi Sau phương thức này, Activity có thểgọi onRestart() nếu nó được người dùng kích hoạt lại hoặc gọi onDestroy() đểhết thúc

- onDestroy(): gọi khi Activity bị hủy hoàn toàn (ví dụ gọi finish(), hoặcngười dùng kill Activity)

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

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