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

Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android

117 584 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 117
Dung lượng 2,33 MB

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

Nội dung

a, Tầng ứng dụngĐâ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 như: gọi điện thoại phone, quản lý danh b

Trang 1

ĐẠI HỌC THÁI NGUYÊNTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

THÁI NGUYÊN, NĂM 2016 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 3

XÂY DỰNG ỨNG DỤNG ÔN LUYỆN THI TOEIC VÀ THEO DÕI

TIẾN ĐỘ HỌC TẬP CỦA SINH VIÊN TRÊN NỀN TẢNG ANDROID

Sinh viên thực hiện : Nguyễn Thị Thêu

Giáo viên hướng dẫn : Th.S Trần Phạm Thái Kiên

Thái Nguyên, năm 2016

Em xin bày tỏ lòng biết ơn trân trọng nhất tới các thầy cô trong khoa

“Công nghệ thông tin” đã nhiệt tình truyền đạt cho em những kiến thức trong những năm học vừa qua, tạo điều kiện thuận lợi trong suốt thời gian thực hiện đề tài

Trang 4

Chân thành cảm ơn các bạn sinh viên lớp MMT&TT–K10A, cùng các bạn

sinh viên cùng khóa đã nhiệt tình giúp đỡ động viên em

Thái Nguyên, ngày … tháng… năm 2016

Sinh viên

Nguyễn Thị Thêu

Trang 5

LỜI CAM ĐOAN

Em xin cam đoan nội dung của đề tài hoàn toàn là do em nghiên cứu, tìm hiểu và tổng hợp từ các tài liệu liên quan, cũng như các kiến thức từ thực tế khi em học tập, rèn luyện trên ghế giảng đường, không sao chép hoàn toàn nội dung của các đề tài khác

Thái Nguyên, ngày tháng năm 2016

Sinh viên

Nguyễn Thị Thêu

Trang 6

LỜI NÓI ĐẦU 1

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

1.1 Tổng quan về hệ điều hành Android 3

1.1.1 Giới thiệu chung về hệ điều hành Android 3

1.1.2 Máy ảo Dalvik trong Android 3

1.1.3 Kiến trúc của Android 4

1.1.4 Các thành phần cơ bản của ứng dụng Android 7

1.2 Web Service trong Android 13

1.3 Ứng dụng mô hình UML trong thiết kế ứng dụng Android 16

1.3.1 Các biểu đồ 16

1.3.2 UML trong thiết kế ứng dụng Android18

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG22

2.1 Khảo sát hệ thống 22

2.1.1 Khảo sát tình hình thực tế 22

2.1.2 Cấu trúc đề thi Toeic trong thực tế 22

2.2 Yêu cầu công nghệ của hệ thống 24

2.2.1 Chức năng của Server 25

2.2.2 Chức năng của Client 25

2.2.3 Yêu cầu hệ thống26

2.3 Kiến trúc hệ thống 26

Trang 7

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

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG LUYỆN THI TOEIC TRÊN ANDROID

42

3.1 Xây dựng Web Server 42

3.1.1 Tạo lớp kết nối tới SQL Server42

3.1.2 Xây dựng Web Service 42

3.1.3 Xây dựng Web Client 43

3.2 Xây dựng ứng dụng Client trên Android 44

3.2.1 Tạo lớp kết nối và truyền dữ liệu với Server 44

3.3.5 Trang Practive Toeic 50

3.3.6 Trang Toeic Test58

3.4 Ứng dụng trên Web Server 59

Trang 8

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68

TÀI LIỆU THAM KHẢO 69

Trang 9

DANH MỤC HÌNH ẢNH

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

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

Hình 1.3: Truyền dữ liệu dùng intent 9

Hình 1.4: Các phương thức gọi lại của một Services 11

Hình 2.1: Kiến trúc hệ thống26

Hình 2.2: Các thành phần của hệ thống 29

Hình 2.3: Biểu đồ UC quản trị trên Server 32

Hình 2.4: Biểu đồ UC người dùng trên Client 33

Hình 2.5: Biểu đồ tuần tự cho chức năng Login trên Server 34

Hình 2.6: Biểu đồ tuần tự chức năng Manage Group 35

Hình 2.7: Biểu đồ tuần tự chức năng Manage Exam trên Server 36

Hình 2.8: Biểu đồ tuần tự chức năng Login37

Hình 2.9: Biểu đồ tuần tự chức năng Practive Toeic trên Client 38

Hình 2.10: Biểu đồ tuần tự chức năng Toeic exam trên Client 39

Hình 2.11: Biểu đồ lớp 40

Hình 2.12: Cơ sở dữ liệu 41

Hình 3.1: Giao diện đăng ký45

