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

Xây dựng ứng dụng học tiếng Nhật trên nền tảng Android.

70 1 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

Tiêu đề Xây Dựng Ứng Dụng Học Tiếng Nhật Trên Nền Tảng Android
Tác giả Trương Thị Ngọc Ánh
Người hướng dẫn PGS. TSKH Trần Quốc Chiến
Trường học Đại học Đà Nẵng
Chuyên ngành Khoa Tin Học
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2015
Thành phố Đà Nẵng
Định dạng
Số trang 70
Dung lượng 4,83 MB

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

Nội dung

Do đó, cùng với sự phát triển của các thiết bị thông minh cũng như hệ điều hành Android, có rất nhiều sản phẩm được cung cấp để nhằm hỗ trợ cho việc học tiếng Nhật.. Hệ điều hành Android

Trang 1

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

Trang 2

LỜI CẢM ƠN

Trước hết em xin chân thành cảm ơn đến quý thầy cô khoa Tin học trường Đại Học Sư Phạm Đà Nẵng, đặc biệt là những thầy cô đã tận tình dạy bảo em trong suốt quá trình học tập tại trường

Em xin gởi lời biết ơn sâu sắc đến PGS.TSKH Trần Quốc Chiến đã dành nhiều thời gian và tâm huyết để giúp em hoàn thành luận văn tốt nghiệp

Em xin gởi lời cảm ơn chân thành đến công ty CP Công Nghệ Tâm Hợp Nhất đã tạo điều kiện thuận lợi, hỗ trợ em hoàn thành luận văn Em cũng xin gởi lời cảm ơn đến anh Nguyễn Lê Sĩ Nguyên và các anh chị trong công ty đã tận tình hướng dẫn và chỉ bảo em trong thời gian vừa qua

Trong quá trình thực hiện luận văn tốt nghiệp, em đã luôn cố gắng hoàn thành luận văn của mình một cách tốt nhất Nhưng kinh nghiệm cũng như vốn kiến thức còn hạn chế nên không tránh khỏi những thiếu xót của bản thân Rất mong thầy cô, các bạn nhận xét và góp ý thêm để em ngày càng hoàn thiện tốt hơn

Xin trân trọng cảm ơn!

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan:

1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS.TSKH Trần Quốc Chiến

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Sinh viên

Trương Thị Ngọc Ánh

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày tháng năm 2015

Chữ ký của giảng viên hướng dẫn

Trang 5

MỤC LỤC

DANH MỤC BẢNG BIỂU i

DANH MỤC HÌNH VẼ ii

MỞ ĐẦU 1

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1

2 MỤC TIÊU NGHIÊN CỨU 2

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2

4 PHƯƠNG PHÁP NGHIÊN CỨU 2

5 BỐ CỤC ĐỀ TÀI 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4

1.1TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 4

1.1.1 Giới thiệu hệ điều hành Android 4

1.1.2 Lịch sử phát triển 5

1.1.3 Các phiên bản của hệ điều hành Android 6

1.1.4 Ưu nhược điểm của hệ điều hành Android 6

1.1.5 Kiến trúc của hệ điều hành Android 7

1.1.6 Các thành phần của ứng dụng 10

1.1.7 Các thành phần của một Android Project 13

1.1.8 Lưu trữ dữ liệu với SQLite 14

1.2 GOOGLE CLOUD MESSAGING 15

1.2.1 Giới thiệu Google Cloud Messaging 15

1.2.2 Quy trình hoạt động 16

1.3 WEB SERVICE 17

1.3.1 Giới thiệu về Web Service 17

1.3.2 Đặc điểm của Web Service 17

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

Trang 6

1.4 JSON 18

1.4.1 Json là gì ? 18

1.4.2 Json Object 19

1.4.3 Json Array 19

1.4.4 Các bước để parse Json 19

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ 20

2.1 XÁC ĐỊNH YÊU CẦU 20

2.2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 21

2.2.1 Sơ đồ phân rã chức năng 21

2.2.2 Sơ đồ ngữ cảnh 21

2.2.3 Sơ đồ dòng dữ liệu mức đỉnh 22

