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 1TRƯỜ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 3TRƯỜ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 4KHOA 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 5KHOA 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 6LỜ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 7Khoa 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 81.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 9STT 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 11PHẦ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 12Text 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 13Sơ đồ 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 14Họ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 15Thay đổ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 16nghĩ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 17Thê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 18Bả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 19Bả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 20Hì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 21Hì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 22nghe 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 23PHẦ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 253.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 26PHẦ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 28Firebase đã 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 30Tí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 31apply 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 33xá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 35Mộ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 36Trong đó 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 37Mộ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 38Tạ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 40ViewPager 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