Hình 3.2: Giao diện đăng nhập 46

Hình 3.3: Giao diện màn hình chính47

Hình 3.4: Giao diện My Group 48

Hình 3.5: Giao diện danh sách bài thi 49

Hình 3.6: Biểu đồ theo dõi tình hình học tập 50

Hình 3.7: Màn hình ôn thi Toeic 50

Hình 3.8: Giao diện hiển thị Part 1 51

Hình 3.9: Giao diện hiển thị Part 2 52

Hình 3.10: Giao diện hiển thị Part 353

Trang 10

Hình 3.11: Giao diện hiển thị part 454

Hình 3.12: Màn hình hiển thị Part 555

Hình 3.13: Màn hình hiển thị Part 656

Hình 3.14: Màn hình hiển thị List câu hỏi 57

Hình 3.15: Giao diện Test Toeic 58

Hình 3.16: Hình ảnh Web Server cài đặt thành công 59

Hình 3.17: Form nhập dữ liệu mà Server tự tạo 60

Hình 3.18: Giao diện màn hình đăng nhập ở Server 61

Hình 3.19: Màn hình List Group 61

Hình 3.20: Màn hình Add Group 62

Hình 3.21: Màn hình Edit Group 63

Hình 3.22: Màn hình Delete Group 63

Hình 3.23: Giao diện List bài thi 64

Hình 3.24: Giao diện thêm Bài thi 65

Hình 3.25: Giao diện sửa Bài thi 65

Hình 3.26: Giao diện xóa bài thi 66

Hình 3.27: Giao diện Part 1 66

Hình 3.28: Giao diện thêm câu hỏi Part 1 67

Trang 11

LỜI NÓI ĐẦU

Công nghệ thông tin ngày càng phát triển và thế kỷ 21 được coi là thế kỷ của công nghệ Vì thế việc ứng dụng công nghệ thông tin vào thực tiễn là điều tất yếu

và là xu thế của thời đại Ở nước ta trong những năm trở lại đây thì việc sử dụng công nghệ thông tin không còn xa lạ và ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống xã hội và giáo dục

Cùng với công nghệ thông tin thì ngoại ngữ cũng có vai trò rất quan trọng trong xu thế hội nhập phát triển hiện nay Ngoại ngữ giúp con người có thể hiểu biết sâu sắc hơn nữa về nền văn minh thế giới, mở rộng quan hệ hợp tác, giao lưu

và phát triển tiềm năng của chính mình Biết ngoại ngữ là yêu cầu tất yếu của lao động có kỹ thuật cao nhằm đáp ứng các quy trình công nghệ thường xuyên được đổi mới, và là một năng lực cần thiết đối với người dân Việt Nam nhất là các bạn học sinh, sinh viên Nhận thấy được tầm quan trọng đó thì việc áp dụng công nghệ thông tin vào trong việc học ngoại ngữ như là một điều tất yếu nhằm nâng cao hiệu quả và chất lượng của việc học ngoại ngữ Từ đó nhiều phần mềm học ngoại ngữ

đã ra đời trên nhiều nền tảng và thiết bị di động giúp ích rất nhiều cho những người có nhu cầu học ngoại ngữ

Hiện nay nhiều trường đại học yêu cầu sinh viên phải đạt đầu ra tiếng anh Toeic để có thể tốt nghiệp Nhiều sinh viên cần phải học tiếng anh để có thể thi đầu ra Toeic Thường các sinh viên sẽ tìm đến các trung tâm luyện thi Toeic để học Tuy nhiên sẽ nảy sinh một số vấn đề:

 Một số sinh viên không có đủ tiền để học ở trung tâm

 Một số sinh viên không có thời gian để đi học ở trung tâm

Trang 12

 Một số muốn học tiếng anh ở mọi lúc mọi nơi

Trước những vấn đề cấp thiết đó, em đã xây dựng phần mềm luyện thi Toeic trên nền tảng di dộng Android để có thể giúp các bạn sinh viên có thể ôn luyện Toeic ngay trên thiết bị di động của mình ở mọi lúc mọi nơi, nhằm tiết kiệm thời gian, tiền bạc cũng như nâng cao hiệu quả học tiếng anh

Em xin gửi lời cảm ơn đến các thầy cô bạn bè đã tận tình giúp đỡ em trong suốt quá trình thực hiện đề tài Em xin đặc biệt chân thành cảm ơn thầy giáo Trần Phạm Thái Kiên đã nhiệt tình hướng dẫn và chỉ bảo để em hoàn thành đề tài này

Do thời gian tìm hiểu và nghiên cứu có hạn nên đề tài của em còn nhiều thiếu sót, em rất mong nhận được sự chỉ bảo, hướng dẫn của các thầy cô để đề tài của

