1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng thi thử lý thuyết a2 trên android

56 35 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 56
Dung lượng 2,28 MB

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

Nội dung

Em chọn đề tài: “Ứng dụng thi thử lý thuyết xe máy trên Android” cho khóa luận của mình nhằm mục đích tìm hiểu về hệ điều hành Android và cung cấp cho ngườidùng một ứng dụng tiện ích, dễ

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA CÔNG NGHỆ THÔNG TIN

======

KHÚC MINH PHƯƠNG

ỨNG DỤNG THI THỬ LÝ THUYẾT

A2 TRÊN ANDROID

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuyên ngành: Sư phạm Tin học

Người hướng dẫn khoa học

PGS.TS TRỊNH ĐÌNH THẮNG

HÀ NỘI - 2017

Trang 2

LỜI CẢM ƠN

Em xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS.Trịnh Đình Thắng đã tận

tình chỉ bảo và giúp đỡ em trong suốt quá trình nghiên cứu và thực hiện khóaluận tốt nghiệp

Em xin gửi lời cảm ơn đến quý thầy cô khoa Công nghệ thông tin trườngĐai học sư phạm Hà Nội 2 đã tạo điều kiện, quan tâm, giúp đỡ em trong thờigian hoàn thiện đề tài

Đây là lần đầu tiên em quen với công việc nghiên cứu, nội dung của cuốnkhóa luận này không tránh khỏi những thiếu sót Em rất mong nhận được sựđóng góp quý báu của các thầy giáo, cô giáo và các bạn sinh viên

Sinh viên thực hiện

Khúc Minh Phương

Trang 3

LỜI CAM ĐOAN

Em xin cam đoan đề tài: “Ứng dụng thi thử lý thuyết xe máy trênAndroid” là kết quả mà em đã trực tiếp nghiên cứu Trong quá trình nghiên cứu

em đã sử dụng tài liệu của một số tác giả Tuy nhiên đó chỉ là cơ sở để em rút rađược những vấn đề cần tìm hiểu ở đề tài của mình Đây là kết quả của cá nhân

em, hoàn toàn không trùng với kết quả của các tác giả khác

Nếu sai em xin hoàn toàn chịu trách nhiệm

Sinh viên

Khúc Minh Phương

Trang 4

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC

MỤC LỤC

DANH MỤC CÁC TỪ TIẾNG ANH, TỪ VIẾT TẮT

DANH MỤC HÌNH VẼ

MỞ ĐẦU 1

CHƯƠNG I: CƠ SỞ LÝ THUYẾT 3

1.1 Một số hệ điều hành trên điện thoại 3

1.1.1 Hệ điều hành Android 3

1.1.2 Hệ điều hành IOS 4

1.1.3 Hệ điều hành Windows Phone 5

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

1.2.1 Applications 6

1.2.2 Application framework 6

1.2.3 Library 6

1.2.4 Android Runtime 7

1.2.5 Linux kernel 7

1.3 Android emulator 7

1.4 Các thành phần cơ bản trong một ứng dụng Android 8

1.4.1 Activity 8

1.4.3 Service 9

1.4.4 Content provider và uri 9

1.4.5 View 10

Trang 5

1.4.6 Lưu trữ dữ liệu 11

1.5 XML 11

1.5.1 Tổng quan về XML 11

1.5.2 Cấu trúc tài liệu XML 13

1.6 RSS 14

1.7 Các lớp, giao diện phân tích XML trong Android 14

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ BÀI TOÁN 15

2.1 Nhu cầu thực tế 15

2.2 Nội dung bài toán 15

2.3 Thiết kế hệ thống 16

2.3.1 Giới thiệu 16

2.3.2 Chức năng Ôn thi 16

2.3.4 Chức năng Tìm kiếm câu hỏi 20

2.3.5 Chức năng hướng dẫn thi thực hành 22

2.3.6 Thông tin về ứng dụng 22

CHƯƠNG III: CHƯƠNG TRÌNH ỨNG DỤNG TRÊN HỆ ĐIỀU HÀNH ANDROID 23

3.1 Giới thiệu về các giao diện của chương trình 23

3.1.1 Giao diện danh mục hệ thống 23

3.1.2 Giao diện chức năng ôn thi 24

3.1.3 Giao diện chức năng thi thử 30

3.1.4 Giao diện chức năng tìm kiếm câu hỏi 35

3.1.5 Giao diện chức năng hướng dẫn thi thực hành 36

3.1.6 Giao diện chức năng thông tin ứng dụng 38

Trang 6

KẾT LUẬN 39 TÀI LIỆU THAM KHẢO 40 PHỤ LỤC 41