2.2.4 Biểu đồ Activity 22

2.2.5 Một số kịch bản đa sử dụng 25

2.3 PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 26

2.3.1 Sơ đồ thực thể liên kết (ERD) 26

2.3.2 Sơ đồ quan hệ dữ liệu 27

2.3.3 Các lược đồ quan hệ 27

CHƯƠNG 3 KẾT QUẢ ĐẠT ĐƯỢC 34

3.1 WEBSITE QUẢN LÝ ỨNG DỤNG HỌC TIẾNG NHẬT 34

3.1.1 Bài học 34

3.1.2 Từ vựng 34

3.1.3 Ngữ pháp 35

3.1.4 Ví dụ ngữ pháp 36

3.1.5 Gởi thông báo 36

3.1.6 Câu hỏi luyện tập 37

3.1.7 Web API 37

3.2 GIAO DIỆN ỨNG DỤNG HỌC TIẾNG NHẬT TRÊN ANDROID 39

Trang 7

3.2.1 Splash screen 39

3.2.2 Menu 40

3.2.3 Menu bài học 40

3.2.4 Popup menu 41

3.2.5 Học bảng chữ cái 42

3.2.6 Học phát âm 43

3.2.7 Học chào hỏi cơ bản 43

3.2.8 Học số đếm 44

3.2.9 Học cách nói thời gian 45

3.2.10 Học từ vựng 46

3.2.11 Học ngữ pháp 47

3.2.12 Notification 48

3.2.13 Học Hán Tự 49

3.2.14 Menu luyện tập 49

3.2.15 Luyện tập bảng chữ cái 50

3.2.16 Luyện tập chào hỏi 51

3.2.17 Luyện tập số đếm 52

3.2.18 Luyện tập thời gian 53

3.2.19 Luyện tập từ vựng 54

3.2.20 Luyện tập ngữ pháp 55

3.2.21 Luyện tập Hán Tự 56

3.2.22 Tìm kiếm 57

3.2.23 Thông báo kết quả luyện tập 58

KẾT LUẬN VÀ KIẾN NGHỊ 59

TÀI LIỆU THAM KHẢO 60

Trang 9

DANH MỤC HÌNH VẼ

Số hiệu

Trang 10

3.11 Popup menu 41

Trang 11

MỞ ĐẦU

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Hiện nay, rất nhiều các công ty của Nhật đang chuyển hướng trọng tâm hoạt động kinh doanh sang thị trường Việt Nam Khi đó, nhân lực cần thiết là những người có khả năng nói tiếng Nhật và hầu hết những người như thế đều trở thành nhà điều hành quản lý Trong tương lai các doanh nghiệp Nhật Bản

sẽ càng ngày càng hướng tới Việt Nam và khi đó, khả năng giao tiếp tiếng Nhật sẽ là điểm lợi cho công cuộc tìm kiếm việc làm

Do đó, cùng với sự phát triển của các thiết bị thông minh cũng như hệ điều hành Android, có rất nhiều sản phẩm được cung cấp để nhằm hỗ trợ cho việc học tiếng Nhật Tuy nhiên, bản thân nhận thấy rằng đa số các ứng dụng

đó đều xây dựng theo dạng giáo trình, chưa hướng đến đối tượng người bắt đầu học Nếu những người mới bắt đầu học khi học qua những ứng dụng này thì họ sẽ không nắm được kiến thức sơ cấp, không biết được mình sẽ tiếp tục học lên mức độ nào Một số ứng dụng thì có hướng đến người bắt đầu học nhưng lại chưa đáp ứng đủ nội dung học tập cần thiết Nội dung cần thiết cho người học mới bắt đầu học thì lại được xây dựng bởi nhiều ứng dụng riêng lẻ Chính vì vậy, đề tài được xây dựng để thực hiện được hai mục đích là hỗ trợ cho những người đang học tiếng Nhật tại các trung tâm và giúp cho những người đi làm, những sinh viên, học sinh… có thể tự học tiếng Nhật tại nhà