em hoàn thiện hơn

Trang 13

CHƯƠNG I: CƠ SỞ LÝ THUYẾT1.1 Tổng quan về hệ điều hành Android

1.1.1 Giới thiệu chung về 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 –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 cho người tiêu dung nhiều tiện ích phong phú, ít tốn kém Android chính là công cụ để làm điều đó

Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấp thấp của Linux đến tất cả các thư viện gốc và tử các ứng dụng khung cho đến các ứng dụng hoàn chỉnh là hoàn toàn mở

Trong lịch sử phát triển, ban đầu Android thuộc sở hữu của công ty Android Inc Sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform Cuối năm 2007 liên minh Open HandsetAlliance được thành lập và được công bố, Android chính thức trở thành mã nguồn mở Phiên bản đầu tiên được phát hành vào tháng 11 năm 2007

1.1.2 Máy ảo Dalvik trong Android

Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị động Android Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc

độ xử lý Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên cho

nó sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvik

Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java

Trang 14

(Java Virtual Machine) nhưng thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện các đoạn mã trong môi trường Java Sau đó, nó sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dx Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode "Dex" là từ viết tắt của "Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụng Android.

1.1.3 Kiến trúc của Android

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

Trang 15

a, Tầng ứng dụng

Đâ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 như: gọi điện thoại (phone), quản lý danh bạ (contacts), duyệt Web (browser), nhắn tin (sms), lịch làm việc (calendar), đọc email (email-Client), bản đồ (map), quay phim chụp ảnh (camera)…

Các ứng dụng được cài thêm như các phần mềm (stock), các trò chơi (game),

từ điển, …

Các chương trình 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ó phiên bản Virtual Machine được dự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ạy nề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 chạy một lúc, tuy nhiên, với mỗi ứng dụ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ằm phân định quyền hạn khi 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 cho phép một ứng dụng của bên thứ ba được phép chạy nền

b, Application framework

Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình

Trang 16

viên có thể nhanh chóng xây dựng ứng dụng Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên.

 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 dựa vào hệ thống định vị toàn cầu GPS và Google Maps

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

 Notication Manager: Quản lý việc hiển thị các thông báo ( như báo có tin nhắn,có email mới….)

c, 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ều thành phần khác nhau trong hệ thống Android Điều này được thể hiện thông qua nền tảng ứng dụng Android Một số các thư viện cơ bản gồm:

 Hệ thống thư viện C : triển khai BSD-derived có nguồn gốc từ các hệ

thống thư viện chuẩn C (libc), được sử dụng chỉ bởi hệ điều hành

 Media Libraries – Dựa trên gói Video OpenCORE; các thư viện hỗ trợ

phát và ghi âm của các định dạng âm thanh và video phổ biến, cũng như các file hình ảnh tĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Trang 17

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

 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ều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX

 SGL – Các cơ sở công cụ đồ họa 2D.

 3D libraries - Thực hiện dựa trên OpenGL ES 1.0 APIs; Thư viện sử

dụng hoặc là tăng tốc phần cứng 3D (nếu có) hoặc bao gồm tối ưu hóa phần mềm 3D

 SQLite - Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng

