46
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN TRÊN NỀN TẢNG FIREBASE Sinh viên thực hiện : PHẠM TRẦN TRIÊM NGUYỄN THỊ THU HƯƠNG Giảng viên hướng dẫn : PGS.TS.Nguyễn Thanh Bình Lớp : 19IT1 Đà Nẵng, tháng 04 năm 2021

ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN

TRÊN NỀN TẢNG FIREBASE

Sinh viên thực hiện : PHẠM TRẦN TRIÊM

NGUYỄN THỊ THU HƯƠNG

Giảng viên hướng dẫn : PGS.TS.Nguyễn Thanh Bình

Lớp : 19IT1

Đà Nẵng, tháng 04 năm 2021

Page 2: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN

TRÊN NỀN TẢNG FIREBASE

Đà Nẵng, tháng 04 năm 2021

Page 3: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

MỞ ĐẦU

Theo số liệu thống kê của Digital Marketing Việt Nam, có tới 58 triệu người

dùng mạng xã hội trên thiết bị di động tính đến đầu năm 2019, con số này tăng

đến 8 triệu người dùng so với năm 2018. Vì thế, việc sử dụng smart phone để truy

cập thông tin, lướt Web, mua sắm, liên lạc, … đã không còn xa lạ đối với mỗi

người dân.

Đặc biệt, ảnh hưởng của dịch Covid từ đầu năm 2020 làm cho nhu cầu giao

tiếp với mọi người càng bị hạn chế hơn. Từ đó, cần một công cụ để kết nối mọi

người lại gần với nhau hơn. Mặc dù, các ứng dụng để kết nối mọi người như Mạng

xã hội Facebook, Chat trực tuyến, … rất tiện ích nhưng cũng đem lại những cái

hại như chúng mất quá nhiều thời gian vào Mạng xã hội, ….

Do đó, chúng tôi quyết định xây dựng “Xây dựng ứng dụng nhắn tin trên

nền tảng Firebase” đơn giản để kết nối mọi người lại gần nhau hơn.

Mục đích giúp cho mọi người có thể liên lạc với nhau bằng cách nhắn tin,

gọi điện một cách nhanh nhất và dễ sử dụng nhất. Ngoài ra còn có thể gửi ảnh,

gửi file, … cũng như giữ cho bản thân và gia đình an toàn trong tình trạng Covid

phức tạp hiện nay.

Page 4: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến các thầy cô Trường

Công nghệ Thông tin & Truyền Thông Việt- Hàn đã dạy em những kiến thức hay,

và các thầy cô trong bộ môn Lập trình di động đã truyền đạt những kiến thức

chuyên ngành bổ ích cũng như các kỹ năng trong cuộc sống. Giúp cho chúng em

trưởng thành hơn trong quá trình làm đồ án cơ sở 3. Mặc dù, chúng em còn rất bỡ

ngỡ nhưng và những khó khăn trong quá trình làm đồ án.

Đặc biệt, em xin cảm ơn sâu sắc tới giáo viên hướng dẫn PGS.TS. Nguyễn

Thanh Bình - Giảng viên khoa Khoa học máy tính, Trường Đại học Công nghệ

Thông tin & Truyền thông Việt Hàn - Đại học Đà Nẵng đã tận tình hướng dẫn

chu đáo, góp ý, theo sát giúp em có thể hoàn thành đồ án tốt nhất.

Em xin cảm ơn tới gia đình đã luôn động viên tinh thần, tạo động lực cho

em trong quá trình thực hiện đồ án. Cảm ơn tất cả bạn bè, tập thể lớp 19IT1 đã

cùng chia sẻ, góp ý trong quá trình thực hiện.

Xin chân thành cảm ơn!

Page 5: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

NHẬN XÉT

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

……………………………………………………………………………………

Chữ ký GVHD

Page 6: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

MỤC LỤC

Trang

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu đề tài 1

1.3 Nội dung chính 1

1.4 Kết quả 2

CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN 4

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

2.1.1 Khái niệm hệ điều hành Android 4

2.1.2 Sự ra đời của Android 5

2.1.3 Các phiên bản của Android 5

2.2 Môi trường lập trình Android 6

2.2.1 Sơ lược về Android Studio 6

2.2.2 Dự án trong Android studio 7

2.3 Thiết bị ảo trong Android Studio 9

2.4 Lập trình Chat với Firebase 15

2.4.1 Khái niệm 15

2.4.2 Lịch sử phát triển của Firebase 15

2.4.3 Ưu nhược điểm của Firebase 15

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

3.1 Mô tả yêu cầu 17

3.1.1 Yêu cầu về chức năng 17

3.1.2 Yêu cầu phi chức năng 18

3.2 Phân tích 20

3.2.1 Biểu đồ ca sử dụng 20

3.2.2 Đặc tả ca sử dụng 21

3.2.3 Biểu đồ hoạt động 25

3.3 Thiết kế 26

3.3.1 Biểu đồ tuần tự 26

Page 7: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

3.3.2 Cơ sở dữ liệu 26

CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG 28

4.1 Giao diện chương trình 28

4.1.1 Giao diện chính 28

4.1.2 Giao diện đăng ký 29

4.1.3 Giao diện đăng nhập 30

4.1.4 Giao diện thông tin người dùng 31

4.1.5 Giao diện danh sách người dùng 32

4.1.6 Giao diện chat 33

4.2 Đánh giá kết quả thực nghiệm 33

4.2.1 Ưu điểm 33

4.2.2 Nhược điểm 34

CHƯƠNG 5: KẾT LUẬN 35