Từ kinh nghiệm bản thân đã từng học qua lớp sơ cấp tiếng Nhật và vốn ngoại ngữ tiếng Nhật sẽ xây dựng một ứng dụng học tiếng Nhật hiệu quả Nội dung ứng dụng sẽ hướng đến đối tượng mới bắt đầu học Trong ứng dụng, người dùng sẽ được học bảng chữ cái Hiragana, bảng chữ Katakana, cách phát âm, cách nói số đếm, thời gian, chữ hán tự cơ bản, bộ hán tự cơ bản, từ vựng, ngữ pháp và người dùng sẽ được luyện tập những phần mà mình đã học

Trang 12

2 MỤC TIÊU NGHIÊN CỨU

 Nghiên cứu về nền tảng Android và xây dựng ứng dụng bẳng ngôn ngữ Android

 Nghiên cứu và thiết kế giao diện phù hợp cho tất cả các thiết bị

 Tìm hiểu ngôn ngữ lập trình PHP và áp dụng vào xây dựng Web Service trả về cơ sở dữ liệu dưới dạng chuỗi Json

 Tìm hiểu cách tương tác dữ liệu giữa điện thoại Android và Web Service

 Tìm hiểu, nghiên cứu Google Cloud Messaging để push notification về điện thoại khi có dữ liệu mới được cập nhật

 Tìm hiểu cách triển khai một ứng dụng trên Google play store

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

 Đối tượng nghiên cứu:

- Kiến trúc hệ điều hành Android

- Lập trình ứng dụng trên nền tảng Android

- Xây dựng Web Service bằng ngôn ngữ PHP

- Kỹ thuật Push Notifications sử dụng Google Cloud Messaging

 Phạm vi nghiên cứu:

- Ngôn ngữ lập trình Android và PHP

- Web Service

- Cách tương tác dữ liệu giữa Web Service và điện thoại

- Cách sử dụng Google Cloud Messaging

4 PHƯƠNG PHÁP NGHIÊN CỨU

 Tìm hiểu, khảo sát các ứng dụng trên nền tảng Android sử dụng Web Service, Google Cloud Messaging, nghiên cứu và ứng dụng kỹ thuật vào đề tài

Trang 13

 Phân tích các yêu cầu của người dùng, từ đó thiết kế giao diện ứng dụng đơn giản, dễ sử dụng nhưng hiệu quả cao

 Đề xuất các chức năng cho ứng dụng, cũng như nhận phản hồi chức năng từ giảng viên hướng dẫn và từ đó đưa ra các giải pháp hợp lý phù hợp với xu thế phát triển của phần mềm

 Tham khảo ý kiến của giáo viên dạy tiếng Nhật để xây dựng nội dung của ứng dụng phù hợp và đạt hiệu quả cao

 Ngoài ra sử dụng các phương pháp nghiên cứu khác như nghiên cứu tài liệu, giáo trình hay các tài liệu tham khảo có liên quan đến hệ thống cần xây dựng

5 BỐ CỤC ĐỀ TÀI

Bố cục đề tài gồm 3 chương với các nội dung cơ bản sau:

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

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

- Giới thiệu Web Service, cấu trúc Json

- Giới thiệu các kỹ thuật và công nghệ sử dụng trong đề tài

 Chương 2: Phân tích thiết kế

- Phân tích hệ thống, trình bày rõ các chức năng của ứng dụng

- Phân tích thiết kế cơ sở dữ liệu

- Thiết kế giao diện người dùng

 Chương 3: Kết quả đạt được

- Demo website quản lý ứng dụng học tiếng Nhật

- Demo Web API

- Demo ứng dụng B-Japanese

Trang 14

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

1.1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID

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

đời năm 2008 Hệ điều hành Android được xây dựng trên một nền tảng mở,

và một bộ thư viện đa năng, mạnh mẽ với nguyên lý mở, nên Android đã nhanh chóng được cộng đồng lập trình viên di động hưởng ứng mạnh mẽ Nền tảng Android được tích hợp nhiều tính năng nổi bật:

 Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần cứng, quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động

 Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ

 Máy ảo Dalvik được tối ưu cho các thiết bị di động, chạy các ứng dụng lập trình trên ngôn ngữ Java

 Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, WebKit, OpenGL và trình quản lý đa phương tiện

 Hỗ trợ các chuẩn đa phương tiện phổ biến, thoại trên nền GSM, Bluetooth EDGE, 3G và Wifi

 Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc …

 Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích hợp với Eclipse SDK