d, 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 (Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành Android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển

e, Linux kernel

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ân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình

Trang 18

 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ính hiệ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ới mạng

vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyề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

1.1.4 Các thành phần cơ bản của ứng dụng Android

a, Activity

Activity chính là một cửa sổ chứa giao diện ứng dụng của bạn mà người dùng

có thể tương tác với nó Mỗi màn hình trên ứng dụng cả bạn sẽ là kế thừa của Activity Activity dùng các View để hiển thị giao diện ứng dụng người dùng và

Trang 19

đáp ứng lại các yêu cầu từ người dùng Có 3 dạng Activity:

 Floating Activity: là dạng Activity nổi, có kích thước không phủ lấ toàn

bộ màn hình

 Activity Group: là một nhóm các Activity nhúng trong một Activity khác

 Full screen Activity: là Activity phủ kín toàn bộ màn hình Đây là loại Activity thường được sử dụng phổ biến nhất

Vòng đời của một Activity sẽ diễn ra từ lúc khởi động cho đến khi kết thúc vòng đời của nó Hệ thống Android sẽ được bắt đầu thực hiện một Activity tương ứng với từng trạng thái vòng đời của nó Android cung cấp một số sự kiện để quản

lý các trạng thái vòng đời của Activity như sau:

 onCreate(): sự kiện này được gọi khi Activity được tạo lần đầu tiên Trong sự kiện này, bạn phải thực hiện những công việc như tạo giao diện, tải dữ liệu Sau sự kiện này là sự kiện onStart() được gọi

 onRestart(): sự kiện được gọi khi muốn khỏi động lại một activity đã bị Stop Sau sự kiện này luôn là sự kiện onStart() được gọi

 onStart(): sự kiện nà được gọi khi giao diện của Activity hiển thị trên màn hình thiết bị

 onResume(): sự kiện này được gọi khi Activity bắt đầu tương tác với người dùng

 onPause(): khi một Activity khác dành quyền hiển thị và trạng thái focus thì Activity hiện hành sẽ gọi sự kiện onPause()

 onStop(): sự kiện này được gọi khi Activity bị che khuất hoàn toàn bởi một Activity khác và Activity đó cũng dành được focus

Trang 20

Hình 1.2: Vòng đời của một activityKhi một Activity bị paused hoặc stopped, trạng thái của một Activity vẫn sẽ được giữ lại Điều này là đúng vì mỗi đối tượng Activity vẫn còn được giữ lại trong bộ nhớ khi

nó bị paused hoặc stopped Tất cả các thông tin về Activity cũng như trạng thái của nó vẫn còn tồn tại trong Vì vậy, bất cứ thay đổi nào của người dùng đối với Activity vẫn được giữ lại khi nó trở lại trạng thái hoạt động hoặc chế độ resume

b, Intent

Intent là cầu nối giữa các Activity trong ứng dụng Android Intent chính là người đưa thư, giúp chúng ta triệu gọi cũng như truyền các dữ liệu cần thiết để thực hiện một Activity từ một Activity khác

Trang 21

Hình 1.3: Truyền dữ liệu dùng intent

c, Services

Các dịch vụ (Services) là thành phần chạy nền và không có bất kỳ giao diện nào Chúng có thể thực hiện các hành động tương tự như các hoạt động, nhưng mà không có bất kỳ giao diện người dùng nào Dịch vụ là hữu ích với các hành động (actions) khi mà người dùng cùng một lúc muốn thực hiện trên màn hình nhiều actions Services có thể được sử dụng theo 2 cách:

+ Services có thể được bắt đầu và được phép hoạt động cho đến khi một người nào đó dừng Services lại hoặc Services tự ngắt Ở chế độ này, Services được bắt đầu bằng cách gọi Context.startService() và dừng bằng lệnh Context.stopService() Services có thể tự động ngắt bằng lệnh Service.stopSelf() hoặc Service.stopSelfResult() Chỉ cần một lệnh stopService() để ngừng Service lại cho dù lệnh startService() được gọi ra bao nhiêu lần

+ Service có thể được vận hành theo như đã được lập trình việc sử dụng một giao diện mà nó định nghĩa Người dùng thiết lập một đường truyền đến đối tượng Service mà Services sử dụng và sử dụng đường kết nối đó để thâm nhập vào Service Kết nối này được thâm nhập bằng cách gọi lệnh Context.bindService() và được đóng lại bằng cách gọi lệnh Context.unbindService() Nhiều người dùng có thể kết nối tới cùng một thiết bị Nếu Service vẫn chưa được khởi chạy, lệnh bindService() có thể tùy ý khởi động Services

Hai chế độ này thì không tách biệt toàn bộ Có thể kết nối với một Service mà

nó đã được bắt đầu với lệnh startService() Ví dụ, một Service nghe nhạc ở chế độ nền có thể bắt đầu với lệnh startService() cùng với một đối tượng Intent mà định dạng được âm nhạc để chơi Sau đó, có thể là khi người sử dụng muốn kiểm soát trình chơi nhạc nhạc hoặc biết thêm thông tin về bài hát hiện tại đang chơi, thì sẽ

có một Activity tạo lập một đường truyền tới Service bằng cách gọi bindService() Trong trường hợp như thế này, stopService() sẽ không thực sự ngừng Service cho

Trang 22

đến khi liên kết cuối cùng được đóng lại.

Hình 1.4: Các phương thức gọi lại của một Services

d, Content Providers

Content Providers là lớp trung gian chia sẻ dữ liệu giữa các ứng dụng Mặc định, Android chạy mỗi ứng dụng trong một khuôn thử của riêng nó để tất cả dữ liệu thuộc về một ứng dụng hoàn toàn độc lập với các ứng dụng khác trong hệ thống Mặc dù một lượng nhỏ dữ liệu vẫn được trao đổi giữa các ứng dụng thông qua các Intent, content providers sẽ tốt hơn và thích hợp nhiều cho việc chia sẻ dữ liệu liên tục giữa các bộ dữ liệu lớn

Hệ thống Android sử dụng cơ chế này vào mọi lúc Chẳng hạn như Content Providers ở đây trình bày tất cả các dữ liệu liên hệ của người dùng một cách đa

Trang 23

dạng trên ứng dụng Settings Provider trình bày việc cài đặt các ứng dụng khác nhau trên hệ thống, bao gồm cả việc xây dựng ứng dụng Settings Media Store chịu trách nhiệm lưu trữ và chia sẻ các phương tiện khác nhau, chẳng hạn như ảnh

và âm nhạc trên các ứng dụng khác nhau

Content Providers là các giao diện tương đối đơn giản với các phương thức tiêu chuẩn như insert(), update(), delete(), and query() Các phương thức này giống như các phương thức chuẩn trong cơ sở dữ liệu

Trang 24

e, Broadcast Receivers

Broadcast Receivers (có thể gọi là Receiver) là một trong bốn loại thành phần trong ứng dụng Android Chức năng dùng để nhận các sự kiện mà các ứng dụng hoặc hệ thống phát đi

+ Tránh xử lý các code quá lâu trong onReceive()

+ Không có xử lý bất đồng bộ chờ callback trong Receiver ( cụ thể như hiển thị Dialog, kết nối các Service…)

f, SQLite

SQLite là một dạng CSDL tương tự MySQL, PostgreSQL,…Đặc điểm của SQLite là gọn, nhẹ, đơn giản Chương trình gồm 1 file duy nhất vỏn vẹn chưa đến 500kB, không cần cài đặt, không cần cấu hình hay khởi động mà nó có thể sử dụng

Trang 25

user, password hay quyền hạn trong SQLite database.

Trang 26

g, Telephony

Telephony cũng làm một thành phần tương đối quan trọng trong hệ thống Android Nó cho phép người lập trình có thể lấy các thông tin của hệ thống như thông tin SIM, thông tin thiết bị, thông tin mạng…Ngoài ra, chúng ta cũng có thể cài đặt các thông số cho cho thiết bị nếu các thông số đó có thể thay đổi được Tất

cả những điều đó được được quản lý bởi một class Telephony Manager trong Android

1.2 Web Service trong Android

 Tìm hiểu về Web Service

- Web Service là một tập các phương thức được gọi thực hiện từ xa thông

qua một địa chỉ url Kết quả trả về của Web Service thường dưới dạng json hoặc xml Web Service thường được sử dụng để tạo các ứng dụng phân tán

Hình 1.5 Kiến trúc WebService đơn giản

Trang 27

Đặc điểm:

 Web Service cho phép Client và Server tương tác được với nhau ngay cả trong những môi trường khác nhau Ví dụ, đặt Web Server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này

 Phần lớn kĩ thuật của Web Service được xây dựng dựa trên mã nguồn

mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML

 Một Web Service bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet

 Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet

 Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình Server Nó có thể được triển khai bởi một phần mềm ứng dụng phía Server ví dụ như PHP, Oracle Application Server hay Microsoft.Net…

Client- Ngày nay Web Service đang rất phát triển, những lĩnh vực trong cuộc sống có thể áp dụng và tích hợp Web Service là khá rộng lớn như dịch vụ chọn lọc

và phân loại tin tức (hệ thống thư viện có kết nối đến Web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin

về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe…

 Các ứng dụng có tích hợp Web Service đã không còn là xa lạ, đặc biệt

Trang 28

trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với Web Service, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Do vậy, việc phát triển và tích hợp các ứng dụng với Web Service đang được quan tâm phát triển là điều hoàn toàn dễ hiểu.



Trang 29

Ưu và nhược điểm

 Nâng cao khả năng tái sử dụng

 Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện Web Service

 Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

 Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác

 Nhược điểm:

 Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web Service, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành

 Có quá nhiều chuẩn cho Web Service khiến người dùng khó nắm bắt

 Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

 Web Serive là một công nghệ cho phép Client truy xuất để thực hiện mọi tác vụ như một Web Application Về bản chất Web Service dựa trên XML và

Trang 30

HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải Web Service không phụ thuộc vào platform nào, nó

 Thành phần của WebService

- Web Servive là một công nghệ cho phép Client truy xuất để thực hiện mọi tác vụ như một Web Application Về bản chất Web Service dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải Web Service không phụ thuộc vào platform nào, nó có thể sử dụng trên

đa nền tảng: Android, IOS, Windown Phone., do đó ta có thể sử dụng Web Service

để truyền tải dữ liệu giữa các ứng dụng hay giữa các platform

Nền tảng Web Service bao gồm có :

 SOAP – Simple Object Access Protocol

 UDDI Uniseral Description, Discovery and Intergration

 WSDL – Web Services Description Language

SOAP:

 SOAP – Một tiêu chuẩn của W3C, là giao thức sử dụng XML để định nghĩa dữ liệu dạng thuần văn bản (plain text) thông qua HTTP SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào

 Một thông điệp SOAP được chia thành hai phần là header và body Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP

WSDL:

 WSDL là một ngôn ngữ dựa trện XML để định vị và mô tả các dịch vụ WEB

Trang 31

- Biểu đồ lớp (Class Diagram)

Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối quan

hệ giữa chúng Nó thể hiện mặt tĩnh của hệ thống

- Biểu đồ đối tượng (Object Diagram)

Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng Đối tượng

là một thể hiện của lớp, biểu đồ đối tượng là một thể hiện của biều đồ lớp

- Biểu đồ Use case (Use Case Diagram)

Khái niệm actor: là những người, hệ thống khác ở bên ngoài phạm vi của hệ thống mà có tương tác với hệ thống

- Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và

mô hình hóa hành vi của hệ thống

- Biểu đồ trình tự (Sequence Diagram)

Là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng đó để thực hiện một chức năng nào đó của hệ thống

- Biểu đồ hợp tác (Collaboration)

Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một cách khác

Trang 32

để thể hiện một tình huống có thể xảy ra trong hệ thống Nhưng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của các thông báo đó Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau.

- Biểu đồ chuyển trạng thái (Statechart)

Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước chuyển trạng và các hoạt động Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện(interface class) hay collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive)

- Biểu đồ hoạt động (Activity)

Là một dạng đặc biệt của biểu đồ chuyển trạng Nó chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong một hệ thống Nó đặc biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng

- Biểu đồ thành phần (Component)

Chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component) Nó liên quan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện , collaboration

