1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên android

122 15 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 122
Dung lượng 8,2 MB

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

Nội dung

 Xây dựng giao diện và chức năng cho ứng dụng + Quản lý tài khoản + Tra từ + Học từ thông flashcards, kiểm tra trắc nghiệm, truyện chêm, chủ đề + Thêm, xóa chủ đề, từ + Xem lại danh sác

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TỪ VỰNG TIẾNG ANH TRÊN ANDROID

GVHD: NGUYỄN TRẦN THI VĂN SVTH: DƯƠNG HỒNG PHÚC MSSV: 15110278

SVTH: ĐÀO THỊ PHƯỢNG MSSV:15110289

SKL 0 0 5 7 6 0

Trang 2

Đề tài:

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN

KHÓA 2015 – 2019

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

XÂY DỰNG ỨNG DỤNG HỖ TRỢ

HỌC TỪ VỰNG TIẾNG ANH TRÊN ANDROID

ThS NGUYỄN TRẦN THI VĂN DƯƠNG HỒNG PHÚC – 15110278 ĐÀO THỊ PHƯỢNG – 15110289

Trang 3

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

DƯƠNG HỒNG PHÚC – 15110278 ĐÀO THỊ PHƯỢNG – 15110289

Đề tài:

XÂY DỰNG ỨNG DỤNG HỖ TRỢ

HỌC TỪ VỰNG TIẾNG ANH TRÊN ANDROID

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN ThS NGUYỄN TRẦN THI VĂN

KHÓA 2015 – 2019

Trang 4

KHOA CNTT

*******

Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên 1: Dương Hồng Phúc MSSV 1: 15110278

Họ và tên Sinh viên 2: Đào Thị Phượng MSSV 2: 15110289

Ngành: Công nghệ Thông tin

Tên đề tài: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android

Họ và tên Giáo viên hướng dẫn: ThS Nguyễn Trần Thi Văn

NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:

Tp Hồ Chí Minh, ngày tháng năm 2019

Giáo viên hướng dẫn (Ký & ghi rõ họ tên)

Trang 5

KHOA CNTT

*******

Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên 1: Dương Hồng Phúc MSSV 1: 15110278

Họ và tên Sinh viên 2: Đào Thị Phượng MSSV 2: 15110289

Ngành: Công nghệ Thông tin

Tên đề tài: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android

Họ và tên Giáo viên phản biện:

NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:

Tp Hồ Chí Minh, ngày tháng năm 2019

Giáo viên phản biện (Ký & ghi rõ họ tên)

Trang 6

LỜI CẢM ƠN

Nhóm em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, Bộ môn Công nghệ phần mềm, trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh đã tạo điều kiện thuận lợi cho chúng em thực hiện đề tài này

Chúng em cũng xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Trần Thi Văn, giáo viên hướng dẫn đã tận tình chỉ bảo và hướng dẫn nhóm em

Bên cạnh đó, chúng em xin gửi lời cảm ơn đến các Thầy Cô của trường nói chung, những người đã giảng dạy và tạo điều kiện cho em tích lũy được những kiến thức quý báu trong những năm học qua

Dù đã cố gắng hoàn thành đề tài khóa luận đúng yêu cầu, nhưng do khả năng còn hạn chế nên chắc chắn sẽ không tránh khỏi thiếu sót Chúng em mong nhận được

sự chỉ bảo, nhận xét của các Thầy Cô và các bạn

Nhóm thực hiện

Dương Hồng Phúc – 15110278 Đào Thị Phượng – 15110289

Trang 7

Khoa Công nghệ Thông tin

ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHỆP

Họ và tên Sinh viên 1: Dương Hồng Phúc MSSV 1: 15110278

Họ và tên Sinh viên 2: Đào Thị Phượng MSSV 2: 15110289

Thời gian làm khóa luận: Từ 18/03/2019 đến 30/06/2019 (15 tuần)

Chuyên ngành: Công nghệ phần mềm

Tên khóa luận: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android Giáo viên hướng dẫn: ThS Nguyễn Trần Thi Văn

Nhiệm vụ của khóa luận:

1 Lý thuyết:

 Tìm hiểu hệ điều hành Android và một số thành phần cơ bản trong Android

 Tìm hiểu về Google FireBase: Realtime Database và Authentication

2 Thực hành:

 Xây dựng cơ sở dữ liệu

 Xây dựng giao diện và chức năng cho ứng dụng

+ Quản lý tài khoản

+ Tra từ

+ Học từ thông flashcards, kiểm tra trắc nghiệm, truyện chêm, chủ đề

+ Thêm, xóa chủ đề, từ

+ Xem lại danh sách từ đã tra gần đây, từ yêu thích, từ đã thuộc

Đề cương viết khóa luận:

PHẦN MỞ ĐẦU 1

PHẦN NỘI DUNG 4

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

1.1 TỔNG QUAN VỀ HỆ DIỀU HÀNH ANDROID 4 1.2 TỔNG QUAN VỀ GOOGLE FIREBASE VÀ GOOGLE AUTHENTICATION 5

Trang 8

1.5 TỔNG QUAN VỀ MỘT SỐ THƯ VIỆN ANIMATION TRONG ANDROID 21

CHƯƠNG 2 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU 23

2.1 KHẢO SÁT HIỆN TRẠNG 23

2.2 SƠ ĐỒ USE CASE 28

2.3 MÔ TẢ CHI TIẾT USE CASE 32

2.4 SƠ ĐỒ TUẦN TỰ CỦA MỘT SỐ TÍNH NĂNG CHÍNH 59

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 63

3.1 THIẾT KẾ CƠ SỞ DỮ LIỆU 63

3.2 THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 65

3.3 DANH SÁCH MÀN HÌNH 66

CHƯƠNG 4 CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 94

4.1 CÀI ĐẶT ỨNG DỤNG 94

4.2 KIỂM THỬ ỨNG DỤNG 95

PHẦN KẾT LUẬN 98

1 Những kết quả đạt được 98

2 Ưu điểm đề tài 98

3 Hạn chế đề tài 98

4 Hướng phát triển 98

TÀI LIỆU THAM KHẢO 99

Trang 9