Android cung cấp một tập hợp đầy đủ các phần mềm cho thiết bị di động bao gồm: hệ điều hành, các khung ứng dụng và các ứng dụng cơ bản

Trang 15

1.1.2 Lịch sử phát triển

 Tháng 10/2013, Android được thành lập tại Palo Alto, California, Hoa

Kỳ do Andu Rubin, Rich Miner và một số thành viên khác chủ trì, với mục đích để phát triển hay tạo ra các thiết bị di động thông minh hơn

phục vụ cho các mục đích cho lợi ích con người

 Tháng 8/2005, Google mua lại Android Inc với giá 50 triệu USD Các nhân viên chính của Android Inc, trong đó có Andy Rubin, Rich

Miner vẫn tiếp tục làm việc tại công ty

 Tháng 9/2007, Information Week đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng chế

trong lĩnh vực điện thoại di động

 Tháng 11/2007, Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance) đã thành lập với mục đích phát triển các tiêu chuẩn mở cho

thiết bị di động

 Từ tháng 10/2008, hệ điều hành Android đã chính thức trở thành phần mềm mã nguồn mở Theo đó, các công ty thứ ba được phép thêm những ứng dụng của riêng họ vào Android và bán chúng mà không

cần phải hỏi ý kiến Google

 Tháng 11/2008, Liên minh Open Handset Alliance ra mắt gói phát triển

phần mềm Android SDK cho nhà lập trình

 Tháng 12/2008, có thêm 14 thành viên mới gia nhập dự án Android được công bố, gồm có ARM Holdings, Atheros Communications, Asutek Computer Inc, Vodafone Group Pic, Garmin Ltd, Softbank,

Sony Ericsson và Toshiba Corp

 Từ năm 2009 đến nay, số lượng smartphone nền tảng Android tăng

trưởng mạnh mẽ

Trang 16

1.1.3 Các phiên bản của hệ điều hành Android

 Từ lúc ra mắt phiên bản đầu tiên cho tới nay, Android đã có rất nhiều bản nâng cấp Đa số đều tập trung vào việc vá lỗi và thêm những tính năng mới

 Android những thế hệ đầu tiên 1.0 (9/2008) và 1.1 (2/2009) chưa có tên gọi chính thức Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt với những mã tên riêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái từ “C – D – E – F – G – H – I ” Hiện tại các phiên bản chính của Android [7] bao gồm:

 Android 4.0 Ice Cream Sandwich, cuối 2011

 Android Jelly Bean 4.1 +4.2, 2012

 Android 4.3 Jelly Bean 4.3, 24/4/2013

 Android 4.4 KitKat, 15/10/2013

 Android L, 26/06/2014

1.1.4 Ưu nhược điểm của hệ điều hành Android

a Ưu điểm của hệ điều hành Android

 Google Android là nền tảng mở, cho phép người dùng có thể tùy biến nền tảng theo ý thích, hơn nữa lại có một Liên minh thiết bị cầm tay mở hậu thuẫn, Google Android đang là đối thủ xứng tầm của iPhone

Trang 17

 Google đang tích cự mở rộng cộng đồng phát triển các ứng dụng cho Android Bộ công cụ phát triển phần mềm (SDK) đầy đủ, hỗ trợ

đa nền (Linux, Windows hay Mac OS) do chạy trên máy ảo Java

 Thư viện ngày càng hoàn thiện, dễ dàng cho người lập trình

b Nhược điểm của hệ điều hành Android

 Hệ điều hành phân mảnh, không thống nhất trên các thiết bị, giới hạn về độ “mở”

 Nhiều lỗ hổng bảo mật

1.1.5 Kiến trúc của hệ điều hành Android

Hình 1 1 Mô hình kiến trúc nền tảng Android

Trang 18

a Applications

Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản như Email Client, SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác.Ngoài ra tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ Java

b Application Framwork