5.1 Kết quả đạt được 35

5.2 Hạn chế 35

5.3 Hướng phát triển 35

TÀI LIỆU THAM KHẢO 36

Page 8: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

DANH MỤC CÁC BẢNG

Trang

Bảng 3.1: Ca sử dụng đăng ký hệ thống ............................................................. 21

Bảng 3.2: Ca sử dụng đăng nhập hệ thống.......................................................... 21

Bảng 3.3: Ca sử dụng xem thông tin profile ....................................................... 22

Bảng 3.4: Ca sử dụng sửa thông tin profile ........................................................ 23

Bảng 3.5: Ca sử dụng đăng xuất ......................................................................... 24

Bảng 3.6: Dữ liệu người dùng ............................................................................. 26

Bảng 3.7: Thông tin nội dung tin nhắn ............................................................... 27

Page 9: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

DANH MỤC HÌNH

Trang

Hình 2.1: Kho ứng dụng Android ......................................................................... 5

Hình 2.2: Màn hình lựa chọn dự án ...................................................................... 7

Hình 2.3: Màn hình cấu hình dự án ....................................................................... 8

Hình 2.4: Tạo dự án android được hoàn tất .......................................................... 9

Hình 2.5: File cài đặt Genymotion ...................................................................... 11

Hình 2.6: Màn hình đăng nhâp của Genymotion ............................................... 12

Hình 2.7: Genymotion cần có giấy phép ............................................................. 12

Hình 2.8: Thỏa thuận cấp phép người dùng ........................................................ 13

Hình 2.9: Giao diện chính của genymotion ........................................................ 13

Hình 2.10: Màn hình khởi động thiết bị ảo ......................................................... 14

Hình 2.11: Máy ảo đã khởi động thành công ...................................................... 15

Hình 3.1: Biểu đồ ca sử dụng tổng quát .............................................................. 20

Hình 3.2: Biểu đồ hoạt động ............................................................................... 25

Hình 3.3: Biểu đồ tuần tự .................................................................................... 26

Hình 4.1: Giao diện chính ................................................................................... 28

Hình 4.2: Giao diện đăng ký hệ thống ................................................................ 29

Hình 4.3: Giao diện đăng nhập ........................................................................... 30

Hình 4.4: Giao diện thông tin người dùng .......................................................... 31

Hình 4.5: Giao diện danh sách người dùng ......................................................... 32

Hình 4.6: Giao diện chat ..................................................................................... 33

Page 10: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

DANH MỤC CỤM TỪ VIẾT TẮT

STT Cụm từ Viết tắt

1 Công nghệ phần mềm CNPM

2 Công nghệ thông tin CNTT

3 Cơ sở dữ liệu CSDL

4 Hypertext Markup Language HTML

5 Cascading Style Sheets CSS

6 Hypertext Preprocessor PHP

7 Model - View - Controller MVC

8 Asynchronous JavaScript and XML AJAX

9 Structured Query Language SQL

10 User Interface UI

11 User Experience UX

12 Document Object Model DOM

13 Application Programming Interface API

Page 11: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

1

CHƯƠNG 1: GIỚI THIỆU

1.1 Lý do chọn đề tài

Theo số liệu thống kê của Digital Marketing Việt Nam, có tới 58 triệu người

dùng mạng xã hội trên thiết bị di động tính đến đầu năm 2019, con số này tăng đến

8 triệu người dùng so với năm 2018. Vì thế, việc sử dụng Internet để truy cập thông

tin, lướt Web, mua sắm, liên lạc, … đã không còn xa lạ đối với mỗi người dân. Đặc

biệt, ảnh hưởng của dịch Covid từ đầu năm 2020 làm cho nhu cầu giao tiếp với mọi

người càng bị hạn chế hơn. Từ đó, cần một công cụ để kết nối mọi người lại gần với

nhau hơn. Mặc dù, các ứng dụng để kết nối mọi người như Mạng xã hội Facebook,

… rất tiện ích nhưng cũng đem lại những cái hại như mất quá nhiều thời gian vào

Mạng xã hội. Vì vậy, “Xây dựng ứng dụng nhắn tin trên nền tảng Firebase” này

sẽ chú trọng đến nhu cầu của người sử dụng một cách thiết thực. Mang lại những lợi

ích thiết thực nhất. Cung cấp đầy đủ các chức năng để người dùng có thể có những

trải nghiệm tuyệt vời nhất.

1.2 Mục tiêu đề tài

- Giúp cho mọi người có thể liên lạc với nhau mà không cần tốn phí.

- Giúp cho người dùng có thể gửi ảnh, gửi file, ….

- Giúp cho người dùng không bỏ phí quá nhiều thời gian vào Mạng xã hội.

- Mọi người không cần gặp gỡ nhau mà vẫn nhau mà có thể nói chuyện với

nhau đặc biệt trong tình trạng Covid phức tạp hiện nay.

1.3 Nội dung chính

Xây dựng Chat App gồm có:

- Tìm hiểu về hệ điều hành android.

- Tìm hiểu về môi trường lập trình Android Studio.

- Tìm hiểu về nền tảng hỗ trợ cho lập trình di động firebase.

- Tìm hiểu các kỹ thuật lập trình ứng dụng chat trong android với firebase.

- Xây dựng chương trình chat trên điện thoại

- Sử dụng công cụ Android Studio để viết chương trình chạy trên thiết bị

android.

Page 12: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

2

- Tìm hiểu kiến thức cơ bản về nền tảng firebase.