- Quan hệ Thừa kế (Generalization) chỉ ra cấu hình của hệ thống khi thực thi.

1.3.2 UML trong thiết kế ứng dụng Android

 Kiến trúc hệ thống

Khi xem xét một hệ thống, chúng ta cần xây dựng các mô hình từ những khía cạnh khác nhau, xuất phát từ thực tế là những người làm việc với hệ thống với

Trang 33

những vai trò khác nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau.

UML xét hệ thống trên 5 khía cạnh:

Use-Case View

Bao gồm các Use Case mô tả ứng xử của hệ thống theo cách nhìn nhận của người dùng, người phân tích hệ thống Nó không chỉ ra cách cấu trúc của hệ thống phần mềm, nó chỉ dùng để nhìn nhận một cách tổng quát những gì mà hệ thống sẽ cung cấp, thông qua đó người dùng có thể kiểm tra xem các yêu cầu của mình đã được đáp ứng đầy đủ hay chưa hoặc có chức năng nào của hệ thống là không cần thiết Biểu đồ dùng đến là biểu đồ Use Case

Trang 34

đồng bộ hóa và các xử lý đồng thời Dùng cho người phát triển và tích hợp hệ thống, bao gồm các biểu đồ sequence, collaboration, activity và state.

Implementation View

Bao gồm các component và file tạo nên hệ thống vật lý Nó chỉ ra sự phụ thuộc giữa các thành phần này, cách kết hợp chúng lại với nhau để tạo ra một hệ thống thực thi