ứng dụng mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng sáng tạo và phong phú Các nhà phát triển ứng dụng được

tự do sử dụng các tính năng cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới nền, thiết lập đồng hồ báo thức, thêm notification vào status bar của màn hình thiết bị

- Tầng này bao gồm một tập các services và thành phần sau:

 Một tập phong phú và có thể mở rộng bao gồm các đối tượng View được dùng để xây dựng ứng dụng như: list, grid, textbox, button và thậm chí là một trình duyệt web có thế nhúng vào ứng dụng

 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 hoặc chia sẽ dữ liệu của chúng

 Resource Manager: Cung cấp khả năng truy xuất các tài nguyên code như hình ảnh hoặc file layout

non- Notification Manager: Cung cấp khả năng hiển thị custom alert trên thanh status bar

 Activity Manager: Giúp quản lý vòng đời của một ứng dụng

c Libraries

 Media libraries: Bộ thư viện hỗ trợ trình diễn và ghi các định dạng

âm thanh và hình ảnh phổ biến

Trang 19

 Surface manager: Quản lý hiển thị nội dung 2D và 3D

 LibWebCore: Một web browser engine hiện đại được sử dụng trong trình duyệt của Android lần trong trình duyệt nhúng web view được

sử dụng trong ứng dụng

 SGL: Engine hỗ trợ đồ họa 2D

 3D libraries: Một thể hiện được xây dựng dựa trên các APIs của OpenGL ES 1.0 Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để tối ưu hóa hiển thị 3D

 FreeType: Bitmap và vector font rendering

 SQLite: Cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu của ứng dụng

 System C library: Tối ưu hóa cho các thiết bị chạy trên nền Linux

d Android runtime

- Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Mọi ứng dụng của Android chạy trên một tiến trình của riêng

nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trưng của thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị di động

có thể chạy nhiều máy ảo một cách hiệu quả Trước khi thực thi, bất kì ứng dụng Android nào cũng được convert thành file thực thi với định dạng nén Dalvik Executable (.dex) Định dạng này được thiết kế để phù hợp với các thiết bị hạn chế về bộ nhớ cũng như tốc độ xử lý Ngoài ra máy ảo Dalvik sử dụng bộ nhân Linux để cung cấp các tính năng như thread, low-level memory management

Trang 20

e Linux Kernel

- Android sử dụng nhân Linux 2.6 làm nhân cho các dịch vụ hệ thống như bảo mật, quản lý bộ nhớ, quản lý tiến trình (xử lý tiến trình, đa luồng), ngăn xếp mạng và trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không dây, …) Nhân Linux này cũng có vai trò như một lớp trừu tượng giữa phần cứng và phần mềm

bộ nhớ

Trang 21

+ Killed hay Shut down khi 1 activity đang paused hay stopped,

hệ thống sẽ xóa activity ấy ra khỏi bộ nhớ

 Trình diễn các tập tin đa truyên thông như nhạc, phim…

 Kết nối và thực hiện tải các nội dung thông qua Internet

 Truy xuất đọc ghi tập tin

c Broadcast Receivers

 Thành phần ứng dụng cho phép truyền tải các thông báo trên phạm

vi toàn hệ thống Không có giao diện nhưng có thể thực hiện thông báo qua thanh trạng thái

 Broadcast Receiver truyền thông báo ở hai dạng:

 Hệ thống: Các thông báo được truyền trực tiếp từ hệ thống như: tắt màn hình, pin yếu, thay đổi kết nối…

 Ứng dụng: Xây dựng các truyền thông báo đến các thành phần trong ứng dụng như: khởi động Service, tải nội dung đến ứng dụng

d Content Provider

 Content Provider xây dựng cách thức truy xuất tập hợp dữ liệu ứng dụng, dữ liệu có thể lưu trữ ở nhiều dạng như: SQLite, tập tin, tài nguyên Web hoặc bất kì thư mục lưu trữ nào

 Có thể sử dụng Content Provider để xây dựng các ứng dụng sử dụng chung nguồn tài nguyên hoặc sử dụng riêng

Trang 22

 Trong Android, một số Content Provider được xây dựng sẵn: danh