STT Ngày Nhiệm vụ (Công việc dự kiến) Sản phẩm Ghi chú

1 18/03 –

31/03

- Xác định chức năng của ứng dụng và phác thảo ý tưởng

- Tham khảo một số ứng dụng cùng đề tài đã có

- Prototype và workflows của ứng dụng

2 01/04 –

14/04

- Tìm hiểu Google FireBase

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

- Cơ sở dữ liệu (.json)

3 15/04 –

28/04

- Bổ sung từ cho cơ sở dữ liệu

- Tìm hiểu các thành trong Android: Activity, Fragment, RecycleView, WebView…

- Tìm hiểu Text to Speech

- Xây dựng chức năng Từ điển,

Từ tra gần đây, Từ yêu thích

- Cơ sở dữ liệu bổ sung (~ 250 từ)

- UI của ứng dụng

- Cơ bản hoàn thành chức năng

Từ điển, Từ tra gần đây, Từ yêu thích

4 29/04 –

19/05

- Bổ sung từ cho cơ sở dữ liệu

- Tìm hiểu Google Authentication và Xây dựng chức năng Tài khoản, Đăng nhập, Đăng ký, Thay đổi ngôn ngữ

- Tìm hiểu các thành phần trong Android: Tab Layout…

- Xây dựng chức năng Truyện chêm, Chủ đề

- Cơ sở dữ liệu bổ sung (~ 500 từ)

- Cơ bản hoàn thành chức năng Tài khoản, Thay đổi ngôn ngữ Truyện chêm, chủ

- Xây dựng chức năng Flashcards, Kiểm tra, Thêm chủ

đề, Thêm từ

- Cơ sở dữ liệu bổ sung (~ 600 từ)

- Cơ bản hoàn thành chức năng FlashCards, Kiểm tra, Từ đã thuộc, Thêm chủ đề, Thêm từ,

Trang 10

- Test case

7 10/06 –

23/06

- Tổng hợp, viết báo cáo

- Trao đổi với GVHD về báo cáo

và ứng dụng

- Báo cáo

- Ứng dụng đã được kiểm thử và sửa lỗi

Tp Hồ Chí Minh, ngày tháng năm 2019

Người viết đề cương (Ký và ghi rõ họ tên)

Giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

Trang 11

PHẦN MỞ ĐẦU 1

PHẦN NỘI DUNG 4

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

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

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

Lịch sử phát triển của hệ điều hành Android 4

Đặc điểm chính của hệ điều hành Android 5

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

Ưu điểm 5

Nhược điểm 5

1.2 TỔNG QUAN VỀ GOOGLE FIREBASE VÀ GOOGLE AUTHENTICATION 5 Giới thiệu về Google Firebase 5

Chức năng chính của Firebase 6

Đặc điểm của Firebase 7

Tích hợp Firebase vào project Android 8

Tạo project mới trên Firebase 8

Cấu hình Firebase trên Android studio 8

Realtime Databse 9

Giới thiệu về Google Authentication 10

1.3 MỘT SỐ THÀNH PHẦN CƠ BẢN TRONG ANDROID 12

Activity 12

Fragment 14

RecycleView 15

CardView 16

WebView 16

Tab Layout 17

ViewPager 17

Dialog và AlertDialog 18

Dialog 18

AlertDialog 19

Trang 12

Text to Speech (TTS) 19

Speech to Text 20

1.5 TỔNG QUAN VỀ MỘT SỐ THƯ VIỆN ANIMATION TRONG ANDROID 21

Lotie 22

RecyclerView Animator 22

CHƯƠNG 2 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU 23

2.1 KHẢO SÁT HIỆN TRẠNG 23