Deployment View

Chỉ ra cấu hình phần cứng mà hệ thống sẽ chạy trên đó Nó thể hiện sự phân tán, cài đặt các phần mà tạo nên kiến trúc vật lý của hệ thống Biểu đồ được sử dụng là biểu đồ Deployment

 Phân tích và thiết kế hệ thống trong ứng dụng Android

 Phân tích:

Thông thường việc phân tích thiết kế hệ thống được thực hiện theo các bước sau:

– Phân tích yêu cầu: Dùng phương pháp phân tích Use case để nắm bắt các

yêu cầu của khách hàng Đây là một bước quan trọng và sự thành công của bước này sẽ quyết định sự thành công của dự án Bởi vì một hệ thống dù có xây dựng tốt đến đâu nhưng không đáp ứng được những nhu cầu của khách hàng hệ thống sẽ thất bại

– Phân tích: Sau khi đã biết được người dùng muốn gì, chúng ta tập trung mô

tả lại hệ thống, các khái niệm chính trong lĩnh vực của hệ thống cần xây dựng, trong hướng đối tượng gọi là các lớp lĩnh vực ( domain class ), mối quan hệ và

sự tương tác giữa các đối tượng đó Mục đích chính là hiểu hệ thống hoạt động như thế nào

– Thiết kế: ở bước này sử dụng kết quả thu được ở các bước trước để mở rộng

Trang 35

thành một giải pháp kỹ thuật, thêm vào các lớp thuộc về kỹ thuật như các lớp giao diện, các lớp điều khiển…Tập trung mô tả cấu trúc bên trong của hệ thống, sự tương tác của tập hợp các đối tượng để đạt được những chức năng mà

 Xây dựng biểu đồ đối tượng

 Phân tích sự tương tác giữa các đối tượng