bạ, tài nguyên đa truyền thông, lịch

e View

 View được sử dụng để tạo ra các điều khiển trên màn hình cho phép nhận các tương tác từ người dùng cũng như hiển thị các thông tin cần thiết

 View bao gồm hai dạng: các điều khiển đơn lẻ (View) và tập hợp nhiều điều khiển đơn lẻ (ViewGroup)

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

 TextView: Hiển thị 1 khung text và cho phép người dùng thay đổi

 ImageView: Hiển thị 1 hình ảnh xác định từ file tài nguyên hay qua 1 content provider

 Button: Hiển thị 1 nút nhấn

 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 trang 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 ô

 RelativeLayout: Cho phép xác định vị trí các view theo mối quan

hệ giữa chúng (VD; canh trái, phải, )

 FrameLayout: Là 1 placeholder cho phép đặt lên đó 1 view duy nhất View đặt lên FrameLayout luôn được canh lề trái phía trên

Trang 23

 ScrollView: Là 1 FrameLayout đặc biệt cho phép trượt (scroll) 1 danh sách dài hơn kích thước màn hình

f Intent

 Intent là đối tượng mang thông điệp, cho phép tạo ra các yêu cầu hành động giữa các thành phần trong ứng dụng, hoặc giữa các ứng dụng với nhau

 Được sử dụng nhiều trong ba trường hợp sau:

1.1.7 Các thành phần của một Android Project

a Src

 Đây là thư mục chứa mã nguồn

 Nơi chứa tất cả các lớp do người dùng xác định, bao gồm lớp hoạt động mặc định

b Gen

 Nơi chứa các file R tự sinh ra trong project

 Tệp R.java bên trong thư mục này chứa các tham chiếu tĩnh tới tất cả tài nguyên hiện có trong thư mục res

Trang 24

c Bin

 Chứa file cài đặt apk để chép vào thiết bị

d Res

 Thư mục chứa tất cả các tài nguyên cho dự án

 Nó bao gồm các tài nguyên sau:

- Drawable – hdpi: Tài nguyên cho mảng hình phân giải cao

- Drawable – ldpi: Tài nguyên cho mảng hình phân giải thấp

- Drawable – mdpi: Tài nguyên cho mảng hình phân giải trung bình

- Layout: chứa file xml giao diện Activity

- Value: strings.xml khai báo các ánh xạ cho chuỗi

 Ta có thể tạo thêm các thư mục để chứa tài nguyên trong thư mục res

e AndroidManifest.xml

 Chứa các cấu hình chung cho toàn bộ project

 File này được tự động sinh ra khi tạo một Android Project

1.1.8 Lưu trữ dữ liệu với SQLite

a SQLite là gì?

 SQLite [7] là phần mềm quản lý cơ sở dữ liệu SQL nhưng không giống như hầu hết các cơ sở dữ liệu SQL khác, SQLite không có một máy chủ riêng biệt để xử lý

 Đặc điểm:

 SQLite gọn, nhẹ, đơn giản Chương trình gồm 1 file duy nhất, không cần cài đặt, không cần cấu hình mà có thể sử dụng ngay

 Dữ liệu database cũng được lưu ở một file duy nhất

 Không có khái niệm user, password hay quyền hạn trong SQLite Database

Trang 25

b Cài đặt và sử dụng SQLite trong Android

 SQLiteOpenHelper: Một lớp trợ giúp để hỗ trợ việc tạo ra CSDL và quản lý phiên bản cho chúng

 SQLiteDatabase: Lớp chứa các phương thức dùng để quản lý CSDL như INSERT, UPDATE, DELETE, SELECT…

c Một số chú ý

 Version: Phải lớn hơn 0 (throw IllegalAgrumentException)

 DB_NAME: Nếu thay đổi tên database sẽ gọi lại onCreate() và tạo 1 database mới

 Hàm onCreate() chỉ được gọi khi file database được tạo mới

 Hàm onUpgrade() chỉ được gọi khi version có sự thay đổi so với phiên bản hiện tại

1.2 GOOGLE CLOUD MESSAGING