- Xây dựng ứng dụng chat android với firebase có các chức năng:

+ Đăng ký, đăng nhập.

+ Hiển thị danh sách tài khoản.

+ Chỉnh sửa profile.

+ Chat trên kênh riêng tư.

+ Xóa tin nhắn chat.

+ Thoát khỏi hệ thống.

- Công nghệ sử dụng:

+ Android Studio

+ Java

+ Firebase

- Đóng gói chương trình thành file *.apk cho phép cài đặt và chạy trên thiết bị

android thật.

- Báo cáo tổng kết và slide trình bày.

1.4 Kết quả

Sau một thời gian tìm hiểu đề tài: “Xây dựng ứng dụng nhắn tin trên nền

tảng Firebase” chúng tôi đã thực hiện được nôi dung đề tài theo yêu cầu đặt ra. Với

mục tiêu là tìm hiểu về hệ điều hành Android, tìm hiểu về môi trường lập trình

Android Studio và tìm hiểu các kỹ thuật để xây dựng ứng dụng hoàn chỉnh trên thiết

bị thật. Thông qua việc tìm hiểu nắm bắt lý thuyết về hệ điều hành Android, bước

đầu đã xây dựng thành công chương trình thực nghiệm với các chức năng cơ bản.

- Trong quá trình tìm hiểu lý thuyết về hệ điều hành Android và xây dựng ứng

dụng em đã thu được kết quả sau:

- Hiểu được các lớp đối tượng, phương thức hỗ trợ lập trình trên nền hệ điều

hành Android.

- Hiểu được các dịch vụ trong Firebase

- Xây dựng ứng dụng với các chức năng: Đăng ký, đăng nhập, hiển thị danh

sách người dùng, hiển thị và chỉnh sửa profile, chat trên kênh riêng tư.

- Đóng gói ứng dụng thành file.apk cho phép cài đặt trên điện thoại Android.

Page 13: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

3

- Đưa thành công ứng dụng lên Google Play cho phép người dùng tìm hiểu và

cài đặt trên thiết bị thật. Do thời gian có hạn cùng với kiến thức của bản thân còn

hạn chế nên em chưa tìm hiểu sâu về các kiến thức liên quan tới hệ điều hành

Android nên chương trình của em còn nhiều hạn chế, em sẽ cố gắng phát triển

thêm để chương trình thân thiện, dễ sử dụng và có nhiều chức năng hơn nữa để có

thể áp dụng được vào trong đời sống.

Page 14: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

4

CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN

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

2.1.1 Khái niệm hệ điều hành Android

Android là hệ điều hành trên điện thoại di động có màn hình cảm ứng như

điện thoại thông minh, máy tính bảng và trên một số đầu phát HD, HD Player, TV.

Được phát triển bởi Google và dựa trên nền tảng Linux. Trước đây Android được

phát triển bởi công ty liên hợp Android, sau đó được Google mua lại vào năm 2005.

Các nhà phát triển viết ừng dụng bằn cho Android bằng ngôn ngữ Java. Android ra

mắt lần đầu tiên vào ngày 5 tháng 11 năm 2007 và tuyên bố thành lập Liên minh

thiết bị cầm tay mở. Một hiệp hiệp hội được thành lập với các công ty phần cứng,

phần mềm và viễn thông với mục đích tạo nên một chuẩn mở cho điện thoại thông

minh trong tương lai.

Android là hệ điều hành mã nguồn mở cùng với việc phát hành mã nguồn mở

theo giấy phép Apache của Google. Apache là là một giấy phép không có nhiều ràng

buộc cùng với mã nguồn mở đã cho phép các nhà phát triển thiết bị di, các nhà mạng

và các lập trình viên nhanh chóng tiếp cận điểu chỉnh và phân phối Android một

cách tự do. Một số lượng lớn lập trình viên chuyên viết các ứng dụng mở rộng chức

năng của các thiết bị, bằng ngôn ngữ lập trình Java có sửa đổi.

Nhờ yếu tố mở và một giấy phép không có nhiều ràng buộc, Android ngày

nay đã trở thành một trong những nền tảng dị động nổi tiếng khắp thế giới. Bằng

chứng là với bản chất “mở” của mình thì Android đã thu hút được một cộng đồng

lập trình viên, chuyên viên phát triển ứng dụng, theo thông kê tháng 10 năm 2012

đã xuất hiện khoảng 700.000 ứng dụng Android và số lượng tải từ Google Play, cửa

hàng ứng dụng chính của Android được ước tính vào khoảng 25 tỷ lượt. Về mặt thiết

bị thì nền tảng này liên tục được các nhà sản xuất thiết bị lựa chọn khi mà Android

hội tụ quá nhiều ưu điểm như: vận hành nhẹ nhàng, có khả năng tinh chỉnh tốt và

tiết kiệm chi phí để chạy trên các thiết bị công nghệ cao của mình.

Page 15: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

5

Hình 2.1: Kho ứng dụng Android

Vào thời điểm quý II năm 2017 Android đã chiếm 87,7% thị phần smartphone

trên toàn thế giới với tổng cộng 2 tỷ thiết bị được kích hoạt và 1,3 triệu lượt kích

hoạt mỗi ngày. Đây có thể được xem là một dấu ấn mạnh mẽ nhất trong công cuộc

khẳng định vị thế của Android trên thị trường quốc tế.

2.1.2 Sự ra đời của Android

Cha đẻ của Android: hệ điều hành Android được lấy tên từ Android, Inc công

ty khai sinh ra nó. Công ty này được thành lập tại Palo Alto, California vào tháng 10