Trang 36

 Quan hệ Dependency

 Quan hệ Realization

 Thêm vào các thuộc tính và phương thức cho các lớp

 Xác định ứng xử của đối tượng

 Xây dựng biểu đồ chuyển trạng

 Xây dựng biểu đồ hoạt động

 Xác định kiến trúc của hệ thống

 Xây dựng biểu đồ thành phần

 Xây dựng biểu đồ triển khai

Trang 37

Dựa vào tình hình thực tế đó và thêm vào việc nhận thấy đa phần các bạn học sinh, sinh viên đều sở hữu điện thoại di động thông minh chạy trên nền tảng Android Nên em đã quyết định xây dựng ứng dụng luyện thi Toeic trên nền tảng Android có đầy đủ chức năng để giúp các bạn học sinh, sinh viên có thể luyện thi Toeic một cách đơn giản và mang lại hiệu quả cao.

2.1.2 Cấu trúc đề thi Toeic trong thực tế

Để xây dựng một ứng dụng về luyện thi TOEIC, thì điều quan trọng là phải

hiểu rõ về cấu trúc đề thi TOEIC trong thực tế Nếu nắm rõ cấu trúc của bài thi

(đề thi), thì sẽ dễ dàng thiết kế giao diện, cơ sở dữ liệu đồng thời nắm bắt và xây dựng được các chức năng cần có trong ứng dụng Vậy một bài thi TOEIC gồm bao nhiêu phần? Mỗi phần có bao nhiêu câu? Mỗi câu được tính bao nhiêu điểm? Thời gian làm bài được tính như thế nào?

Một bài thi TOEIC đầy đủ gồm hai phần thi: Phần thi Listening (nghe hiểu)

trong 45 phút và phần thi Reading (đọc hiểu) trong 75 phút Mỗi phần thi có 100

Trang 38

câu Tổng số câu hỏi của cả hai phần thi là 200 câu Tổng thời gian làm bài là 120

phút hay 2 tiếng Số điểm tối đa là 990 điểm Cấu trúc và nội dung chi tiết của từng phần thi như sau:

PHẦN A - LISTENING (100 câu / 45 phút)Phần thi Listening được dùng để đánh giá kỹ năng nghe Thí sinh sẽ được

nghe các câu miêu tả, câu hỏi, hội thoại và đoạn thông tin bằng tiếng Anh được

đọc trực tiếp trên đài cassette hoặc loa Thí sinh chỉ có 45 phút để vừa nghe vừa trả lời 100 câu bằng cách tô vào các đáp án A-B-C-D.

Bảng 1: Bảng chi tiết cấu trúc 4 phần Listening trong đề thi Toeic thực tế

10 câu Tương ứng với mỗi bức ảnh, bạn sẽ được

nghe 04 câu mô tả về nó Nhiệm vụ của bạn là phải chọn câu mô tả đúng nhất cho bức ảnh

Phần 2 Hỏi đáp

(Question –

Response)

30 câu Bạn sẽ nghe một câu hỏi (hoặc câu nói) và

03 lựa chọn trả lời Nhiệm vụ của bạn là phải chọn ra câu trả lời đúng nhất trong ba đáp án A-B-C

Phần 3 Hội thoại ngắn

(Short

Conversations)

30 câu Bạn sẽ nghe 10 đoạn hội thoại ngắn Mỗi

đoạn có 03 câu hỏi Nhiệm vụ của bạn là chọn ra câu trả lời đúng nhất trong 04 đáp

án của đề thi

Trang 39

Phần 4 Đoạn thông tin

ngắn

(Short Talks)

30 câu Bạn sẽ nghe 10 đoạn thông tin ngắn Mỗi

đoạn có 03 câu hỏi Nhiệm vụ của bạn là chọn ra câu trả lời đúng nhất trong số 04 đáp án được cung cấp

Trong phần thi nghe hiểu sẽ có một số ví dụ sử dụng giọng Anh – Mỹ (Bắc Mỹ), giọng Anh – Anh, giọng Anh – Úc và giọng Anh – Canada Những ngữ âm này xuất hiện không nhiều nhưng phản ánh những kiểu giọng đặc trưng khác nhau trong thực tế ở môi trường làm việc quốc tế Chính vì vậy đòi hỏi người học phải có phương pháp tổng hợp và khả năng nhận biết một cách linh hoạt, nhạy bén

PHẦN B - READING (100 câu / 75 phút)Phần thi Reading (đọc hiểu) được thực hiện ngay sau khi thí sinh kết thúc