Trang 7

DANH MỤC CÁC TỪ TIẾNG ANH, TỪ VIẾT TẮT

Trong khóa luận tốt nghiệp này dùng các từ tiếng anh và các chữ cái viết tắt sau:

Từ Tiếng Anh, từ viết tắt Ý nghĩa

Open Handset Alliance Liên minh Thiết bị Cầm tay Mã Nguồn

mởSGML (Standard Generalized

DTD Document Type Definition

XML4J XML for Java

JAXP Java API for XML Processing

SAX Simple API for XML

DOM Document Object Model

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1: Cấu trúc stack hệ thống Android 6

Hình 1.2: Vòng đời của một Activity 9

Hình 2.1 Biểu đồ phân cấp chức năng 16

Hình 2.2 Biểu đồ ngữ cảnh của ứng dụng 16

Hình 2.3 Sơ đồ chức năng ôn thi mức 1 17

Hình 2.4 Sơ đồ chức năng chọn đáp án mức 2 17

Hình 2.5 Sơ đồ chức năng đối chiếu mức 2 18

Hình 2.6 Sơ đồ chức năng đưa ra câu hỏi mức 2 18

Hình 2.7 Sơ đồ chức năng thi thử mức 1 19

Hình 2.8 Sơ đồ chức năng chọn đáp án mức 2 19

Hình 2.9 Sơ đồ chức năng đối chiếu mức 2 20

Hình 2.10 Sơ đồ chức năng chọn câu hỏi mức 2 20

Hình 2.11 Sơ đồ chức năng thống kê mức 2 20

Hình 2.12 Sơ đồ chức năng tìm kiếm câu hỏi mức 1 21

Hình 2.13 Sơ đồ chức năng nhập đối tượng mức 2 21

Hình 2.14 Sơ đồ chức năng chọn câu hỏi mức 2 22

Hình 2.15 Sơ đồ chức năng hướng dẫn thi thực hành mức 1 22

Hình 2.16 Sơ đồ chức năng thông tin về ứng dụng mức 1 22

H ì n h 3 1 G i ao d i ện m àn hì n h ứ n g d ụ n g 23

Hình 3.2 Giao diện danh mục hệ thống 24

Hình 3.3 Giao diện chức năng ôn thi 25

Hình 3.4 Câu hỏi khái niệm 26

Trang 9

Hình 3.5 Câu hỏi quy tắc 27

Hình 3.6 Câu hỏi tốc độ 28

Hình 3.7 Câu hỏi biển báo 29

Hình 3.8 Câu hỏi sa hình 30

Hình 3.9 Giao diện chức năng thi thử 31

Hình 3.10 Các câu hỏi thi thử 32

Hình 3.11 Hết giờ làm bài thi thử 33

Hình 3.12 Thoát bài thi thử 34

Hình 3.13 Kết quả bài thi thử 35

Hình 3.14 Giao diện chức năng tìm kiếm câu hỏi 36

H ì n h 3 15 G i a o d i ệ n c h ứ c n ă n g hư ớ n g d ẫ n thi t h ự c h à n h 37

Hình 3.16 Giao diện chức năng thông tin ứng dụng 38

Trang 10

hệ điều hành trên điện thoại di động cho phép phát triển và tạo ra các ứng dụng

di động hấp dẫn Android cung cấp truy cập đến một loạt các thư viện công cụhữu ích và có thể được sử dụng để xây dựng các ứng dụng phong phú Em chọn

đề tài: “Ứng dụng thi thử lý thuyết xe máy trên Android” cho khóa luận của

mình nhằm mục đích tìm hiểu về hệ điều hành Android và cung cấp cho ngườidùng một ứng dụng tiện ích, dễ dàng sử dụng

2 Mục đích nghiên cứu

Tìm hiểu khái quát về hệ điều hành Android, sau đó xây dựng ứng dụngthi thử lý thuyết xe máy trên nền tảng Android: gồm các bộ đề, sau khi thi thử lýthuyết sẽ xem được kết quả, thống kê số câu trả lời đúng/sai và xem được đáp ántrả lời đúng Ứng dụng cung cấp được các nội dung ôn tập và thi bằng các bàihọc, khái niệm, hình ảnh minh họa, Cung cấp chức năng tìm kiếm câu hỏi,hướng dẫn thi thực hành

3 Nhiệm vụ nghiên cứu

Nghiên cứu lý thuyết về hệ điều hành Android và xây dựng được ứngdụng thi thử lý thuyết xe máy trên Android

4 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: hệ điều hành Android và người muốn thi thử lýthuyết xe máy trên nền tảng Mobile

- Phạm vi nghiên cứu: phần mềm chạy trên hệ điều hành Android

5 Ý nghĩa khoa học và thực tiễn của đề tài

- Ý nghĩa khoa học: Ứng dụng thi thử lý thuyết xe máy trên Android nhưmột cuốn cẩm nang luyện thi ngay trên điện thoại di động Phát triễn ứng dụng

Trang 11

giúp em học thêm được công nghệ mới, tạo nên ứng dụng mang tính chất thựctiễn, tạo tiền đề để phát triễn, hoàn thiện ứng dụng vào thực tế.

- Ý nghĩa thực tiễn: Ứng dụng thi thử lý thuyết xe máy trên Android xâydựng thành công sẽ giúp cho người dùng có một ứng dụng tiện lợi, dễ dàng sửdụng để thi thử lý thuyết xe máy

6 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý luận: Nghiên cứu qua việc đọc sách báo vàcác tài liệu liên quan đến hệ điều hành Android, ứng dụng thi thử lý thuyết xemáy nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giảiquyết các vấn đề của đề tài

- Phương pháp lấy ý kiến chuyên gia: tham khảo ý kiến của chuyên gia về

hệ điều hành Android và ứng dựng thi thử lý thuyết xe máy trên Android để thiết

kế ứng dụng phù hợp với yêu cầu thực tiễn

7 Cấu trúc khóa luận

Ngoài phần mở đầu, đánh giá và kết luận, nội dụng khóa luận gồm:

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

Chương II: Phân tích và thiết kế bài toán

Chương III: Chương trình ứng dụng trên hệ điều hành Android

Trang 12

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

Trong chương này em đã sử dụng các tài liệu tham khảo [2], [3], [4], [5],[6], [7]

1.1 Một số hệ điều hành trên điện thoại

1.1.1 Hệ điều hành Android

Android được thành lập vào năm 2003 bởi Andy Rubin, Rick Miner, NickSears và Chris White Vào năm 2005 công ty này được Google mua lại Vàocuối năm 2007, Android thuộc về Open Handset Alliance gồm các công

ty viễn thông, phần mềm và phần cứng: Texas Intruments, Google, HTC,Intel, LG, Marvell Technology Group, Motorala, Nvidia, Qualcomm, SamsungElectronics, Sprint Nextel, T-Mobile, ARM Holdings, AtherosCommunications, Asustek Computer Inc, Garmin Ltd, Softbank, SonyEricsson, Toshiba Corp,… Mục tiêu là đổi mới để đáp ứng nhu cầu ngườidùng và tạo ra một chuẩn mở cho điện thoại trong tương lai

Vào năm 2008, Android 1.0 – phiên bản thương mại đầu tiên được pháthành với nhiều tính năng vẫn chưa lỗi thời được kể đến như: trình duyệt web,Google Maps và đồng bộ các ứng dụng Gmail

Những bức tượng mô phỏng món ăn tráng miệng dựng trên bãi cỏ ở trụ sởchính của Google tại Mountain View, California đã tạo nguồn cảm hứng choAndroid 1.5 Cupcake ra đời vào tháng 4 năm 2009 Tích hợp camera cho phépngười dùng chụp và xem ảnh một cách nhanh chóng, đơn giản được tìm thấy ởAndroid 1.6 Donut (15/09/2009) Càng về sau càng có nhiều phiên bản Androidđược cải tiến để phù hợp với nhu cầu người dùng; có thể nhắc tới như: Android2.0 Éclair (26/2010), Android 2.2 Froyo (05/2010), Android 2.3 Gingerbread(12/2010), Android 3.0 Honeycomb (02/2011), Android 4.0 Ice CreamSandwich (10/2011), Android 4.1 Jelly Bean (07/2012), Android 4.4 KitKat(10/2013), Android Wear (03/2014), Android 5.0 Lollipop (06/2014)

Các tính năng nổi bật của Android:

Trang 13

- Tích hợp dịch vụ của Google một cách hoàn hảo: Những ứng dụng củaGoogle như gmail, google maps, google voice, gtalk đều là những thành phầnmặc định của Android nên trải nghiệm chúng sẽ có cảm giác tuyệt nhất.

- Flash: với flash trên Android, bạn có thể trải nghiệm đầy đủ nội dungflash trên di động từ xem phim ảnh cho đến chơi game flash

- ROM đa dạng, phong phú

- Cài đặt ứng dụng không cần dây nối

500000 ứng dụng và được tải về tổng cộng khoảng 15 tỷ lần Giao diện củangười dùng IOS dựa trên cơ sở thao tác bằng tay Các phiên bản hệ điều hànhtrên di động: iPhone OS 1 (2007), iPhone OS 2 (2008), iPhone OS 3 (2009),iPhone OS 4 (2010), iPhone OS 5 (2011), iPhone OS 6 (2012), iPhone OS 7(2013), iPhone OS 8 (2014)

Phiên bản năm 2007 có chức năng tương đối hạn chế: không hỗ trợ 3G,chưa có chức năng copy, paste, Phiên bản năm 2008 nổi bật với cửa hàng ứngdụng Apple Store và một bộ phát triển phần mềm mở ra cánh cửa cho các nhàphát triển ứng dụng bên thứ 3; hỗ trợ đầy đủ Microsoft Exchange, Google StreetView Phiên bản năm 2009 bổ sung các tính năng như copy, paste, dịch vụ đaphương tiện Phiên bản năm 2010 với nhiều tính năng nổi bật như chạy đanhiệm, ứng dụng định vị vị trí, iBook, cải thiện camera trùng ảnh Phiên bản

Trang 14

năm 2011 có chứa hơn 200 tính năng mới Phiên bản 2012 bổ sung các tính năngnhư các lời khuyến nghị nhà hàng, ra lệnh twitter hay cập nhật trạng tháifacebook và đánh giá film Các tính năng nổi bật của iOS 7 gồm ứng dụng nhạc,AriPlay, khóa, camera, bluetooth, chế độ đừng làm phiền Tính năng mới kháccảu iOS 8 gồm tin nhắn âm thanh và video bằng cách giữ nút ghi âm trong khibên trong các ứng dụng tin nhắn, tính năng gõ văn bản QuickType và dịch vụlưu trữ mới iCloud Drive.

1.1.3 Hệ điều hành Windows Phone

Windown Phone là hệ điều hành của Microsoft dành cho smartphone;được bán vào tháng 10 năm 2010 và đầu năm 2011 tại châu Á Tên mã của dự

án Windown Phone là “Photon” Microsoft chính thức thông báo tên gọi phiênbản đầu tiên là Windown Phone 7 vào 22/4/2010 Windows Phone 7 được ramắt ở Mobile World Congress tại Barc e lo na , Tây Ban Nh a (15/2/2010) và chính

ngày 20/6/2012 và bắt đầu bán phiên bản này vào ngày 29/10/2012 WindowsPhone 8.1 được công bố chính thức vào ngày 2/4/2014 và bản Preview dành chonhà phát triển được phát hành vào 10/4/2014 Một sự kiện đánh dấu một mốcquan trọng trong cuộc chiến với Android và IOS là Windows Phone công bố trởthành đối tác của Nokia vào 11/2/2011 đồng nghĩa với việc Windows Phone trởthành hệ điều hành chính của Nokia

Các tính năng nổi bật của Windows Phone 8.1 như:

- Hệ thống thông báo Action Center: với tính năng này, người dùng có thểkiểm soát tốt những thông báo hệ thống, điều chỉnh độ sáng màn hình

- Trợ lí ảo Cortana

- Màn hình Start tùy biến hơn

- Màn hình khóa đa dạng

- Tùy chỉnh 3 hàng Live Tiles

- Hỗ trợ nút điều hướng trên màn hình cảm ứng

- Wordflow: Swype của Windows Phone 8.1

Trang 15

- Trình duyệt IE 11 mạnh mẽ

1.2 Kiến trúc của Android

Sơ đồ dưới đây cho thấy các thành phần của hệ điều hành Android Mỗimột phần sẽ được đặc tả một cách chi tiết dưới đây

Hình 1.1: Cấu trúc stack hệ thống Android 1.2.1 Applications

Các ứng dụng sẽ được cài đặt ở tầng này; một số ứng dụng được tích hợpsẵn như: home, contact, phone

Trang 16

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

- Thư viện đồ họa bao gồm SGL và OpenGL cho 2D và 3D đồ họa

- SQLite cho bản hỗ trợ cơ sở dữ liệu

- SSL và WebKit cho trình duyệt web tích hợp và bảo mật Internet

1.2.4 Android Runtime

Bao gồm các thư viện lõi và máy ảo Dalvik, thời gian chạy Android làđộng cơ quyền hạn các ứng dụng và cùng với các thư viện, tạo cơ sở cho cáckhung ứng dụng

bị thực Khi bạn thêm vào khả năng chép mã lệnh to/from các giả lập, nó sẽ trởthành một lựa chọn đáng để xem xét

Ngoài việc là một công cụ nhanh hơn là làm việc với một thiết bị thực,các công cụ giả lập phải xem xét các đặc tính vật lý của thiết bị, chủ yếu là cáckích thước màn hình, các thiết bị đầu vào và kết nối mạng

Trang 17

1.4 Các thành phần cơ bản trong một ứng dụng Android

1.4.1 Activity

Là thành phần quan trọng của bất kỳ một ứng dụng Android nào Activity

là một thành phần ứng dụng cung cấp giao diện người dùng, tóm lại activitythực hiện các hành động trên màn hình

 Có 2 phương thức mà gần như mọi lớp con của Activity đều phải thựchiện:

- Phương thức: onCreate()

+ Nơi khởi tạo Ativity

+ Ở đây bạn làm tất cả các cài đặt tạo các view, kết nối dữ liệu đến list

- Phương thức: onPause()

+ Nơi giải quyết sự kiện người dùng rời khỏi Activity

+ Mọi dữ liệu được người dùng tạo ra tới thời điểm này cần phải được lưu vàoContentProvider

 Vòng đời của một Activity:

Trang 18

Hình 1.2: Vòng đời của một Activity

Một Activity chủ yếu có 3 chu kỳ chính sau:

- Running: Khi Activity được chạy trên màn hình Activity này tập trungvào những thao tác của người dùng trên ứng dụng

- Paused: Activity được tạm dừng khi mất trọng tâm nhưng người dùngvẫn trông thấy, có nghĩa là một activity mới ở trên nó nhưng không bao phủđầy màn hình Một activity tạm dừng là còn sống nhưng có thể bị kết thúc bởi

hệ thống trong trường hợp thiếu vùng nhớ

- Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác Nó vẫn còn trạngthái và thông tin thành viên trong nó Người dùng không thấy nó và thường bịloại bỏ trong trường hợp hệ thống cần vùng nhớ cho tác vụ khác

1.4.2 Intent

Intent được tạo thành từ một số thông tin mô tả hành động hoặc dịch vụmong muốn Phần này xem xét các hành động được yêu cầu, khái quát các dữliệu đi kèm với hành động được yêu cầu Thuộc tính action của một Intentthường là một động từ, ví dụ: VIEW, PICK, hoặc EDIT Một số action xâydựng trong Intent được định nghĩa là các thành viên của lớp Intent Các nhàphát triển ứng dụng có thể tạo ra những action mới là tốt Để xem một mẩuthông tin, ứng dụng sẽ sử dụng các action Intent sau đây:

android.content.Intent.ACTION_VIEW

1.4.3 Service

Là một thành phần của ứng dụng, thể hiện mong muốn ứng dụng thựchiện các hành động trong khi không tương tác với người dùng hoặc cung cấpchức năng cho các ứng dụng khác sử dụng Mỗi class Server phải chứa thẻ

<service> được khai báo trong file AndroidManifext.xml

1.4.4 Content provider và uri

Phần lớn các tài nguyên như contact, SMS đều được lưu vào cơ sở dữ liệuSQLite trong hệ thống Android Cũng giống như một cơ sở dữ liệu MSSQL, cơ

sở dữ liệu mà Android dùng để sắp xếp thông tin và truy vấn dữ liệu Không

Trang 19

những thế, Android còn cho phép người lập trình có thể dễ dàng truy xuất dữliệu bằng API Đó gọi là Content Provider Một đối tượng con trỏ được ContentProvider phân phối khi cung cấp một đường dẫn chính xác đến dữ liệu đó sẽ dễdàng lấy được bất cứ dữ liệu lưu trữ nào Đường dẫn này còn được gọi là Uri.

1.4.5 View

View là thành phần cơ bản để xây dựng giao diện người dùng cho mộtứng dụng Android View là một lớp căn bản của widgets Lớp con ViewGroup làlớp căn bản của layouts, có thể coi như một hộp vô hình chứa nhiều Views hayViewGroups khác và xác định các thuộc tính layout

- Checkbox: hiển thị 1 nút nhấn với 2 trạng thái khác nhau

- KeyboardView: hiển thị bàn phím ảo để nhập liệu

- WebView: hiển thị các trạng thái web bằng Webkit

Một số ViewGroup thường dùng:

- LinearLayout: các View được xếp theo 1 hàng hay 1 cột duy nhất

- AbsoluteLayout: cho phép xác định chính xác vị trí của từng view

- TableLayout: sắp xếp các view theo các cột và hàng Mỗi hàng có thể cónhiều view mà mỗi view sẽ tạo nên 1 ô

Trang 20

- RelativeLayout: cho phép xác định vị trí các view theo mối quan hệ giữachúng.

- FrameLayout: cho phép đặt lên đó 1 view duy nhất View đặt lênFrameLayout luôn được căn lề trên bên trái

- ScrollView: là 1 FrameLayout đặc biệt cho phép trượt 1 danh sách dàihơn kích thước mà hình

1.4.6 Lưu trữ dữ liệu

Android có nhiều cách để lưu trữ dữ liệu Sử dụng hệ thống quyền ưu tiên

là cách đơn giản nhất Android cho phép các activity và ứng dụng lưu trữ quyền

ưu tiên theo cặp từ khóa và giá trị, nằm giữa các lần gọi một activity Quyền ưutiên có thể dùng cho activity độc lập hay được chia sẻ giữa các activity của mộtứng dụng Android cung cấp 2 mô hình để truy cập tập tin để lưu trữ dữ liệu:

- Một cho các tập tin được đóng gói sẵn cho ứng dụng

- Một dành cho tập tin được tạo trên thiết bị thực thi ứng dụng đó

1.5 XML

1.5.1 Tổng quan về XML

Ngôn ngữ định dạng: XML là ngôn ngữ xây dựng cấu trúc tài liệu văn

bản, dựa theo chuẩn SGML SGML được phát triển cho việc định cấu trúc vànội dung tài liệu điện tử, do tổ chức ISO chuẩn hóa năm 1986 SGML do IBMđưa ra, song không thể không kể đến những đóng góp của các công ty khác.XML được W3C phát triển, nhưng đặc tả XML lại do Netscape, Microsoft vàcác thành viên của dự án Text Encoding Initiative (TEI) xây dựng Tổ chứcW3C XML Special Interest Group có đại diện từ hơn 100 công ty cùng nhiềuchuyên gia được mời khác Lý do ra đời của XML vì SGML rất rắc rối khó sửdụng và HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML.XML version 1.0 được định nghĩa trong hồ sơ February 1998 W3CRecommendation Điểm quan trọng của kỹ thuật XML là nó là một sản phẩm

mà trí tuệ của nó thuộc về cả thế giới, là một tiêu chuẩn được mọi người côngnhận vì được soạn ra bởi W3C Bản thân của XML rất đơn giản, nhưng các công

Trang 21

cụ chuẩn được định ra để làm việc với XML như Document Object Model DOM, XPath, XSL, thì lại rất hữu hiệu, và chính các chuẩn này được pháttriển không ngừng.

- Tài liệu XML hợp khuôn dạng: Tài liệu XML được gọi là hợp khuôn

dạng (Well-formed) thì cần phải tuân theo cú pháp thiết lập cho XML bởi tổchức W3C Các quy tắc này được nêu trong đặc tả XML 1.0 (những quy địnhcác luật về thẻ, phần tử, thuộc tính, giá trị,…) Nói cách khác, tài liệu XML hợpkhuôn dạng phải là tài liệu XML có cấu trúc đúng

Để hợp khuôn dạng, tài liệu XML phải tuân theo các luật sau:

- Có một phần tử gốc duy nhất, chứa tất cả phần tử khác

- Mỗi thẻ mở phải có một thẻ đóng giống như nó

- Mỗi phần tử con nằm trọn trong phần tử cha của nó

- Giá trị thuộc tính trong XML phải được đặt giữa một cặp ngoặc kép haymột cặp ngoặc đơn

- Các khai báo phải được đặt tại dòng đầu tiên của tài liệu

- Chỉ có một thành phần gốc (root)

Tài liệu XML hợp lệ: Tài liệu XML được gọi là hợp lệ khi nó là tài liệu

được kết hợp với định nghĩa kiểu dữ liệu (DTD – Document Type Definition) vàtuân theo các chuẩn của DTD Hầu hết các trình duyệt kiểm tra tính hợp khuôndạng trước Tiếp theo một vài trình duyệt có thể kiểm tra thêm tính hợp lệ củatài liệu XML Các định nghĩa DTD nhằm xác định cú pháp đúng đắn cho tàiliệu DTD có thể được chứa trong một tập tin riêng biệt hoặc chứa ngay trongchính tài liệu, DTD sử dụng phần tử hay thẻ < !DOCTYPE>

Bộ phân tích XML: Là các gói phần mềm được sử dụng chung như một

phần kèm theo của ứng dụng XML for Java (XML4J) – phân tích tài liệu XMLđược phát triển bởi IBM AlphaWorks - Đây là thư viện nổi tiếng và được dùngrộng rãi trong hầu hết các ví dụ của W3C

Trang 22

- Microsoft XML Parser: trình phân tích sử dụng trình duyệt InternetExplorer cài đặt thông qua kiến trúc COM của hệ điều hành Windows Nếuchúng ta sử dụng IE từ version 5.0 trở lên ta đã có sẵn trình phân tích này hoặcdùng Java Standard Extenstion for XML – Đây là gói thư viện dành cho Javađược xây dựng bởi SUN Gói này dùng chung với các ứng dụng của Java.

- Python XML Parser: Trình phân tích tài liệu XML dựa vào ngôn ngữPython cho hệ điều hành Linux và Unix Gói này được dùng chung với các ứngdụng của Java

1.5.2 Cấu trúc tài liệu XML

Cấu trúc XML gồm có 02 phần:

- Khai báo XML, DTD, comment, processing intructions,…

- Root Element – phần tử gốc : là phần tử quan trọng trong cấu trúc XML.Khi phân tích nội dung tài liệu XML ta phải bắt đầu từ phần tử gốc, sau đó tiếptục lần ra các phần tử khác

 Định nghĩa các thành phần trong cấu trúc XML

Phần khởi đầu của tài liệu XML được viết từ những dòng đầu tiên của tàiliệu XML Phần mở đầu chứa các khai báo phiên bản sử dụng của XML,comment, processing intructions, spaces và khai báo kiểu tư liệu DTD

Một tài liệu XML nên bắt đầu bằng một khai báo, cho biết tài liệu đượcviết theo định dạng và đặc tả XML Khai báo XML phải được đặt ở dòng đầutiên của tài liệu Đây chính là chỉ thị xử lý, chỉ thị xử lý được đặt trong cặp thẻ.Trong phần tử khai báo chúng ta có thể sử dụng 3 kiểu khai báo thuộc tính:

- Khai báo phiên bản (version): Khai báo này cho biết phiên bản đặc tảXML mà tài liệu đang sử dụng

- Khai báo mã hóa (encoding): Bộ mã mà chúng ta sử dụng trong tài liệuXML Mặc định là UTF-8 hoặc có thể Unicode, UCS-2 hoặc UCS-4… thuộctính này là tùy chọn

Trang 23

- Khai báo thực thể độc lập (standalone): Đặt thuộc tính này là “yes” nếu tàiliệu không tham chiếu đến các thực thể khác bên ngoài (external entity); nếukhông đặt thuộc tính này mặc định là “no” Thuộc tính này cũng là tùy chọn.

Để tập tin XML trở nên dễ hiểu và dễ chỉnh sửa sau này thì các dòng chúthích là không thể thiếu, các dòng chú thích đuợc đặt trong cặp thẻ Chú thíchkhông được đặt trước các khai báo

Phần thân của tài liệu XML có không gian tên, các thẻ: thẻ đóng, thẻ mở,thẻ rỗng; phần tử gốc và các thuộc tính

1.6 RSS

Để tìm kiếm thông tin một cách nhanh chóng, ngắn gọn và giúp ngườidùng dễ dàng sử dụng ta dùng RSS Nó là một dạng file XML, cho phép ngườidùng có thể thấy những tin tức, nội dung hay tóm tắt để sử dụng file hữu ích

1.7 Các lớp, giao diện phân tích XML trong Android

Một trong các API cho lập trình Java XML là JAXP Nó cung cấp khảnăng kiểm nghiệm, chứng minh và phân tích các tài liệu XML Để duyệt XML

có 2 kỹ thuật:

- SAX (Simple API for XML): quét tài liệu, tốn ít bộ nhớ, chạy nhanh

- DOM (Document Object Model): đọc tất cả nội dung tập tin XML vào bộnhớ nên tốn bộ nhớ làm chậm chương trình, viết đơn giản hơn SAX

SAX và DOM có sẵn trên Android Android được phân tích cú pháp APIthông qua SAX và DOM

Trang 24

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ BÀI TOÁN

2.1 Nhu cầu thực tế

Ngày nay, xe máy là 1 phương tiện giao thông rất phổ biến Vì vậy nhucầu ôn tập và đăng kí thi giấy phép lái xe của người dân tăng cao; và không phảilúc nào người dân cũng có thời gian đi đến các trung tâm luyện thi hay ai cũng

có máy tính để sử dụng các phần mềm ôn thi

Mà hệ điều hành Android trên điện thoại được người dân chọn và sử dụng

là chủ yếu do nó có giá thành rẻ và phù hợp với túi tiền

Chính vì vậy việc phát triển một ứng dụng thi thử lý thuyết xe máy trên hệđiều hành Android đang rất cần thiết, giúp người dùng có thể tranh thủ thời gianrảnh để ôn thi mà đơn giản, không mất quá nhiều thời gian và có thể dùng ở bất

cứ đâu

Thực tế, để thi giấy phép lái xe người điều khiển phương tiện cần qua 2phần thi: thi lý thuyết và thi thực hành lái xe Phần thi lý thuyết: phải trả lời 20câu hỏi trong thời gian 15 phút Phần thi thực hành: thực hiện phần thi chạy theohình số 8, đi vào đường hẹp số 2, chạy đường quanh co, đi đường gồ ghề

2.2 Nội dung bài toán

Xây dựng ứng dụng để thi thử lý thuyết và hướng dẫn thi thực hành lấybằng xe máy trên hệ điều hành Android Ứng dụng có 5 chức năng là ôn thi, thithử, tìm kiếm câu hỏi, hướng dẫn thi thực hành và thông tin ứng dụng Chứcnăng Ôn thi cung cấp cho người dùng việc học các khái niệm, quy tắc, tốc độ,văn hóa – đạo đức khi tham gia giao thông, biển báo, sa hình thông qua các bộcâu hỏi có sẵn Chức năng Thi thử cung cấp cho người dùng thi thử 1 trong 10

bộ đề thông qua các bộ câu hỏi có sẵn trong một khoảng thời gian nhất địnhđược đếm ngược đến 0 Chức năng Tìm kiếm câu hỏi cung cấp cho người dùngtìm kiếm các câu hỏi ôn thi trong các bộ đề, trong các phần ôn tập lý thuyết.Ứng dụng Hướng dẫn thi thực hành sẽ cung cấp cho người dùng tóm tắt về luậtthi, cách chấm điểm và kinh nghiệm thi Thông tin về ứng dụng cho biết tên ứngdụng, tên tác giả và phiên bản ứng dụng

Trang 25

2.3 Thiết kế hệ thống

2.3.1 Giới thiệu

Ứng dụng thi thử lý thuyết xe máy trên Android cung cấp giáo cụ trựcquan tương tác giữ người dùng và phần mềm; giúp người dùng vừa có thể thithử lý thuyết xe máy vừa có thể chủ động ôn tập qua các bài học

Ứng dụng gồm 5 chức năng đó là: Ôn thi, thi thử, tìm kiếm câu hỏi,hướng dẫn thi thực hành và thông tin về ứng dụng

Ứng dụng

Ôn thi Thi thử Tìm kiếm

câu hỏi

Hướng dẫnthi thựchành

Thông tin

về ứngdụng

Hình 2.1 Biểu đồ phân cấp chức năng

Làm bài

Người dùng Ứng dụng

Kết quả

Hình 2.2 Biểu đồ ngữ cảnh của ứng dụng 2.3.2 Chức năng Ôn thi

Chức năng này cung cấp cho người dùng việc học các khái niệm, quy tắc,tốc độ, văn hóa – đạo đức khi tham gia giao thông, biển báo, sa hình thông quacác bộ câu hỏi có sẵn

Trang 26

Người dùng trả lời lần lượt từng câu hỏi một bằng hình thức thức tickchọn vào đáp án, có thể next để bỏ qua câu hỏi.

Xem được đáp áp trả lời đúng nếu chưa tìm được câu trả lời cho câu hỏi

ôn tập khái niệm đó

Thống kê các câu trả lời đúng/ sai sau mỗi lượt trả lời

Trả lời

Đáp ánNgười dùng Ứng dụng

Đối chiếu

Gói câu hỏi

Đưa ra câu hỏi

Hình 2.3 Sơ đồ chức năng ôn thi mức 1

Trang 27

Chức năng 2: Đối chiếu

So sánh đáp án

Người dùng Ứng dụng

Đưa ra đáp án

Hình 2.5 Sơ đồ chức năng đối chiếu mức 2

Chức năng 3: Đưa ra câu hỏi

Yêu cầu câu hỏi

Người dùng Ứng dụng

Đưa ra câu hỏi

Hình 2.6 Sơ đồ chức năng đưa ra câu hỏi mức 2 2.3.3 Chức năng Thi thử

Chức năng này cung cấp cho người dùng thi thử 1 trong 10 bộ đề (từ bộ

đề 1 đến bộ đề 10) thông qua các bộ câu hỏi có sẵn trong một khoảng thời giannhất định được đếm ngược đến 0

Người dùng trả lời lần lượt từng câu hỏi một bằng hình thức tick chọn vàođáp án, có thể next để bỏ qua câu hỏi

Xem được đáp áp trả lời đúng nếu chưa tìm được câu trả lời cho câu hỏi

ôn tập khái niệm đó

Thống kê các câu trả lời đúng/ sai sau mỗi lượt trả lời và thông báo kếtquả rằng thí sinh có đạt điểm để qua vòng thi lý thuyết hay không

Trang 28

Chọnđáp án

Ngày đăng: 13/08/2020, 16:09

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w