Learn English Vocabulary Game – Tflat (https://goo.gl/CRQ3v2) 23

Ưu điểm: 23

Nhược điểm: 23

3000 từ vựng tiếng Anh (https://bom.to/PLEHI) 24

Ưu điểm: 24

Nhược điểm: 24

Từ điển Anh Việt – DictBox (https://bom.to/fr6XX) 25

Ưu điểm: 25

Nhược điểm: 25

Từ điển Anh- Việt, từ điển Việt- Anh (https://bom.to/1OOn4) 26

Ưu điểm: 26

Nhược điểm: 26

Từ điển Lạc Việt (Anh - Việt) (https://bom.to/K6WnA) 27

Ưu điểm: 27

Nhược điểm: 27

Đánh giá chung 28

2.2 SƠ ĐỒ USE CASE 28

Sơ đồ use case tổng quan 28

Sơ đồ use case chi tiết Quản lý tài khoản 28

Sơ đồ use case chi tiết Tra từ 29

Sơ đồ use case chi tiết Quản lý từ đã tra 29

Sơ đồ use case chi tiết Quản lý từ yêu thích 29

Sơ đồ use case chi tiết Quản lý từ đã thuộc 29

Sơ đồ use case chi tiết Học từ qua flashcards 30

Trang 13

Sơ đồ use case Học từ theo chủ đề 30

2.3 MÔ TẢ CHI TIẾT USE CASE 31

Đăng nhập 31

Đặt lại mật khẩu 32

Đăng ký tài khoản 33

Thay đổi email 34

Thay đổi mật khẩu 35

Xóa tài khoản 36

Thay đổi ngôn ngữ 37

Đăng xuất 38

Tra từ 39

Xem nghĩa, phiên âm, gia đình từ, từ đồng nghĩa, nghe phát âm 40

Kiểm tra phát âm 41

Xem lại từ đã tra 42

Xóa từ trong danh sách từ đã tra gần đây 43

Thêm từ vào danh sách yêu thích và xóa từ trong danh sách yêu thích 44 Xem lại từ yêu thích 45

Học từ thông qua flashcards 46

Học từ thông qua kiểm tra trắc nghiệm 48

Học từ thông qua truyện chêm 50

Học từ thông qua chủ đề 52

Thêm chủ đề 53

Xóa chủ đề 54

Thêm từ 55

Xóa từ 56

Thêm từ vào danh sách đã thuộc 57

2.4 SƠ ĐỒ TUẦN TỰ CỦA MỘT SỐ TÍNH NĂNG CHÍNH 58

Đăng nhập 58

Đăng xuất 58

Tra từ 59

Học từ thông qua flashcards 59

Trang 14

Học từ thông qua truyện chêm 60

Thêm chủ đề 61

Thêm từ 61

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 62

3.1 THIẾT KẾ CƠ SỞ DỮ LIỆU 62

Lượt đồ quan hệ 62

Cơ sở dữ liệu Firebase dạng Node 62

Mô tả cơ sỡ dữ liệu 63

Node Dictionary 63

Node Story 63

Node Topic 64

3.2 THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 64

Danh sách màn hình chuyển đổi 64

3.3 DANH SÁCH MÀN HÌNH 65

Đăng nhập 65

Thiết kế giao diện 65

Danh sách xử lý 65

Đặt lại mật khẩu 66

Thiết kế giao diện 66

Danh sách xử lý 66

Đăng ký tài khoản 67

Thiết kế giao diện 67

Danh sách xử lý 67

Thay đổi email 68

Thiết kế giao diện 68

Danh sách xử lý 68

Thay đổi mật khẩu 69

Thiết kế giao diện 69

Danh sách xử lý 69

Xóa tài khoản 70

Thiết kế giao diện 70

Trang 15

Thay đổi ngôn ngữ 71

Thiết kế giao diện 71

Danh sách xử lý 71

Đăng xuất 72

Thiết kế giao diện 72

Danh sách xử lý 72

Tra từ 73

Thiết kế giao diện 73

Danh sách xử lý 73

Xem nghĩa, phiên âm, gia đình từ, từ đồng nghĩa, nghe phát âm 74

Thiết kế giao diện 74

Danh sách xử lý 74

Kiểm tra phát âm 75

Thiết kế giao diện 75

Danh sách xử lý 76

Xem lại từ đã tra 76

Thiết kế giao diện 76

Danh sách xử lý 77

Xóa từ trong danh sách từ đã tra 77

Thiết kế giao diện 77

Danh sách xử lý 77

Thêm từ vào danh sách yêu thích và xóa từ trong danh sách yêu thích 78 Thiết kế giao diện 78

Danh sách xử lý 78

Xem lại từ yêu thích 79

Thiết kế giao diện 79

Danh sách xử lý 79

Học từ thông qua flashcards 80

Thiết kế giao diện 80

Danh sách xử lý 81

Trang 16

nghĩa tiếng Việt) 82

Thiết kế giao diện 82

Danh sách xử lý 82

Học từ thông qua kiểm tra kiểm tra trắc nghiệm (nghe từ tiếng Anh, chọn nghĩa tiếng Việt) 83

Thiết kế giao diện 83

Danh sách xử lý 83

Học từ thông qua kiểm tra kiểm tra trắc nghiệm (xem từ tiếng Việt, chọn nghĩa tiếng Anh) 84

Thiết kế giao diện 84

Danh sách xử lý 84

Học từ thông qua truyện chêm (xem danh sách truyện) 85

Thiết kế giao diện 85

Danh sách xử lý 85

Học từ thông qua truyện chêm (xem truyện) 86

Thiết kế giao diện 86

Danh sách xử lý 86

Học từ thông qua chủ đề 87

Thiết kế giao diện 87

Danh sách xử lý 87

Thêm chủ đề 88

Thiết kế giao diện 88

Danh sách xử lý 88

Xóa chủ đề 89

Thiết kế giao diện 89

Danh sách xử lý 89

Thêm từ 90

Thiết kế giao diện 90

Danh sách xử lý 90

Xóa từ 91

Thiết kế giao diện 91

Trang 17

Thêm từ vào danh sách đã thuộc 92

Thiết kế giao diện 92

Danh sách xử lý 92

CHƯƠNG 4 CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 93

4.1 CÀI ĐẶT ỨNG DỤNG 93

4.2 KIỂM THỬ ỨNG DỤNG 94

PHẦN KẾT LUẬN 98

1 Những kết quả đạt được 98

2 Ưu điểm đề tài 98

3 Hạn chế đề tài 98

4 Hướng phát triển trong tương lai 98

TÀI LIỆU THAM KHẢO 99

Trang 18

Bảng 2 Use case Đăng nhập 31

Bảng 3 Use case Đăng ký tài khoản 32

Bảng 4 Use case Đăng ký tài khoản 33

Bảng 5 Use case Thay đổi email 34

Bảng 6 Use case Thay đổi mật khẩu 35

Bảng 7 Use case Xóa tài khoản 36

Bảng 8 Use case Thay đổi ngôn ngữ 37

Bảng 9 Use case Đăng xuất 38

Bảng 10 Use case Tra từ 39

Bảng 11 Use case Xem nghĩa, phiên âm, gia đình từ, từ đồng nghĩa, nghe phát âm 40

Bảng 12 Use case Kiểm tra phát âm 41

Bảng 13 Use case Xem lại từ đã tra 42

Bảng 14 Use case Xóa từ trong danh sách từ đã tra gần đây 43

Bảng 15 Use case Thêm từ vào danh sách yêu thích 44

Bảng 16 Use case Xem lại từ yêu thích 45

Bảng 17 Use case Học từ thông qua flashcards 47

Bảng 18 Use Học từ thông qua kiểm tra trắc nghiệm 49

Bảng 19 Use case Học từ thông qua truyện chêm 51

Bảng 20 Use case Học từ thông qua chủ đề 52

Bảng 21 Use case Thêm chủ đề 53

Bảng 22 Use case Xóa chủ đề 54

Bảng 23 Use case Thêm từ 55

Bảng 24 Use case Xóa từ 56

Bảng 25 Use case Thêm từ vào danh sách đã thuộc 57

Bảng 26 Bảng thuộc tính node Dictionary 63

Bảng 27 Bảng thuộc tính node Story 63

Bảng 28 Bảng thuộc tính node Topic 64

Bảng 29 Danh sách xử lý Đăng nhập 65

Bảng 30 Danh sách xử lý Đặt lại email 66

Bảng 31 Danh sách xử lý Đăng ký tài khoản 67

Bảng 32 Danh sách xử lý Thay đổi email 68

Trang 19

Bảng 34 Danh sách xử lý Xóa tài khoản 70

Bảng 35 Danh sách xử lý Thay đổi ngôn ngữ 71

Bảng 36 Danh sách xử lý Đăng xuất 72

Bảng 37 Danh sách xử lý Tra từ 73

Bảng 38 Danh sách xử lý Xem nghĩa, phiên âm, gia đình từ, từ đồng nghĩa, nghe phát âm 74

Bảng 39 Danh sách xử lý Kiểm tra phát âm 76

Bảng 40 Danh sách xử lý Xem lại từ đã tra 77

Bảng 41 Danh sách xử lý Xóa từ trong danh sách từ đã tra 77

Bảng 42 Danh sách xử lý Thêm từ vào danh sách yêu thích và xóa từ trong danh sách từ yêu thích 78

Bảng 43 Danh sách xử lý Xem lại từ yêu thích 79

Bảng 44 Danh sách xử lý Học từ thông qua flashcards 81

Bảng 45 Danh sách xử lý Học từ thông qua kiểm tra kiểm tra trắc nghiệm (xem từ tiếng Anh, chọn nghĩa tiếng Việt) 82

Bảng 46 Danh sách xử lý Học từ thông qua kiểm tra kiểm tra trắc nghiệm (nghe từ tiếng Anh, chọn nghĩa tiếng Việt) 83

Bảng 47 Danh sách xử lý Học từ thông qua kiểm tra kiểm tra trắc nghiệm (xem từ tiếng Việt, chọn nghĩa tiếng Anh) 84

Bảng 48 Danh sách xử lý Học từ thông qua truyện chêm (xem danh sách truyện) 85

Bảng 49 Danh sách xử lý Học từ thông qua truyện chêm (xem truyện) 86

Bảng 50 Danh sách xử lý Học từ thông qua Học từ thông qua chủ đề 87

Bảng 51 Danh sách xử lý Thêm chủ đề 88

Bảng 52 Danh sách xử lý Học từ thông qua Xóa chủ đề 89

Bảng 53 Danh sách xử lý Thêm từ 90

Bảng 54 Danh sách xử lý Xóa từ 91

Bảng 55 Danh sách xử lý Thêm từ vào danh sách đã thuộc 92

Trang 20

Hình 1 Các phiên bản Android 4

Hình 2 Dịch vụ Firebase 6

Hình 5 Vòng đời của một Activity [6] 13

Hình 8 TabLayout và ViewPager 18

Hình 10 Ứng dụng Learn English Vocabulary Game 23

Hình 11 Ứng dụng 3000 từ vựng tiếng Anh 24

Hình 12 Ứng dụng Từ điển Anh Việt – DictBox 25

Hình 13 Ứng dụng Từ điển Anh- Việt, từ điển Việt- Anh 26

Hình 14 Ứng dụng Từ điển Lạc Việt (Anh- Việt) 27

Hình 15 Sơ đồ use case tổng quan 28

Hình 16 Sơ đồ use case chi tiết Quản lý tài khoản 28

Hình 16 Sơ đồ use case chi tiết Tra từ 29

Hình 16 Sơ đồ use case chi tiết Quản lý từ đã tra 29

Hình 16 Sơ đồ use case chi tiết Quản lý từ yêu thích 29

Hình 16 Sơ đồ use case chi tiết Quản lý từ đã thuộc 29

Hình 17 Sơ đồ use case chi tiết Học từ qua flashcards 30

Hình 18 Sơ đồ use case chi tiết Học từ qua kiểm tra trắc nghiệm 30

Hình 18 Sơ đồ use case chi tiết Học từ theo chủ đề 30

Hình 19 Prototype Đăng nhập 31

Hình 20 Prototype Đặt lại mật khẩu 32

Hình 21 Prototype Đăng ký tài khoản 33

Hình 22 Prototype Thay đổi email 34

Hình 23 Prototype Thay đổi mật khẩu 35

Hình 24 Prototype Xóa tài khoản 36

Hình 25 Prototype Thay đổi ngôn ngữ 37

Hình 26 Prototype Đăng xuất 38

Hình 27 Prototype Tra từ 39

Hình 28 Prototype Xem nghĩa, phiên âm, gia đình từ, từ đồng nghĩa, nghe phát âm 40

Hình 29 Prototype Kiểm tra phát âm 41

Hình 30 Prototype Xem lại từ đã tra 42

Hình 31 Prototype Xóa từ trong danh sách từ đã tra gần đây 43

Trang 21

Hình 33 Prototype Xem lại từ yêu thích 45

Hình 34 Prototype Học từ thông qua flashcards 46

Hình 35 Prototype Học từ thông qua kiểm tra trắc nghiệm 48

Hình 36 Prototype Học từ thông qua truyện chêm 50

Hình 37 Prototype Học từ thông qua chủ đề 52

Hình 38 Prototype Thêm chủ đề 53

Hình 39 Prototype Xóa chủ đề 54

Hình 40 Prototype Thêm từ 55

Hình 41 Prototype Xóa từ 56

Hình 42 Prototype Thêm từ vào danh sách đã thuộc 57

Hình 43 Sơ đồ tuần tự Đăng nhập 58

Hình 45 Sơ đồ tuần tự Đăng xuất 58

Hình 46 Sơ đồ tuần tự Tra từ 59

Hình 47 Sơ đồ tuần tự Học từ thông qua flashcards 59

Hình 48 Sơ đồ tuần tự Học từ thông qua kiểm tra trắc nghiệm 60

Hình 49 Sơ đồ tuần tự Học từ thông qua truyện chêm 60

Hình 50 Sơ đồ tuần tự Thêm chủ đề 61

Hình 50 Sơ đồ tuần tự Thêm từ 61

Hình 73 Lượt đồ quan hệ 62

Hình 74 Cơ sở dữ liệu Firebase dạng Node 62

Hình 75 Danh sách màn hình chuyển đổi 64

Hình 76 Thiết kế giao diện màn hình Đăng nhập 65

Hình 77 Thiết kế giao diện màn hình Đặt lại email 66

Hình 78 Thiết kế giao diện màn hình Đăng ký tài khoản 67

Hình 79 Thiết kế giao diện màn hình Thay đổi email 68

Hình 80 Thiết kế giao diện màn hình Thay đổi mật khẩu 69

Hình 81 Thiết kế giao diện màn hình Xóa tài khoản 70

Hình 82 Thiết kế giao diện màn hình Thay đổi ngôn ngữ 71

Hình 83 Thiết kế giao diện màn hình Đăng xuất 72

Hình 84 Thiết kế giao diện màn hình Tra từ 73

Trang 22

nghe phát âm 74Hình 86 Thiết kế giao diện màn hình Kiểm tra phát âm 75Hình 87 Thiết kế giao diện màn hình Xem lại từ đã tra 76Hình 88 Thiết kế giao diện màn hình Xóa từ trong danh sách từ đã tra 77Hình 89 Thiết kế giao diện màn hình Thêm từ vào danh sách yêu thích và xóa từ trong danh sách từ yêu thích 78Hình 90 Thiết kế giao diện màn hình Xem lại từ yêu thích 79Hình 91 Thiết kế giao diện màn hình Học từ thông qua flashcards 80Hình 92 Thiết kế giao diện màn hình Học từ thông qua kiểm tra kiểm tra trắc nghiệm (xem từ tiếng Anh, chọn nghĩa tiếng Việt) 82Hình 93 Thiết kế giao diện màn hình Học từ thông qua kiểm tra kiểm tra trắc nghiệm (nghe từ tiếng Anh, chọn nghĩa tiếng Việt) 83Hình 94 Thiết kế giao diện màn hình Học từ thông qua kiểm tra kiểm tra trắc nghiệm (xem từ tiếng Việt, chọn nghĩa tiếng Anh) 84Hình 95 Thiết kế giao diện màn hình Học từ thông qua truyện chêm (xem danh sách truyện) 85Hình 96 Thiết kế giao diện màn hình Học từ thông qua truyện chêm (xem truyện) 86Hình 97 Thiết kế giao diện màn hình Học từ thông qua chủ đề 87Hình 98 Thiết kế giao diện màn hình Thêm chủ đề 88Hình 99 Thiết kế giao diện màn hình Xóa chủ đề 89Hình 100 Thiết kế giao diện màn hình Thêm từ 90Hình 101 Thiết kế giao diện màn hình Xóa từ 91Hình 102 Thiết kế giao diện màn hình Thêm từ vào danh sách đã thuộc 92Hình 103 Logo ứng dụng 93Hình 104 Hướng dẫn cài đặt ứng dụng 93

Trang 23

PHẦN MỞ ĐẦU

1 Tính cấp thiết của đề tài

Hiện nay lượng người sử dụng thiết bị di động là rất lớn, người ta không còn sử dụng nó với mục đích chính là nghe gọi nữa mà thiết bị di động còn được biết đến với nhiều tính năng tiện dụng khác mà nó mang lại

Đối với Việt Nam, một nước đang đứng trước thời đại phát triển thì tiếng Anh đang trở nên vô cùng quan trọng Với các bạn học sinh, sinh viên, việc học tiếng Anh lại càng trở nên cần thiết hơn bao giờ hết Một phần không thể thiếu trong quá trình trao dồi tiếng Anh đó là từ vựng, từ vựng có thể xem như các tế bào nhỏ hình thành nên khả năng sử dụng tiếng Anh

Việc học từ vựng cũng cần phải có phương pháp Não bộ con người thông thường sau một tháng chỉ còn nhớ khoảng 20% thông tin đã tiếp nhận, sau đó sẽ bắt đầu quá trình quên lãng, do đó việc kiên trì học và ôn lại từ vựng hàng ngày theo chu kỳ nhất định là một điều hết sức quan trọng Không chỉ đơn thuần học từ vựng, nghĩa mà cần phải học cách phát âm chính xác của từ Hơn nữa, cần phải gắn cho từ đang học cho một hình ảnh nào đó, sử dụng Mind map để vẽ sơ đồ các từ có nghĩa liên quan Học từ vựng đúng phương pháp sẽ giúp ghi nhớ lâu hơn, tránh mất thời gian và công sức

Những điều trên cho thấy tầm quan trọng của việc học từ vựng tiếng Anh cũng như phương pháp học hiệu quả Với một ứng dụng trên thiết bị di động sẽ giải quyết được vấn

đề đó, tạo cảm giác hứng thú trong quá trình học, có thể học bất cứ khi nào, ở đâu

2 Mục đích của đề tài

Tìm hiểu tài liệu về Google Firebase, Google Authentication, Text to Speech, thư viện Animation (Lottie, RecyclerView Animators, Shimmer RecycleView) và các thành phần cơ bản trong Android

Phân tích, thiết kế và xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android với một số chức năng cơ bản như sau:

 Đăng nhập, đăng ký, đăng xuất tài khoản

 Chỉnh sửa tài khoản: Thay đổi email, mật khẩu, đặt lại mật khẩu, xóa tài khoản

Trang 24

 Tra từ: Tra nghĩa, phiên âm, nghe phát âm, xem từ đồng nghĩa, kiểm tra phát

âm của từ

 Thêm từ vào danh sách yêu thích, xem danh sách từ yêu thích

 Xem lại danh sách từ đã tra gần đây, xóa từ đã tra gần đây

 Xem lại danh sách từ đã tra gần đây, xóa từ đã tra gần đây

 Học từ thông qua hình ảnh, flashcards ba mặt (định nghĩa và từ đồng nghĩa, hình ảnh và nghĩa, ví dụ)

 Học từ thông qua game trắc nghiệm (nghe từ tiếng Anh chọn nghĩa tiếng Việt tương ứng, xem từ tiếng Anh chọn nghĩa tiếng Việt tương ứng, và ngược lại)

 Học từ thông qua truyện chêm

 Học từ thông qua chủ đề

 Thêm, xóa chủ đề và từ

 Thêm từ vào danh sách từ đã thuộc, xem danh sách từ đã thuộc

 Chọn ngôn ngữ hiển thị

3 Cách tiếp cận và phương pháp nghiên cứu

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

Ứng dụng hỗ trợ học từ vựng tiếng Anh dành cho tất cả mọi người

3.2 Phạm vi nghiên cứu

 Tìm hiểu các phương pháp học từ vựng tiếng Anh hiệu quả

 Tìm hiểu các thành phần cơ bản trong Android (Activity, Fragment, RecyclerView, Webview, CardView, EasyFlipView, Tablayout, ViewPager, Dialog…)

 Tìm hiểu các thư viện Animation (Lottie, RecyclerView Animators)

 Tìm hiểu về Text to Speech

 Tìm hiểu về UI/UX và cải thiện trải nghiệm người dùng, giúp người dùng sử dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất

 Xây dựng chức năng của ứng dụng

Trang 25

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

 Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng dụng liên quan đến các công nghệ đang tìm hiểu

 Phương pháp chuyên gia: Tham khảo ý kiến của Thầy hướng dẫn cùng các anh, chị và bạn bè có kinh nghiệm liên quan đến các vấn đề của khóa luận để tạo tính chính xác và khoa học của đề tài

 Phương pháp mô hình hóa: Mô phỏng ứng dụng từ bước thiết kế cài đặt cho đến kết quả thành phẩm của ứng dụng

4 Phân tích các ứng dụng có liên quan

Hầu hết các ứng dụng hỗ trợ học từ vựng tiếng Anh đã ra mắt có danh sách từ vựng phong phú, có nhiều chức năng luyện tập và nhắc nhở từ, hỗ trợ học theo Level từ thấp đến cao

Tuy nhiên một số ứng dụng vẫn có các nhược điểm sau:

 Một số ứng dụng có giao diện chưa thu hút người dùng

 Một số ứng dụng có UI đẹp, nhưng UX chưa tốt

 Một số ứng dụng không có hình ảnh minh họa cho từ vựng

5 Kết quả dự kiến đạt được

 Xây dựng được cơ sở dữ liệu phong phú, từ vựng nằm trong danh sách từ thường sử dụng nhất

 Xây dựng được giao diện đơn giản, dễ sử dụng

 Xây dựng được các chức năng đã nêu ra trong phần Mục đích của đề tài, đáp ứng cơ bản được nhu cầu học từ vựng tiếng Anh

6 Ý nghĩa khoa học và thực tiễn

Đề tài hướng đến khả năng tiếp thu, nâng cao kỹ năng lập trình, nghiên cứu công nghệ mới và trên hết là đáp ứng nhu cầu của nhiều người dùng sử dụng thiết bị di động Android để học tiếng Anh một cách tiện lợi, dễ dàng, cải thiện từ vựng của người dùng

để đáp ứng cho các cuộc thi Toeic, Ielts…

Trang 26

PHẦN NỘI DUNG CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

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

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

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java [1]

Lịch sử phát triển của hệ điều hành Android

Hệ diều hành Android đầu tiên được ra đời bởi công ty liên hợp Android [2], sau

đó được Google mua lại và phát triển vào ngày 17/08/2005

Năm 2008, hệ điều hành Android đã chính thức mở toàn bộ mã nguồn

Tên Android được đặt theo chủ đề bánh kẹo và được sắp xếp theo thứ tự bảng chữ cái kể từ Android 1.5 (Cupcake) năm 2009

Hiện nay phiên bản mới nhất là Android 9.0 (Pie) được phát hành vào ngày 06/08/2018 [2]

Hình 1 Các phiên bản Android

Trang 27

Đặc điểm chính của hệ điều hành Android

Android là hệ điều hành mã nguồn mở [1] Google phát triển Android theo hướng cung cấp mã nguồn, không ràng buộc các nhà phát triển thiết bị Điều đó mang lại một lợi ích không nhỏ khi ngày nay đang dần có rất nhiều lập trình viên đầu tư và phát triển

hệ điều hành này theo nhiều hướng khác nhau

Với Google, Android hoàn toàn miễn phí, hãng không thu tiền từ những hãng sản xuất điện thoại, nhưng bù lại các dịch vụ như Google Search, Google Maps, Gmail, Chrome, Google Drive, YouTube [1]… Nhờ có Android mà có thể dễ dàng xâm nhập nhanh vào thị trường di động

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

Ưu điểm

 Android có khả năng tuỳ biến cao, cho phép tùy ý chỉnh sửa mà không có sự can thiệp hay ràng buộc pháp lý từ Google [1]

 Android xuất hiện trên rất nhiều thiết bị từ phân khúc bình dân đến cao cấp

 Kho ứng dụng Google Play Store đồ sộ, nhiều ứng hữu ích [1]

 Giao diện thân thiện, dễ sử dụng

Nhược điểm

 Có nguy cơ tiềm ẩn cao bị dính virus hoặc các phần mềm độc hại

 Android có sự phân mảnh quá lớn do có mặt trên rất nhiều thiết bị khác nhau, gây nên một số khó khăn cho các nhà phát triển khi xây dựng ứng dụng mới [1]

 Không hỗ trợ cập nhật cho tất cả mọi thiết bị, do đó trong nhiều trường hợp, nếu muốn trải nghiệm phiên bản Android mới, người dùng phải mua thiết bị mới

1.2 TỔNG QUAN VỀ GOOGLE FIREBASE VÀ GOOGLE AUTHENTICATION

Giới thiệu về Google Firebase

Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng

di động và web bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu [3]

Trang 28

Firebase đã và đang là sự lựa chọn hàng đầu cho các lập trình viên, các công ty khởi nghiệp sử dụng Firebase để xây dựng các tính năng, các chương trình mới, cũng như chuyển đổi các dịch vụ trước đây sang hệ thống của Firebase

Cơ sở dữ liệu của Firebase là NoSQL, được tổ chức theo kiểu trees, children

parent-Hình 2 Dịch vụ Firebase

Chức năng chính của Firebase

Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng cơ sở dữ liệu

Realtime database – Cơ sở dữ liệu thời gian thực [4]

Firebase lưu trữ dữ liệu dưới dạng JSON và thực hiện đồng bộ cơ sở dữ liệu tới tất

cả các client theo thời gian thực Có thể xây dựng client đa nền tảng (cross-platform client)

và tất cả các client này sẽ cùng sử dụng chung một cơ sở dữ liệu đến từ Firebase

Firebase authentication – Hệ thống xác thực của Firebase

Có thể dễ dàng tích hợp các công nghệ xác thực của Google, Facebook… hoặc một hệ thống xác thực mà tự tạo ra ở bất kì nền tảng nào như Android, iOS hoặc Web

Firebase storage

Có thể lưu trữ dữ liệu trực tiếp trên server như hình ảnh, video, tập tin

Firebase còn bổ sung Google security để tải lên và tải về các ứng dụng Firebase,

để lưu trữ hình ảnh, âm thanh, video hoặc nội dung do người dùng tạo ra

Trang 29

Firebase hosting

Cung cấp nhanh chóng và an toàn cho việc lưu trữ ứng dụng web Có thể nhanh chóng và dễ dàng triển khai các ứng dụng web và các nội dung tĩnh cho một mạng nội dung phân phối toàn cầu (CDN) với một lệnh duy nhất

Firebase cloud messaging

Firebase cung cấp dịch vụ Cloud Messaging Một giải pháp đa nền tảng, đáng tin cậy cho phép cung cấp các thông điệp miễn phí dạng tin nhắn đến người dùng Sử dụng Firebase Cloud Messaging, có thể thông báo cho một ứng dụng client email mới hoặc

dữ liệu khác có sẵn để đồng bộ hóa

Đặc điểm của Firebase

Triển khai ứng dụng nhanh

Có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase[4]

Hỗ trợ đa nền tảng giúp thuận lợi và tiết kiệm thời gian trong việc xây dựng ứng dụng đa nền tảng

Bảo mật

Bảo mật tốt do Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL Cho phép phân quyền người dùng database bằng cú pháp javascript

Tính linh hoạt và khả năng mở rộng

Firebase sẽ giúp đơn giản hóa việc nâng cấp hay mở rộng dịch vụ, cho phép xây dựng server của riêng

Việc Firebase sử dụng NoSQL, giúp cho database không bị bó buộc trong các bảng và các trường mà có thể tùy ý xây dựng database theo cấu trúc của riêng [4]

Trang 30

Tích hợp Firebase vào project Android

Tạo project mới trên Firebase

Để tạo một Firebase project mới, truy cập vào Firebase Console (https://console.firebase.google.com), đăng nhập với tài khoản Google

Nhấn "Add project", đặt tên và nhấn "Create project" để tạo project mới

URL database mặc định: https://project-id.firebaseio.com/

Cấu hình Firebase trên Android studio

Đảm bảo thiết bị chạy Android 4.1 (Jelly Bean, AIP Level 14) hoặc mới hơn, các dịch vụ Google Play 15.0.0 trở lên và phiên bản Android Studio mới nhất

Cách 1: Sử dụng Firebase Assistant

Có thể tích hợp Firebase vào project ngay trong Android Studio

① Nhấn "Tools", chọn "Firebase" để mở cửa sổ trợ lý và làm theo hướng dẫn

② Nhấn vào "Connect to Firebase" để kết nối với Firebase

Cách 2: Cấu hình thủ công

① Tại console của Firebase, vào mục "Project Overview", tích hợp vào Android

② Nhập tên package và tên project giống như project vừa tạo ở Android Studio

③ Tải file google-services.json và copy vào thư mục app ở Android Studio

④ Mở file build.gradle (project) và dòng sau vào trong trong dependencies:

Trang 31

apply plugin: 'com.google.gms.google-services' //add this line

⑥ Tại phía góc trên bên phải trong Android Studio ấn Sync Now Vậy là ta đã hoàn thành cấu hình Firebase lên Android Studio

② Cấu hình quy định Firebase Database

Quy định của Firebase cung cấp một cách để xác định vai trò người dùng, khi nào dữ liệu có thể được đọc và ghi Những quy định này sẽ đóng vai trò một lớp bảo mật trên máy chủ trước khi thực hiện bất kỳ hoạt động

Mặc định các quy định bị hạn chế, chỉ cho phép người dùng thực hiện các hoạt động đọc và ghi chỉ sau khi xác thực

 Cho phép đọc và ghi khi đã chứng thực

".read": "auth != null",

".write": "auth != null"

}

}

Trang 32

 Cho phép đọc và ghi mà không cần xác thực

③ Ghi dữ liệu vào Firebase Database

Truy xuất một Instance của cơ sở dữ liệu bằng cách sử dụng getInstance() và tham chiếu vị trí muốn ghi vào

//write a message to the database

FirebaseDatabase database = FirebaseDatabase.getInstance();

DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello World!");

④ Đọc dữ liệu từ Firebase Database

Giới thiệu về Google Authentication

Authentication Firebase cung cấp dịch vụ backend server, SDK dễ sử dụng, và thư viện UI được tạo sẵn để xác thực người dùng với ứng dụng, mang lại trải nghiệm hấp dẫn hơn trên các nền tảng khác nhau và giữa các ứng dụng [4] Tính năng này hỗ trợ

public void onDataChange(DataSnapshot dataSnapshot) {

String value = dataSnapshot.getValue(String.class);

Log.d(TAG, "Value is: " + value);

}

@Override

public void onCancelled(DatabaseError error) {

//failed to read value

Log.w(TAG, "Failed to read value.", error.toException());

}

});

Trang 33

xác thực bằng mật khẩu, các nhà cung cấp danh tính được liên kết nổi tiếng như Google, Facebook… giúp người dùng dễ dàng truy cập vào nội dung và ứng dụng một cách nhanh chóng và an toàn

Các tính năng chính: [4]

 Tích hợp chặt chẽ với các tính năng khác của Firebase

 Sử dụng tiêu chuẩn ngành như OAuth 2.0 và OpenID Connect, vì vậy bạn có thể dễ dàng tích hợp với chương trình phụ trợ tùy chỉnh của mình

 Cung cấp hai tùy chọn phát triển hoặc là FirebaseUI, SDK xác thực Firebase

 Cung cấp xác thực an toàn giúp người dùng dễ dàng đăng nhập bằng tài khoản Google mà họ đã sử dụng với Gmail, Google Play và các dịch vụ khác của Google

 Cung cấp trải nghiệm ứng dụng liền mạch trên các thiết bị và vào trang web của bạn, một cách an toàn từ sự đồng ý một lần

 Kết nối người dùng an toàn với các dịch vụ của Google

 Cho phép người dùng thanh toán bằng Google Wallet của họ

Để tích hợp Authentication vào ứng dụng, cần truy cập vào Firebase Console, và

mở project lên Trong phần Authentication, chọn SIGN-IN METHOD và chọn Enable phần Email và Password hoặc có thể chọn những phương thức khác để phục vụ mục đích yêu cầu của dự án

Các bước cấu hình Authentication:

① Mở file AndroidManifest.xml và sau đó thêm quyền truy cập Internet

② Chép file google-services.json vào thư mục app

③ Mở file build.gradle và thêm dependency trong build.gradle

Trang 34

④ Mở file app/build.gradle và thêm firebase auth dependency và ở cuối thêm

Để ứng dụng của bạn có thể sử dụng được các Activity, phải khai báo các Activity

và một số thuộc tính của chúng trong Manifest

Khai báo Activity: Mở tệp Manifest và thêm vào các phần tử <activity> làm phần

tử con của phần tử <application>

Thuộc tính bắt buộc duy nhất cho thành phần này là android:name, chỉ định tên lớp của hoạt động

Trang 35

Một phần tử <activity> cũng có thể quy định các bộ lọc ý khác nhau- bằng cách

sử dụng phần tử <intent- filter> để khai báo cách thức mà các thành phần của ứng dụng

</activity>

Trang 36

Trong đó các phương thức được miêu tả như sau:

 onCreate(): Phương thức callback đầu tiên, được gọi khi Activity được tạo

 onStart(): Phương thức callback được gọi khi Activity trở nên nhìn thấy

 onResume(): Được gọi khi người dùng bắt đầu tương tác với ứng dụng

 onPause(): Activity tạm dừng không nhận input từ người dùng

 onStop(): Callback này được gọi trươc skhi activity bị hủy bởi hệ thống

 onDestroy(): Callback này được gọi trươc skhi activity bị hủy bởi hệ thống

 onRestart(): Được gọi khi activity tái khởi động sau khi dừng nó

Một lớp Activity tải tất cả thành phần UI bởi sử dụng XML file có sẵn trong thư mục res/layoutcủa project

Lệnh sau tải các thành phần UI từ res/layout/activity_main.xml file:

Để tạo một Fragment, phải tạo một lớp con của fragment

Bố cục XML của một Activity có thể bao gồm thẻ <fragment> để nhúng các fragment bên trong bố cục

Trang 37

Một số đặc điểm của Fragment:

 Fragment là một thành phần android độc lập, giống như một sub-activity

 Fragment có vòng đời và giao diện riêng

 Các Fragment thường có một file java đi kèm với file giao diện xml

 Vòng đời của fragment bị ảnh hưởng trực tiếp bởi vòng đời của activity chủ

 Một Fragment có thể được sử dụng trong nhiều Activitiy

 Fragment được thêm vào API 11 trở lên

 Fragment sử dụng phương thức getActivity() để lấy ra Activity cha

 Fragment được định nghĩa trong file xml của activity (static definition) hoặc

có thể sửa đổi fragment khi đang chạy (dynamic definition)

RecycleView

RecyclerView là một ViewGroup mới, nó là sự kế thừa và nâng cao của ListView

và GridView được hỗ trợ trong support-v7 version [7] Một trong những ưu điểm nổi trội của Recycler là nó có thể hiển thị dữ liệu theo cả chiều ngang và chiều dọc

Để làm việc với RecyclerView, cần biết một số phương thức sau:

 RecyclerView.Adapter dùng để thu thập và hiển thị ViewHolder Pattern trong Adapter để hiển thị dữ liệu lên

 LayoutManager chỉ định chiều hiển thị của item (theo chiều ngang hay dọc)

 ItemAnimation dùng để set hiệu ứng chuyển động

Để sử dụng RecyclerView, cần cấu hình trong file build.gradle như sau:

Tạo RecyclerView trong file XML:

android:layout_width="match_parent"

android:layout_height="match_parent"

Trang 38

Tạo CardView rỗng trong file XML:

WebView

WebView dùng để hiển thị trang trong một ứng dụng Trang web có thể được tải

từ cùng một ứng dụng hoặc một URL WebView được sử dụng để hiển thị nội dung trực tuyến trong Activity của Android [7] Cũng có thể hiện thị HTML trong ứng dụng Android

Tạo WebView trong file XML:

Trang 39

Để Activity có thể truy cập được Internet và tải trang web trong WebView, cần phải phân quyền truy cập Internet cho ứng dụng trong tập tin Manifest.xml

Tab Layout

Tab Layout cung cấp bố cục nằm ngang để hiển thị tab Thành phần Tab Layout có thể có chức năng hiển thị tab của riêng nó theo một trong hai cách: fixed và scrollable [8]

 Fixed: Tất cả các tab sẽ được hiển thị trên màn hình cùng một lúc

 Scrollable: Nếu số tab trở nên quá dài đối với màn hình, thì người dùng có thể vuốt từ trái hoặc phải để nhìn thấy thêm các tab

Để sử dụng Tab Layout, cần cấu hình trong file build.gradle (Moldule app):

Thêm TabLayout vào ứng dụng thông qua việc sử dụng TabItem

ViewPager

ViewPager là một trình quản lý Layout cho phép người dùng vuốt tay qua trái hay qua bên phải để chuyển sang nội dung của trang khác một cách đồng thời ViewPager hỗ trợ từ Android API 13 trở lên [6] ViewPager là một thành phần nằm trong gói android.support:design:xxx, thường được sử dụng với Fragment vì ViewPager quản

lý vòng đời của các Fragment có trong nó một cách thuận tiện nhất

Trang 40

ViewPager cung cấp các Adapter để dễ dàng trong việc quản lý các Fragment

Có 2 lớp là FragmentPagerAdapter và FragmentStatePagerAdapter là 2 Adapter thường được sử dụng để quản lý các Fragment của ViewPager

Ngày đăng: 28/11/2021, 16:31

TỪ KHÓA LIÊN QUAN

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

w