năm 2003 bởi Andy Rubin, Rich Miner, và Chris White. Mặc dù những người sáng

lập và nhân viên của công ty đều là những người có tiếng tăm, Android Inc vẫn hoạt

động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần mềm cho điện thoại di

động. Cuối năm 2003, Rubin cạn vốn. Bạn thân của ông Steve Perlman, đã hùn vốn

10 ngàn USD nhưng từ chối tham gia vào công ty.

2.1.3 Các phiên bản của Android

Android bắt đầu với bản beta đầu tiên vào tháng 11 năm 2007 và phiên bản

thương mại đầu tiên. Android 1.0 được phát hành vào tháng 9 năm 2008. Kể từ tháng

4 năm 2009, phiên bản Android được phát triển, đặt tên theo chủ đề bánh kẹo và

phát hành theo thứ tự bảng chữ cái: Cupcake, Donut, Éclair, Froyo, Gingerbread,

Honeycomb, Ice Cream Sandwich, Jelly Bean, Kithat, và phiên bản hiện tại

Lollipop.

- Phiên bản Android 1.0

- Phiên bản Android 1.5: CupCake

Page 16: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

6

- Phiên bản Android 1.6: Donut

- Phiên bản Android 2.0 và phiên bản Android 2.1: Éclair

- Phiên bản Android 2.2: Froyo

- Phiên bản Android 2.3: Gingerbread

- Phiên bản Android 3.0: Honeycomb

- Phiên bản Android 4.0: Ice Cream Sandwich

- Phiên bản Android 4.1: Jelly Bean

- Hệ điều hành Android 4.4: KitKat

- Hệ điều hành Android 5.0: Lollipop

- Phiên bản Android 6.0: Marshmallow

- Phiên bản Android 7.0: nougat

- Phiên bản 8.0: Oreo

- Phiên bản Android P

- Phiên bản Android 10

- Phiên bản Android 11

2.2 Môi trường lập trình Android

2.2.1 Sơ lược về Android Studio

Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chính thức và

mạnh mẽ nhất là Android Studio. Đây là Môi trường phát triển tích hợp (IDE) chính

thức cho nền tảng Android, được phát triển bởi Google và được sử dụng để tạo phần