1.2.1 Giới thiệu Google Cloud Messaging

 Google Cloud Messaging (GCM) [8] là một dịch vụ cho phép gửi dữ liệu từ máy chủ của bạn đến các thiết bị Android của người dùng, và ngược lại

 GCM được sử dụng cho hoạt động giao dịch giữa các ứng dụng và máy chủ hỗ trợ đầu cuối Cloud Messaging hiện đang được tích hợp vào Google Play Services

 GCM là hoàn toàn miễn phí và không giới hạn băng thông Dịch vụ hoạt động trên các gói dữ liệu có dung lượng nhỏ hơn 4kb và tin nhắn tới thiết bị Android là tức thời (Push notification)

 GCM là phù hợp cho việc xây dựng các ứng dụng nhắn tin tức thời hoặc tương tác giữa người dùng và nhà phát triển ứng dụng

Trang 26

1.2.2 Quy trình hoạt động

Hình 1.2 Quy trình hoạt động Google Cloud Messaging

 Thiết bị di động gửi request từ thiết bị đến GCM

 GCM đăng ký cho thiết bị và gửi về RegID

 Thiết bị di động gửi GCM RegID đến Web Server của chúng ta để lưu lại và sử dụng

 Web Server lưu GCM RegID trong cơ sở dữ liệu, RegID sẽ được dùng

để gửi thông báo

 Khi Web Server muốn gửi thông báo đến thiết bị di động thì sẽ dùng RegID từ cơ sở dữ liệu để gửi request đến GCM (gồm RegID và nội dung)

 GCM gửi đi một thông báo đẩy về thiết bị sau khi nhận một request từ Web Server

Trang 27

1.3 WEB SERVICE

1.3.1 Giới thiệu về Web Service

năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML Web service có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra thông tin mà người dùng yêu cầu Web Service được xây dựng dựa trên SOAP Web Service cho phép máy chủ cũng cấp dịch vụ trao đổi và truyền dữ liệu với máy client Khi phía máy client gửi yêu cầu truy vấn, phía server kiểm tra yêu cầu và trả lời yêu cầu dữ liệu của client bằng cách truyền

dữ liệu dựa trên chuẩn SOAP

1.3.2 Đặc điểm của Web Service

- Web Service cho phép client và server tương tác được với nhau trong những môi trường khác nhau

- Web Service được xây dựng dựa trên mã nguồn mở bà được phát triển

từ các chuẩn đã được công nhận

- Web Service bao gồm nhiều mô đun và có thể đưa lên mạng Internet

- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client – server

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

Trang 28

 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ữ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

1.4 JSON

1.4.1 Json là gì ?

 Json (JavaScript Object Notation) [10] là định dạng trao đổi dữ liệu độc lập Json chỉ cho phép lưu trữ dữ liệu dưới dạng chữ và số Json được

hỗ trợ trực tiếp trong JavaScript

 Cấu trúc dữ liệu của Json được dựa trên các cặp Key / Value Trong đó, Key là một chuỗi còn Value có thể là chuỗi, số, giá trị boolean hoặc object

 Một Json Object bao gồm các cặp Key / Value và được bắt đầu bởi dấu

“{” và kết thúc bởi dấu “}”

 Một mảng các giá trị được nằm trong cặp dấu ngoặc vuông [ ] và cách nhau bởi dấu phẩy “,”

Trang 29

1.4.2 Json Object

 Json Object là class đại diện cho một đối tượng trong chuỗi Json

 Một đối tượng trong chuỗi Json được bọc trong cặp dấu ngoặc nhọn

“{”, “}”

 Để tạo ra đối tượng Json Object chúng ta sử dụng phương thức khởi tạo

và truyền chuỗi Json biểu diễn đối tượng đó vào tham số thứ nhất

 Json Object cung cấp các phương thức getter để chúng ta truy xuất đến các thuộc tính của nó

1.4.3 Json Array

 Là class đại diện cho array trong chuỗi Json

 Array trong chuỗi Json là một đối tượng được bọc trong cặp ngoặc vuông “[”, “]”

 Để tạo ra đối tượng Json Array chúng ta sử dụng phương thức khởi tạo