phần thi nghe Phần thi này dùng để đánh giá vốn từ vựng, ngữ pháp tiếng Anh và khả năng đọc hiểu các đoạn văn ngắn Các câu hỏi và phần thông tin liên quan đều

được in trực tiếp trên đề thi Có tất cả 100 câu và thí sinh có 75 phút để hoàn

Trang 40

12 câu Mỗi đoạn văn có 03 chỗ trống Bạn phải

điền từ thích hợp còn thiếu vào mỗi chỗ trống trong đoạn văn đó

2.2 Yêu cầu công nghệ của hệ thống

Với đề tài như trên hệ thống xây dụng gồm ba phần

+ Server: dùng để quản lý lưu trữ cơ sở dữ liệu, cung cấp các hàm chức năng kết nối và giao tiếp với Client, đồng thời tiến hành mã hóa cơ sở dữ liệu thành một dạng khác và gửi về cho Client khi có yêu cầu

+ Client trên Android bao gồm các hàm kết nối tương ứng đến Server, nhận dữ liệu, thao tác người dùng sau đó gửi yêu cầu đến Server, nhận dữ liệu từ Server hiển thị thông tin cho người dùng, đồng thời tải về các tài nguyên đã được

mã hóa từ Server khi có yêu cầu và giải mã dữ liệu về dữ liệu gốc để người dùng

sử dụng

+ Web Client bao gồm giao diện Web trên một phần mềm Web browser bất

kỳ Thành phần này sẽ cung cấp các chức năng cho người quản trị để tương tác với

cơ sở dữ liệu Đây là thành phần quan trọng cho phép người quản trị quản lý hệ thống với giao diện trực quan dễ thao tác trên một giao diện Web thân thiện dễ sử dụng

Với ý tưởng như trên hệ thống được xây dựng sẽ đảm bảo việc chia sẻ cũng

Ngày đăng: 09/12/2016, 01:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] T.S. Nguyễn Thanh Bình. Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng. Khoa công nghệ thông tin, trường Đại học Bách Khoa, Đại học Đà Nẵng 2007 Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hệ thống hướng đối tượng
[4] Trang Web chia sẻ lập trình https://duythanhcse.wordpress.com/Android/ Link
[6] Trang Web: http://sequencediagrameditor.com/ Link
[7] Trang Web: http://developer.Android.com/guide/index.html Link
[1]. Bài giảng lập trình hướng đối tượng – Bộ môn công nghệ phần mềm trường đại học công nghệ thông tin và truyền thông Khác
[2]. Bài giảng hệ quản trị cơ sở dữ liệu SQLServer2012 – Khoa công nghệ thông tin Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Cấu trúc stack hệ thống Android - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 1.1 Cấu trúc stack hệ thống Android (Trang 14)
Hình 1.4: Các phương thức gọi lại của một Services - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 1.4 Các phương thức gọi lại của một Services (Trang 22)
Hình 1.5 Kiến trúc WebService đơn giản - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 1.5 Kiến trúc WebService đơn giản (Trang 26)
Hình 2.1: Kiến trúc hệ thống - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 2.1 Kiến trúc hệ thống (Trang 42)
Hình 2.2: Các thành phần của hệ thống - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 2.2 Các thành phần của hệ thống (Trang 45)
Hình 2.5: Biểu đồ tuần tự cho chức năng Login trên Server - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 2.5 Biểu đồ tuần tự cho chức năng Login trên Server (Trang 52)
Hình 2.9: Biểu đồ tuần tự chức năng Practive Toeic trên Client - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 2.9 Biểu đồ tuần tự chức năng Practive Toeic trên Client (Trang 59)
Hình 2.10: Biểu đồ tuần tự chức năng Toeic exam trên Client - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 2.10 Biểu đồ tuần tự chức năng Toeic exam trên Client (Trang 61)
Hình 3.2: Giao diện đăng nhập - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.2 Giao diện đăng nhập (Trang 74)
Hình 3.5: Giao diện danh sách bài thi - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.5 Giao diện danh sách bài thi (Trang 78)
Hình 3.6: Biểu đồ theo dõi tình hình học tập - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.6 Biểu đồ theo dõi tình hình học tập (Trang 79)
Hình 3.18: Giao diện màn hình đăng nhập ở Server - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.18 Giao diện màn hình đăng nhập ở Server (Trang 102)
Hình 3.21: Màn hình Edit Group - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.21 Màn hình Edit Group (Trang 105)
Hình 3.22: Màn hình Delete Group - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.22 Màn hình Delete Group (Trang 106)
Hình 3.27: Giao diện Part 1 - Xây dựng ứng dụng ôn luyện thi toeic và theo dõi tiến độ học tập của sinh viên trên nên android
Hình 3.27 Giao diện Part 1 (Trang 111)

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