lớn các ứng dụng có thể sử dụng hàng ngày.

Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào (năm

2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta

khác nhau. Trước khi được phát hành, các nhà phát triển Android thường sử dụng

các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngôn ngữ lập

trình khác.

Page 17: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

7

Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng

để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại

điện thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code

editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong

đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet

trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng

dụng từ đơn giản tới phức tạp.

2.2.2 Dự án trong Android studio

2.2.2.1 Tạo một dự án trên Android Studio

Khỏi động Android Studio, chọn File → New → New Project . Chọn Activity,

trong hình mình chọn Empty Activity (Việc lựa chọn Activity nào còn tùy thuộc vào

mục đích phát triển ứng dụng) → sau đó chọn Next.

Hình 2.2: Màn hình lựa chọn dự án

Bước tiếp theo có tên là Configure your project. Mục đích muốn người dùng

khai báo một số thông tin về project. Người dùng cần điền thông tin như hình bên

dưới.

Page 18: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

8

Hình 2.3: Màn hình cấu hình dự án

Name: là tên của ứng dụng, tên này xuất hiện ở màn hình của thiết bị android

khi người dùng cài đặt ứng dụng lên đó. Người dùng có thể nhìn vào hình nhỏ bên

cạnh sẽ thấy tên các ứng dụng xuất hiện phía dưới icon của ứng dụng đó. Người

dùng có thể viết hoa tên ứng dụng, hay để khoảng trắng tùy thích, nhưng nhớ là đừng

quá dài hay quá ngắn, làm sao cho xúc tích và dễ nhớ.

Package name: là tên package của ứng dụng. Ngoài ra thì với Android,

package còn là định danh cho từng ứng dụng nữa. Package nên duy nhất và đặc thù

nhất của một ứng dụng, sẽ không thể có hai ứng dụng với cùng một tên package

được cài lên cùng một thiết bị. Thường thì người ta sẽ đảo ngược tên miền của công

ty lại và thêm vào tên của project để tạo thành một package.

Save location: Là đường dẫn đến thư mục chứa project, người dùng có thể để

mặc định hoặc tạo đường dẫn đến nơi tùy thích trong ổ cứng.

Language: ngôn ngữ dùng để viết ứng dụng. Có hai ngôn ngữ đó là java và

Kotlin.

Minimum API Level: mục này báo cho hệ thống biết ứng dụng được tạo ra sẽ

hỗ trợ ngược lại tối đa đến hệ điều hành cũ nhất nào. Nên nhớ là việc ứng dụng càng

hỗ trợ hệ điều hành cũ hơn thì người dùng càng phải giải quyết các bài toán tương

Page 19: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

9

thích ngược hơn và do đó người sử dụng sẽ càng mất thời gian đau đầu hơn trong

việc phát triển các ứng dụng.

Sau khi tạo thành công project, sẽ được kết quả như hình bên dưới

Hình 2.4: Tạo dự án android được hoàn tất

2.3 Thiết bị ảo trong Android Studio

Cài đặt máy ảo Genymotion Trong một số trường hợp có một số máy không

hỗ trợ chạy AVD Manager thì có thể dùng một máy ảo khác để chạy thay cho AVD

Manager.

Genymotion là phần mềm giả lập Android, giúp người dùng có thể chạy ứng

dụng Android, Game Android trên máy tính của mình. Genymotion hiện nay sở hữu

rất nhiều tính năng thông minh hỗ trợ 40 thiết bị ảo tới từ nhiều hãng điện thoại khác

nhau như điện thoại Sony, Samsung… tích hợp đầy đủ phiên bản của hệ điều hành

từ 4.1 đến 9.0, tốc độ xử lý nhanh nên rất được nhiều người lựa chọn sử dụng.

Khi cài đặt Genymotion thường thì nó đi kèm theo là Virtualbox ở đây mình

tải hai file riêng biệt nên cần cài virtualbox

Bước 1: Chạy file cài đặt.

Page 20: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

10

Bước 2: Nhấn Next với Install tới khi Finish cài đặt kết thúc.

Sau khi cài đặt hoàn tất chúng ta được giao diện như hình bên dưới.

Page 21: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

11

Để cài đặt máy ảo truy cập vào đường link sau để tải về:

https://www.genymotion.com/download/

Sau khi tải về bắt đầu cài đặt quá trình cài đặt chỉ cần ấn Next, Install và finish

để kết thúc quá trình cài đặt không có gì đặc biệt.

Hình 2.5: File cài đặt Genymotion

Sau khi cài đặt hoàn tất màn hình sẽ hiển thị trang đăng nhập để đăng nhập

vào genymotion. Sau khi điền đầy đủ thông tin đăng nhập chọn NEXT.

Page 22: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

12

Hình 2.6: Màn hình đăng nhâp của Genymotion

Tiếp theo Genymotion cần một giấy phép chúng ta sử dụng cá nhân nên chọn

Personal User sau đó chọn Next.

Hình 2.7: Genymotion cần có giấy phép

Tiếp theo Genymotion có một số điều khoản tích vào đồng ý các điều khoản

sau đó chọn Next.

Page 23: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

13

Hình 2.8: Thỏa thuận cấp phép người dùng

Sau khi hoàn tất các bước bên trên chúng ta sẽ vào giao diện chính của

genymotion, trong giao diện chính sẽ có rất nhiều máy ảo để lựa chọn. Chỉ cẩn chuột

phải vào máy ảo muốn cài và ấn install, sau đó hệ thống sẽ tải máy ảo xuống.

Hình 2.9: Giao diện chính của genymotion

Sau khi tải được máy ảo mình muốn ấn chuột trái vào phần ba chấm có mũi

tên đỏ, sau đó chọn Start để bắt đầu khỏi đông thiết bị.

Page 24: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

14

Hình 2.10: Màn hình khởi động thiết bị ảo

Sau khi khởi động thành công sẽ được máy ảo như hình bên dưới.

Page 25: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

15

Hình 2.11: Máy ảo đã khởi động thành công

2.4 Lập trình Chat với Firebase

2.4.1 Khái niệm

Firebase là một nền tảng di động giúp người dùng nhanh chóng phát triển các

ứng dụng chất lượng cao, phát triển ứng dụng cho người dùng quy mô lớn và kiếm

được nhiều tiền hơn.

Firebase là một dịch vụ hế thống backend được Google cung cấp sẵn cho ứng

dụng Mobile, với Firebase người dùng có thể rút ngắn thời gian phát triển, triển khai

và thời gian mở rộng quy mô của ứng dụng mobile mình đang phát triển. Hỗ trợ cả

2 nền tảng Android và IOS, Firebase mạnh mẽ, đa năng, bảo mật và là dịch vụ cần

thiết đâu tiên để xây dựng ứng dụng với hàng triệu người sử dụng.

2.4.2 Lịch sử phát triển của Firebase

Firebase có tiền thân là Envolve. Đây là dịch vụ cung cấp những API để người

dùng dễ dàng tích hợp tính năng chat vào trang web. Điều thú vị là người dùng

Envolve sử dụng dịch vụ để truyền dữ liệu chứ không đơn thuần cho ứng dụng chat.

Họ sử dụng Envolve để đồng bộ dữ liệu của những ứng dụng như game online, danh

bạ, lịch… Nhận biết được điều này, CEO của Envolve đã tách biệt hệ thống chat và

đồng bộ dữ liệu thời gian thực thành 2 mảng riêng biệt. Đến năm 2012, Firebase

được thành lập như một công ty cung cấp dịch vụ Backend-as-a-Service theo thời

gian thực. Ngửi thấy mùi tiềm năng, năm 2014, Google lập tức mua lại Firebase với

giá không được tiết lộ. Và giờ Google phát triển Firebase thành một dịch vụ đồ sộ.

2.4.3 Ưu nhược điểm của Firebase

2.4.3.1 Ưu điểm

Xây dựng nhanh chóng mà không tốn thời gian, nhân lực để quản lý hệ thống

và cơ sở hạ tầng phía sau: Firebase cung cấp cho người dùng chức năng như phân

tích, cơ sở dữ liệu, báo cáo hoạt động và báo cáo các sự cỗ lỗi để dễ dàng phát triển,

định hướng ứng dụng của mình vào người sử dụng nhằm đem lại các trải nghiệm tốt

nhất cho họ. Uy tín chất lượng đảm bảo từ Google: Firebase được google hỗ trợ và

Page 26: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

16

cung cấp trên nền tảng phần cứng với quy mô rộng khắp thế giới, được các tập đoàn

lớn và các ứng dụng với triệu lượt sử dụng từ người dùng. Quản lý cấu hình và trải

nghiệm các ứng dụng của Firebase tập trung trong một giao diện website đơn giản,

các ứng dụng này hoạt động độc lập nhưng liên kết dữ liệu phân tích chặt chẽ.

2.4.3.2 Nhược điểm

Điểm duy nhất của Firebase chính là phần Realtime Database, mà đúng hơn

chỉ là phần Database. Cơ sở dữ liệu của Realtime Database được tổ chức theo kiểu

cây không phải là kiểu bảng nên những ai đang quen với SQL có thể gặp khó khăn

đôi chút bước đầu.

Page 27: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

17

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

3.1 Mô tả yêu cầu

3.1.1 Yêu cầu về chức năng

3.1.1.1 Chức năng đăng ký

Người dùng có thể đăng ký app sau khi nhấn vào nút đăng ký của ứng dụng.

Bằng cách điền đầy đủ thông tin tên đăng nhập, mật khẩu và email. Sau khi hệ thống

xác nhận thành công thì tài khoản đã được tạo. Ngược lại, người dùng tiếp tục điền

đúng thông tin đến khi thành công.

3.1.1.2 Chức năng đăng nhập

Sau khi đăng kí thành công công, người dùng chỉ cần ấn vào đăng nhập với

mật khẩu và email. Sau đó hệ thống sẽ xác nhận. Ngoài ra, hệ thống còn có chức

năng đăng nhập khi quên mật khẩu. Người dùng sẽ xác nhận email để thay đổi mật

khẩu mới.

3.1.1.3 Chức năng đăng xuất

Người dùng muốn thoát khỏi hệ thống chỉ cần nhấn vào nút đăng xuất. Hệ

thống sẽ trả về màn hình đăng nhập.

3.1.1.4 Chức năng gửi tin nhắn

Người dùng có thể gửi tin nhắn tức thì đến bất kỳ liên hệ nào trong danh sách

liên hệ ứng dụng trò chuyện của mình. Người dùng sẽ được thông báo khi tin nhắn

được gửi thành công đến người nhận bằng cách hiển thị đã gửi/ đã xem bên cạnh tin

nhắn đã gửi. Ngoài ra, người dùng có thể xóa tin nhắn, gửi tệp hoặc hình ảnh.

3.1.1.5 Chức năng trạng thái thư

Người dùng sẽ được thông báo khi tin nhắn được gửi thành công đến người

nhận bằng cách hiển thị đã gửi/ đã xem bên cạnh tin nhắn đã gửi.

3.1.1.6 Chức năng tìm kiếm

Người dùng chỉ cần vào khung tìm kiếm và gõ những cụm từ để tìm kiếm

người cùng trò chuyện.

Page 28: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

18

3.1.1.7 Chức năng xem thông tin cá nhân

Người dùng nhấn vào thông tin cá nhân ở phần profile và coi những thông tin.

3.1.1.8 Chức năng xem danh sách bạn bè

Người dùng chỉ cần nhấn vào mục chats có thể thấy danh sách bạn bè của bạn.

3.1.1.9 Chức năng xem danh sách người dùng

Người sử dụng có thể xem danh sách người dùng của bạn và thêm bạn bè.

3.1.1.10 Chức năng thông báo tin nhắn

Khi có người nhắn tin đến cho bạn thì tin nhắn sẽ được thông báo ra màn hình

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

3.1.2.1 Giao diện người dùng

- App không nên quá phức tạp.

- Dung lượng file không quá lớn.

- Thanh menu thật đơn giản.

- Phải có thông tin liên hệ.

- Font chữ đơn giản, dễ nhìn, màu sắc hài hòa.

- An toàn và bảo mật dữ liệu.

- Kiểm tra app có tương thích với các trình duyệt phổ biến hay không.

- Cho phép liên hệ với người quản trị.

3.1.2.2 Yêu cầu về hệ thống

- Hệ thống hoạt động nhanh, chính xác.

- Có thể nâng cấp, update, bảo trì dễ dàng.

- Tính bảo mật và độ an toàn cao.

- Thông báo về quyền riêng tư được chia sẻ giữa những người dùng phải được

mã hóa để duy trì tính riêng tư.

Page 29: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

19

- Độ bền: Trong trường hợp thiết bị của người dùng gặp sự cố, bản sao lưu lịch

sử trò chuyện của họ phải được lưu trữ trên các máy chủ đatabase từ xa để cho

phép khả năng khôi phục.

- Hiệu suất: Ứng dụng phải nhẹ và phải gửi tin nhắn ngay lập tức.

Page 30: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

20

3.2 Phân tích

3.2.1 Biểu đồ ca sử dụng

Hình 3.1: Biểu đồ ca sử dụng tổng quát

Page 31: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

21

3.2.2 Đặc tả ca sử dụng

3.2.2.1 Ca sử dụng đăng ký hệ thống

Bảng 3.1: Ca sử dụng đăng ký hệ thống

Tên ca sử

dụng

Ca sử dụng đăng ký tài khoản

Tác nhân Người dùng

Mô tả Cho phép người dùng đăng ký tài khoản

Luồng sự

kiện

Tác nhân Hệ thống phản hồi

1 Chọn chức năng đăng ký

tài khoản

2 Đưa ra giao diện đăng ký

3 Nhập thông tin

4 Nhấn nút đăng ký

5 Hệ thống xác nhận thông tin. Nếu

hợp lệ hệt hống tiếp nhận thông

tin và đưa ra thông báo thành

công

Luồng

thay thế

và ngoại

lệ

Nếu dữ liệu nhập không hợp lệ,

hệ thống đưa ra thông báo về yêu

cầu nhập lại.

Điều kiện

sau

Hệ thống gửi thông tin lên server để lưu vào cơ sở dữ liệu

Điều kiện

thoát

- Khi thực hiện chức năng thành công

- Khi người dùng chọn thoát

3.2.2.2 Ca sử dụng đăng nhập hệ thống

Bảng 3.2: Ca sử dụng đăng nhập hệ thống

Tên ca sử

dụng

Ca sử dụng đăng nhập tài khoản

Page 32: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

22

Tác nhân Người sử dụng

Mô tả Cho phép người dùng truy cập vào hệ thống

Luồng sự

kiện

Tác nhân Hệ thống phản hồi

1 Truy cập vào ứng dụng

2 Đưa ra giao diện đăng nhập

3 Nhập nút thông tin

4 Nhấn nút đăng nhập

5 Hệ thống xác nhận thông tin, hệ

thống tiếp nhận thông tin gửi lên

server kiểm tra. Nếu hợp lệ, đưa

ra thông báo thành công và đưa ra

màn hình chức năng cho người sử

dụng.

Luồng

thay thế

và ngoại

lệ

Nếu dữ liệu không hợp lệ, hệ

thống đưa ra thông báo và yêu cầu

nhập lại.

Điều kiện

sau

Đăng nhập vào hệ thống

Điều kiện

thoát

- Khi thực hiện chức năng thành công

- Khi người dùng chọn thoát

3.2.2.3 Ca sử dụng xem thông tin profile

Bảng 3.3: Ca sử dụng xem thông tin profile

Tên ca sử

dụng

Ca sử dụng xem thông tin tài khoản

Tác nhân Người dùng

Mô tả Cho phép người dùng xem các thông tin về tài khoản của mình

Điều kiện

tiên

quyết

Người dùng đã có tài khoản và đăng nhập vào hệ thống

Page 33: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

23

Luồng sự

kiện

Tác nhân Hệ thống phản hồi

1 Nhấn nút xem thông tin

2 Đưa ra giao diện thông tin cá nhân

Luồng

thay thế

Điều kiện

thoát

- Khi người dùng chọn thoát

3.2.2.4 Ca sử dụng sửa thông tin profile

Bảng 3.4: Ca sử dụng sửa thông tin profile

Tên ca sử

dụng

Ca sử dụng sửa thông tin tài khoản

Tác nhân Người dùng

Mô tả Cho phép người dùng sửa các thông tin về tài khoản của mình

Điều kiện

tiên

quyết

Người dùng đã có tài khoản và đăng nhập vào hệ thống đang ở

giao diện thông tin cá nhân

Luồng sự

kiện

Tác nhân Hệ thống phản hồi

1 Nhấn nút sửa thông tin

2 Cho phép sửa thông tin

3 Nhập thông tin

4 Nhấn nút lưu lại thông tin

5 Hệ thống xác nhận thông tin

6 Nếu hợp lệ đưa ra thông báo

thành công và tải lại thông tin cá

nhân

Luồng

thay thế

Nếu dữ liệu không hợp lệ, hệ

thống đưa ra thông báo và yêu cầu

nhập lại

Điều kiện

sau

Gửi dữ liệu lên server để update lại thông tin

Page 34: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

24

Điều kiện

thoát

- Khi chức năng thực hiện thành công

- Khi người dùng chọn thoát

3.2.2.5 Ca sử dụng đăng xuất

Bảng 3.5: Ca sử dụng đăng xuất

Tên ca sử

dụng

Ca sử dụng đăng xuất khỏi hệ thống

Tác nhân Người dùng

Mô tả Cho phép người dùng thoát khỏi hệ thống

Điều kiện

tiên

quyết

Người dùng đã có tài khoản và đăng nhập vào hệ thống

Luồng sự

kiện

Tác nhân Hệ thống phản hồi

1 Nhấn nút đăng xuất

2 Thoát khỏi giao diện hiện tại

3 Nhập thông tin Đưa ra giao diện đăng nhập

Luồng

thay thế

Điều kiện

sau

Điều kiện

thoát

- Khi chức năng thực hiện thành công

Page 35: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

25

3.2.3 Biểu đồ hoạt động

Hình 3.2: Biểu đồ hoạt động

Page 36: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

26

3.3 Thiết kế

3.3.1 Biểu đồ tuần tự

Hình 3.3: Biểu đồ tuần tự

3.3.2 Cơ sở dữ liệu

3.3.2.1 Bảng dữ liệu người dùng

Bảng 3.6: Dữ liệu người dùng

STT Tên trường Kiểu dữ liệu Độ rộng Mô tả

1 Name String Tên người

dùng

Page 37: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

27

2 Email String Địa chỉ email

3 search String Tìm kiếm

4 phone String Số điện thoại

5 image String Đường dẫn

hình ảnh

6 cover String Đường dẫn

hình nền

7 uid String Id người dùng

3.3.2.2 Bảng dữ liệu nội dung tin nhắn

Bảng 3.7: Thông tin nội dung tin nhắn

STT Tên trường Kiểu dữ liệu Độ rộng Mô tả

1 message String Tên người

dùng

2 receiver String Id người nhận

3 sender String Id người gửi

4 timestamp String Thời gian tin

nhắn

5 isSeen Boolean Đã xem/ chưa

xem

6 redelete Boolean Xóa tin nhắn

người gửi

Page 38: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

28

CHƯƠNG 4:TRIỂN KHAI XÂY DỰNG

4.1 Giao diện chương trình

4.1.1 Giao diện chính

Hình 4.1: Giao diện chính

Page 39: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

29

4.1.2 Giao diện đăng ký

Hình 4.2: Giao diện đăng ký hệ thống

Page 40: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

30

4.1.3 Giao diện đăng nhập

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

Page 41: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

31

4.1.4 Giao diện thông tin người dùng

Hình 4.4: Giao diện thông tin người dùng

Page 42: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

32

4.1.5 Giao diện danh sách người dùng

Hình 4.5: Giao diện danh sách người dùng

Page 43: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

33

4.1.6 Giao diện chat

Hình 4.6: Giao diện chat

4.2 Đánh giá kết quả thực nghiệm

Sau khi chạy thử app trên điện thoại có xuất hiện ưu và nhược điểm:

4.2.1 Ưu điểm

- Các chức năng của app ổn định không xảy ra sai sót trong quá trình sử dụng.

- Chương trình đơn giản dễ sử dụng.

Page 44: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

34

4.2.2 Nhược điểm

- Chưa thiết lập màn hình chờ.

- Chương trình vẫn còn chậm.

- Giao diện Chat chưa được đẹp mắt.

- Chưa thêm chức năng Splash.

- Qúa trình tải dữ liệu hơi lâu.

Do thời gian hạn chế, nên chúng tôi chưa hoàn thiện hết tất cả các chức năng

của một app nhắn tin cơ bản. Như thả icon cảm xúc, ghi âm thanh, hiển thị trạng thái

người dùng truy cập qua bao lâu, …. Tuy nhiên chúng tôi sẽ tận dụng thời gian để

hoàn thiện thêm các chức năng để người dùng có thể sử dụng được.

Page 45: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

35

CHƯƠNG 5:KẾT LUẬN

5.1 Kết quả đạt được

- Bản thân tích lũy được kinh nghiệm trong việc phân tích và thiết kế hệ thống.

- Hiểu được các lớp đối tượng, phương thức hỗ trợ lập trình trên nền hệ điều

hành Android.

- Hiểu được các dịch vụ trong Firebase

- Xây dựng ứng dụng với các chức năng: Đăng ký, đăng nhập, hiển thị danh

sách người dùng, hiển thị và chỉnh sửa profile, chat trên kênh riêng tư.

- Đóng gói ứng dụng thành file.apk cho phép cài đặt trên điện thoại Android.

- Đưa thành công ứng dụng lên Google Play cho phép người dùng tìm hiểu và

cài đặt trên thiết bị thật.

5.2 Hạn chế

- Giao diện chưa được bắt mắt với người dùng.

- Chương trình chưa kiểm tra hết các trường hợp có thể xảy ra.

5.3 Hướng phát triển

- Xây dựng được giao diện thân thiện hơn với người dùng.

- Kiểm tra các trường hợp còn thiếu sót.

- Tận dụng thế mạnh của các công cụ hỗ trợ để app được nhanh nhạy, chính xác

hơn.

- Xây dựng thêm nhiều chức năng để hệ thống đầy đủ và toàn vẹn hơn.

- Tìm hiểu xu hướng của người dùng để chỉnh sửa, bổ sung hệ thống phù hợp

theo yêu cầu.

- Cập nhật tính năng khác để nâng cấp hệ thống của mình.

- Phát triển thêm module chuyển đổi ngôn ngữ giúp cho những người sử dụng.

Page 46: ĐỒ ÁN CƠ SỞ 3 - daotao.vku.udn.vn

36

TÀI LIỆU THAM KHẢO

1. Slide ứng dụng CHAT Realtime [online], viewed 10 May 2021, from:<

https://www.slideshare.net/nguyenthieu2102/ng-dng-cht-realtime-android/>.

2. Fire base [online], viewed 10 May 2021, from:<

https://console.firebase.google.com/u/0/project/chatapp-

4e039/database/chatapp-4e039-default-rtdb/data>.

3. Complete Android Chatting App in Urdu/Hindi [online], viewed 10 May 2021,

from:< https://www.youtube.com/watch?v=F_UemS493IM&t=227s>.

4. Ứng dụng trò chuyện bằng Firebase [online], viewed 10 May 2021, from:<

https://www.youtube.com/watch?v=F_UemS493IM&t=227s>.

5. Chat App on github [online], viewed 10 May 2021, from:<

https://github.com/mianasadali1/ChatsApp>.

6. Firebase [online], viewed 10 May 2021, from:< https://firebase.google.com/ >.

7. Firebase Auth Docs [online], viewed 10 May 2021, from:<

https://firebase.google.com/docs/auth/android/start>.

8. Realtime Database Docs [online], viewed 10 May 2021, from:<

https://firebase.google.com/docs/database/android/start>.

9. Glide Image Processing [online], viewed 10 May 2021, from:<

https://github.com/bumptech/glide>.

10. Shimmer RecyclerView [online], viewed 10 May 2021, from:<

https://github.com/sharish/ShimmerRecyclerView>.

11. Circular Status View [online], viewed 10 May 2021, from:<

https://github.com/3llomi/CircularStatusView>.

12. Reactions View [online], viewed 10 May 2021, from:<

https://github.com/pgreze/android-reactions>.

13. How to connect android with Firebase database || Android and Firebase ||

Firebase + android #1 [online], viewed 10 May 2021, from:<

https://www.youtube.com/watch?v=lnidtzL71ZA>.

14. Firebase in Android Bài 12: Đăng kí & Đăng nhập thành viên với Firebase

[online], viewed 10 May 2021, from:<

https://www.youtube.com/watch?v=ILHulXyqtFM >.