và truyền chuỗi Json biểu diễn nó vào tham số thứ nhất

 Json Array cũng cung cấp các phương thức getter giống như Json Object để truy xuất giá trị các thuộc tính

1.4.4 Các bước để parse Json

 Tạo Json Array từ chuỗi Json đã cho

 Sử dụng vòng lặp for để xử lý cho các Json Object bên trong

 Lấy Json Object từ Json Array qua các bước lặp

 Sử dụng phương thức getter phù hợp để lấy giá trị

Trang 30

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ

2.1 XÁC ĐỊNH YÊU CẦU

 Yêu cầu chức năng

- Cung cấp nhiều bài học tiếng Nhật cho phép người dùng chọn bài học

- Người dùng có thể tìm kiếm từ theo nghĩa tiếng Việt

- Ghi nhớ những từ vựng, ngữ pháp đã học qua và thông báo cho người dùng

- Tra cứu từ vựng nhanh chóng

- Tự động cập nhật dữ liệu khi mở ứng dụng nếu dữ liệu thay đổi

- Gởi thông báo đẩy về điện thoại khi thay đổi dữ liệu trên server

- Đăng ký Google Cloud Messaging tự động

- Tự động tải dữ liệu khi mở ứng dụng lần đầu tiên

 Yêu cầu phi chức năng

Trang 31

2.2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG

2.2.1 Sơ đồ phân rã chức năng

Hình 2.1 Sơ đồ phân rã chức năng

2.2.2 Sơ đồ ngữ cảnh

Hình 2.2 Sơ đồ ngữ cảnh

Trang 33

b Luyện tập

Hình 2.5 Biểu đồ Activity “Luyện tập”

c Tải dữ liệu từ Web API

Hình 2.6 Biểu đồ Activity “Tải dữ liệu”

Trang 34

d Tìm kiếm

Hình 2.7 Biểu đồ Activity “Tìm kiếm”

e Đăng ký Google Cloud Messaging

Hình 2.8 Biểu đồ Activity “Đăng ký GCM”

Trang 35

2.2.5 Một số kịch bản đa sử dụng

a Chức năng học tiếng Nhật

Luồng sự kiện chính:

1 Hệ thống sẽ hiện ra danh sách các bài học

2 Người dùng chọn bài học muốn học

3 Hệ thống sẽ hiện ra nội dung bài học mà người dùng chọn Ngoại lệ: Người dùng có thể chọn bài học khác bằng cách bấm nút menu

Bảng 2.1 Kịch bản sử dụng chức năng học tiếng Nhật

b Chức năng luyện tập

Luồng sự kiện chính:

1 Hệ thống sẽ hiện ra danh sách các bài luyện tập

2 Người dùng chọn bài luyện tập muốn luyện tập

3 Hệ thống sẽ hiện ra bài luyện tập mà người dùng chọn

Ngoại lệ: Người dùng có thể chọn bài học khác bằng cách bấm nút menu

Bảng 2.2 Kịch bản sử dụng chức năng luyện tập

Ngày đăng: 09/05/2022, 00:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Beginning Android Application Development, WeiMengle, Wrox, 2011 [3] Professional Android Application Development, Malestrom Khác
[6] Cấu trúc và nền tảng Android, 2013, truy cập ngày 6 tháng 1 năm 2015, < http://www.slideshare.net/justinrainieta/cu-trc-v-nn-tng-android&gt Khác
[7] Basic SQLite in Android, 2013, truy cập ngày 8 tháng 1 năm 2015, < http://www.slideshare.net/YuchiYuchi/basic-sqlite-in-android&gt Khác
[8] Google Cloud Messaging, 2014, truy cập ngày 20 tháng 1 năm 2015, < http://123doc.org/document/2626258-bai-8-google-cloud-messaging.html&gt Khác
[9] Web Service, 2014, truy cập ngày 22 tháng 1 năm 2015, < http://laptrinh.vn/d/4401-web-service-la-gi&gt Khác
[10] Json, 2013, truy cập ngày 22 tháng 1 năm 2015, < http://www.code4life.vn/2013/08/json-la-gi.html&gt Khác

TRÍCH ĐOẠN

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