Đề tài: Xây dựng ứng dụng trò
chuyện trực tuyến trên android sử
dụng FireBase.
Sinh viên thực hiện : ÔNG BỬU KHÁNH
Giảng viên hướng dẫn : Th.S. PHẠM HỒ TRỌNG NGUYÊN
Lớp : 18IT5
Đà nẵng, tháng 8 năm 2020
Đồ án cơ sở 3: App chat android firebase
MỤC LỤC
................................................................................................................................... 1
IT279 – Android – 2020-2021….............................................................................. 1
LỜI MỞ ĐẦU............................................................................................................... 3
CHƯƠNG 1: MÔ TẢ YÊU CẦU............................................................................ 4
1.1. Mô tả yêu cầu bài toán.................................................................................. 4
1.2. Biểu đồ use case............................................................................................ 4
CHƯƠNG 2: THIẾT KẾ CHI TIẾT........................................................................ 5
2.1. Thiết kế lớp ................................................................................................... 5
2.1.1 Biểu đồ lớp. .................................................................................................... 5
2.1.2.Thiết kế chi tiết lớp mô hình hướng đối tượng MVC........................................... 7
2.2. Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu ............................................................ 10
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ ….................................................. 11
3.1. Xây dựng chương trình ................................................................................12
3.2. Kiểm thử đơn vị ...........................................................................................12
3.3. Kết quả chương trình ...................................................................................12
CHƯƠNG 4: KẾT LUẬN VÀ TỰ ĐÁNH GIÁ.................................................... 14
4.1. Kết luận ............................................................................................................14
4.2. Kế hoạch làm việc ...........................................................................................14
Tổng kết ................................................................................................................ 15
Tài liệu tham khảo ................................................................................................15
Phụ lục ..................................................................................................................16
Danh mục hình ảnh được sử dụng ........................................................................ 16
Danh mục bảng được sử dụng .............................................................................. 16
Ông Bửu Khánh – 18IT5-18IT279-VKU 2
Đồ án cơ sở 3: App chat android firebase
LỜI MỞ ĐẦU
Trong những năm gần đây, bắt đầu từ năm 2010. Cơn vũ bão smart phone đã
tràn ngập trong nước ta. Ai ai cũng có một chiếc smart phone. Smart phone là điện
thoại thông minh tích hợp một nền tảng hệ điều hành di động với nhiều tính năng hỗ
trợ tiên tiến về điện toán và kết nối dựa trên nền tảng cơ bản của điện thoại di động
thông thường.
Ban đầu điện thoại thông minh bao gồm các tính năng của điện thoại di động
thông thường kết hợp với các thiết bị phổ biến khác như PDA, thiết bị điện tử cầm tay,
máy ảnh kỹ thuật số, hệ thống định vị toàn cầu GPS. Điện thoại thông minh ngày nay
bao gồm tất cả chức năng của laptop như duyệt web, Wi-Fi, các ứng dụng của bên thứ
3 trên di động và các phụ kiện đi kèm cho máy. Việc mua và dùng smart phone rất tiện
lợi vì nó có thể thay thế hoàn toàn một chiếc máy tính bình thường. Ngoài việc đó ra
nó còn là công cụ để kết nối mọi người với nhau với nhưng chức năng của một chiếc
điện thoại thông thường hoặc dùng các ứng dụng của bên thứ 3. Mặc dù các ứng dụng
để kết nối mọi người như Mạng xã hội, Chát trực tuyến rất tiện ích nhưng nó cũng đem
lại nhưng cái hại như chúng ta mất rất nhiều thời gian vào Mạng xã hội… Chính vì vậy
nhân việc học môn lập trình di động em lựa chọn đề tài “ Viết ứng dụng chat sử dụng
google API Firebase”. Sử dụng ngôn ngữ lập trình hướng đối tượng Java và hệ điều
hành Android.
Để hoàn thành được bài tập lớn này, em xin được gửi lời cảm ơn chân thành đến
thầy giáo hướng dẫn đề tài Thầy Ths.Phạm Hồ Trọng Nguyên, Giảng viên Khoa Công
nghệ Thông tin Trường Đại học Công nghệ thông tin Việt Hàn - đã hết lòng giúp đỡ,
hướng dẫn, chỉ dạy tận tình để em hoàn thành được đề tài này.
Đà Nẵng, tháng 8 năm 2020
Sinh viên Ông Bửu Khánh
Ông Bửu Khánh – 18IT5-18IT279-VKU 3
Đồ án cơ sở 3: App chat android firebase
CHƯƠNG 1: MÔ TẢ YÊU CẦU
1.1. Mô tả yêu cầu bài toán
- Về cơ bản, tổng quát hóa bài toán thì app cần có:
+ Giao diện đăng ký tài khoản, đăng nhập tài khoản
+ Giao diện hiển thị danh sách bạn bè, danh sách các cuộc trò chuyện, danh
sách user.
+ Giao diện hiện thị các đoạn chát giữa 2 user với nhau.
- Về chức năng chính của app là :
+ Chát/ gửi tin nhắn giữa 2 user thông qua internet.
1.2. Biểu đồ use case
Hình 1: Biểu đồ use case
Ông Bửu Khánh – 18IT5-18IT279-VKU 4
Đồ án cơ sở 3: App chat android firebase
CHƯƠNG 2: THIẾT KẾ CHI TIẾT
2.1. Thiết kế lớp
2.1.1 Biểu đồ lớp.
Ông Bửu Khánh – 18IT5-18IT279-VKU 5
Đồ án cơ sở 3: App chat android firebase
Hình 3: Biểu đồ Activity signup/login
Hình 4: Biểu đồ các Activity
Ông Bửu Khánh – 18IT5-18IT279-VKU 6
Đồ án cơ sở 3: App chat android firebase
2.1.2. Thiết kế chi tiết lớp mô hình hướng đối tượng MVC
- Thiết kế chi tiết cho các lớp: Các thuộc tính, phương thức, mối quan hệ, ràng
buộc.
- Bài toán được thiết kế theo mô hình MVC với cấu trúc như sau:
- Thư mục app chưa các folder như sau:
Manifests : Chứa file AndroidManifest.xml (Phân quyền, chạy app, quản lý…)
- Thự mục java chứa mã nguồn chủ yếu là các package như sau:
Gói Model gồm 2 class: Chat và User.
Gói com.ongbuukhanh.chatapp1: Gồm các class chính là các Activity.
Như mainActivity, loginActivity, startActivity, mainActivity, registerActivity,
resetPasswordActivity, messageActivity. Các Activity chủ yếu là thực hiện hành
động, các function của app. Và 1 Activity chính để app có thể hoạt động.
Gói Adapter gồm 2 class là: MessageAdapter, UserAdapter.
Gói Fragment gồm 3 class là : ChatsFragment, ProfileFragment, UsersFragment.
Thự mục res chứa các Folder giao diện, hình ảnh, style của app.
+ Drawable, mipmap: Chứa hình ảnh cho app.
+ Layout, menu: Chứa giao diện hiển thị của app. (chính là View) + values chứa
các thuộc tính như attrs, colors, dimens, strings, styles…
Thư mục assets chứa fonts: hỗ trợ ngoài.
Hình 5: Hình ảnh cây thư mục chứa các gói
Ông Bửu Khánh – 18IT5-18IT279-VKU 7
Đồ án cơ sở 3: App chat android firebase
- Sau đây là mô tả một số thuộc tính và phương thức chủ yếu của một số lớp
chính.
- Mô tả chi tiết về 2-4 lớp quan trọng.
Bảng 1: Mô tả chi tiết các Attribute và Function chính:
Attribute Ý Nghĩa
-msg : String - Nội dung đoạn chát
-status : int - Trạng thái gửi tin nhắn
-date : Date - Thời gian gửi tin nhắn
-id_sender : int
-id_receiver : int
- Mã số của người gửi và nhận
Function Ý Nghĩa
+isSeen() : Boolean -Hiển thị trạng thái xem/
không xem tin nhắn
+getSender(): int -Trả lại mã số người gửi
+getStatus(): int -Trả lại trạng thái gửi
+setMsg(msg: String) -Thiết lập tin nhắn
+setSender(id_sender: int) -Thiết lập mã người gửi
+setStatus() :boolean -Thiết lập trạng thái gửi
+isSend() : boolean -Kiểm tra xem tin nhăn đã
được gửi đi
+getUid() -Lấy id user đăng nhập
+isSuccessful -Đăng nhập thành công
+createUserWithEmailAndPass -Tạo tài khoản
+readUser() -Hiển thị user
+readChat () -Hiển thị người đã chat
Ông Bửu Khánh – 18IT5-18IT279-VKU 8
Đồ án cơ sở 3: App chat android firebase
+setContent(content:String) -Thiết lập nội dung đoạn chát.
-edtLoginUser : EditText -Thông tin đăng nhập
username
-edtLoginPass : EditText -Thông tin đăng nhập
password
#onDataChanged
-edtEmail : EditText - Tạo thông tin mới về email.
-edtUsername: EditText - Tạo thông tin với username để
dùng
-edtPassword: EditText - Tạo password mới dùng cho
user
-btnRegister : - Click vào sẽ tạo tài khoản mới
-sendEmailResetPassWord() :
- Gửi mail để làm lại password.
#onCreate(saved: Bundle)
-signOut -Thoát app
+onComplete() -Chuyển trang khi đăng nhập
thành công.
-UserAdapter -Bộ chuyển đổi các user
-mUser - Mảng chứa các user
-ChatAdapter - Bộ chuyển đổi của các tin nhắn
-txt: EditText
-FirebaseDatabase.getInstance() - Cho phép sử dụng database
-txt_Seen -Hiển thị text xem hay ko xem
-img_on
_img_off
-Hiển thị trạng thái
online/offline
Ông Bửu Khánh – 18IT5-18IT279-VKU 9
Tải bản FULL (16 trang): https://bit.ly/3tyrvpG
Dự phòng: fb.com/TaiHo123doc.net
Đồ án cơ sở 3: App chat android firebase
#onCreate(saved: Bundle)
-sendMessage() - Gửi tin nhắn
2.2. Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu
- Thiết kế và chuẩn hoá CSDL
Hình 6: Hình ảnh bảng cơ sở dữ liệu
- NoteParent(“Chats”): Gồm các note con “message”, “receiver”,”sender”.
- NoteParent(“User”): “id”,”imageURL”,”search”,”status”,”username”.
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ
3.1. Xây dựng chương trình
- App có sử dụng một vài thư viện hỗ trợ của Android như
+ 'com.google.firebase: firebase-analytics: 17.2.2'
+ 'com.google.firebase: firebase-database: 19.2.1'
+ 'com.google.firebase: firebase-auth: 19.3.0'
+ 'com.google.android.gms: play-services-auth: 18.0.0'
- Trong quá trình lập trình có tuân thủ quy tắc lập trình hướng đối tượng của Java,
thiết kế layout, giao diện theo chuẩn của Google Design Convension.
Ông Bửu Khánh – 18IT5-18IT279-VKU 10
8090494

đồ áN cơ sở 3 xây dựng ứng dụng trò chuyện trực tuyến android sử dụng fire base

  • 1.
    Đề tài: Xâydựng ứng dụng trò chuyện trực tuyến trên android sử dụng FireBase. Sinh viên thực hiện : ÔNG BỬU KHÁNH Giảng viên hướng dẫn : Th.S. PHẠM HỒ TRỌNG NGUYÊN Lớp : 18IT5 Đà nẵng, tháng 8 năm 2020
  • 2.
    Đồ án cơsở 3: App chat android firebase MỤC LỤC ................................................................................................................................... 1 IT279 – Android – 2020-2021….............................................................................. 1 LỜI MỞ ĐẦU............................................................................................................... 3 CHƯƠNG 1: MÔ TẢ YÊU CẦU............................................................................ 4 1.1. Mô tả yêu cầu bài toán.................................................................................. 4 1.2. Biểu đồ use case............................................................................................ 4 CHƯƠNG 2: THIẾT KẾ CHI TIẾT........................................................................ 5 2.1. Thiết kế lớp ................................................................................................... 5 2.1.1 Biểu đồ lớp. .................................................................................................... 5 2.1.2.Thiết kế chi tiết lớp mô hình hướng đối tượng MVC........................................... 7 2.2. Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu ............................................................ 10 CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ ….................................................. 11 3.1. Xây dựng chương trình ................................................................................12 3.2. Kiểm thử đơn vị ...........................................................................................12 3.3. Kết quả chương trình ...................................................................................12 CHƯƠNG 4: KẾT LUẬN VÀ TỰ ĐÁNH GIÁ.................................................... 14 4.1. Kết luận ............................................................................................................14 4.2. Kế hoạch làm việc ...........................................................................................14 Tổng kết ................................................................................................................ 15 Tài liệu tham khảo ................................................................................................15 Phụ lục ..................................................................................................................16 Danh mục hình ảnh được sử dụng ........................................................................ 16 Danh mục bảng được sử dụng .............................................................................. 16 Ông Bửu Khánh – 18IT5-18IT279-VKU 2
  • 3.
    Đồ án cơsở 3: App chat android firebase LỜI MỞ ĐẦU Trong những năm gần đây, bắt đầu từ năm 2010. Cơn vũ bão smart phone đã tràn ngập trong nước ta. Ai ai cũng có một chiếc smart phone. Smart phone là điện thoại thông minh tích hợp một nền tảng hệ điều hành di động với nhiều tính năng hỗ trợ tiên tiến về điện toán và kết nối dựa trên nền tảng cơ bản của điện thoại di động thông thường. Ban đầu điện thoại thông minh bao gồm các tính năng của điện thoại di động thông thường kết hợp với các thiết bị phổ biến khác như PDA, thiết bị điện tử cầm tay, máy ảnh kỹ thuật số, hệ thống định vị toàn cầu GPS. Điện thoại thông minh ngày nay bao gồm tất cả chức năng của laptop như duyệt web, Wi-Fi, các ứng dụng của bên thứ 3 trên di động và các phụ kiện đi kèm cho máy. Việc mua và dùng smart phone rất tiện lợi vì nó có thể thay thế hoàn toàn một chiếc máy tính bình thường. Ngoài việc đó ra nó còn là công cụ để kết nối mọi người với nhau với nhưng chức năng của một chiếc điện thoại thông thường hoặc dùng các ứng dụng của bên thứ 3. Mặc dù các ứng dụng để kết nối mọi người như Mạng xã hội, Chát trực tuyến rất tiện ích nhưng nó cũng đem lại nhưng cái hại như chúng ta mất rất nhiều thời gian vào Mạng xã hội… Chính vì vậy nhân việc học môn lập trình di động em lựa chọn đề tài “ Viết ứng dụng chat sử dụng google API Firebase”. Sử dụng ngôn ngữ lập trình hướng đối tượng Java và hệ điều hành Android. Để hoàn thành được bài tập lớn này, em xin được gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn đề tài Thầy Ths.Phạm Hồ Trọng Nguyên, Giảng viên Khoa Công nghệ Thông tin Trường Đại học Công nghệ thông tin Việt Hàn - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để em hoàn thành được đề tài này. Đà Nẵng, tháng 8 năm 2020 Sinh viên Ông Bửu Khánh Ông Bửu Khánh – 18IT5-18IT279-VKU 3
  • 4.
    Đồ án cơsở 3: App chat android firebase CHƯƠNG 1: MÔ TẢ YÊU CẦU 1.1. Mô tả yêu cầu bài toán - Về cơ bản, tổng quát hóa bài toán thì app cần có: + Giao diện đăng ký tài khoản, đăng nhập tài khoản + Giao diện hiển thị danh sách bạn bè, danh sách các cuộc trò chuyện, danh sách user. + Giao diện hiện thị các đoạn chát giữa 2 user với nhau. - Về chức năng chính của app là : + Chát/ gửi tin nhắn giữa 2 user thông qua internet. 1.2. Biểu đồ use case Hình 1: Biểu đồ use case Ông Bửu Khánh – 18IT5-18IT279-VKU 4
  • 5.
    Đồ án cơsở 3: App chat android firebase CHƯƠNG 2: THIẾT KẾ CHI TIẾT 2.1. Thiết kế lớp 2.1.1 Biểu đồ lớp. Ông Bửu Khánh – 18IT5-18IT279-VKU 5
  • 6.
    Đồ án cơsở 3: App chat android firebase Hình 3: Biểu đồ Activity signup/login Hình 4: Biểu đồ các Activity Ông Bửu Khánh – 18IT5-18IT279-VKU 6
  • 7.
    Đồ án cơsở 3: App chat android firebase 2.1.2. Thiết kế chi tiết lớp mô hình hướng đối tượng MVC - Thiết kế chi tiết cho các lớp: Các thuộc tính, phương thức, mối quan hệ, ràng buộc. - Bài toán được thiết kế theo mô hình MVC với cấu trúc như sau: - Thư mục app chưa các folder như sau: Manifests : Chứa file AndroidManifest.xml (Phân quyền, chạy app, quản lý…) - Thự mục java chứa mã nguồn chủ yếu là các package như sau: Gói Model gồm 2 class: Chat và User. Gói com.ongbuukhanh.chatapp1: Gồm các class chính là các Activity. Như mainActivity, loginActivity, startActivity, mainActivity, registerActivity, resetPasswordActivity, messageActivity. Các Activity chủ yếu là thực hiện hành động, các function của app. Và 1 Activity chính để app có thể hoạt động. Gói Adapter gồm 2 class là: MessageAdapter, UserAdapter. Gói Fragment gồm 3 class là : ChatsFragment, ProfileFragment, UsersFragment. Thự mục res chứa các Folder giao diện, hình ảnh, style của app. + Drawable, mipmap: Chứa hình ảnh cho app. + Layout, menu: Chứa giao diện hiển thị của app. (chính là View) + values chứa các thuộc tính như attrs, colors, dimens, strings, styles… Thư mục assets chứa fonts: hỗ trợ ngoài. Hình 5: Hình ảnh cây thư mục chứa các gói Ông Bửu Khánh – 18IT5-18IT279-VKU 7
  • 8.
    Đồ án cơsở 3: App chat android firebase - Sau đây là mô tả một số thuộc tính và phương thức chủ yếu của một số lớp chính. - Mô tả chi tiết về 2-4 lớp quan trọng. Bảng 1: Mô tả chi tiết các Attribute và Function chính: Attribute Ý Nghĩa -msg : String - Nội dung đoạn chát -status : int - Trạng thái gửi tin nhắn -date : Date - Thời gian gửi tin nhắn -id_sender : int -id_receiver : int - Mã số của người gửi và nhận Function Ý Nghĩa +isSeen() : Boolean -Hiển thị trạng thái xem/ không xem tin nhắn +getSender(): int -Trả lại mã số người gửi +getStatus(): int -Trả lại trạng thái gửi +setMsg(msg: String) -Thiết lập tin nhắn +setSender(id_sender: int) -Thiết lập mã người gửi +setStatus() :boolean -Thiết lập trạng thái gửi +isSend() : boolean -Kiểm tra xem tin nhăn đã được gửi đi +getUid() -Lấy id user đăng nhập +isSuccessful -Đăng nhập thành công +createUserWithEmailAndPass -Tạo tài khoản +readUser() -Hiển thị user +readChat () -Hiển thị người đã chat Ông Bửu Khánh – 18IT5-18IT279-VKU 8
  • 9.
    Đồ án cơsở 3: App chat android firebase +setContent(content:String) -Thiết lập nội dung đoạn chát. -edtLoginUser : EditText -Thông tin đăng nhập username -edtLoginPass : EditText -Thông tin đăng nhập password #onDataChanged -edtEmail : EditText - Tạo thông tin mới về email. -edtUsername: EditText - Tạo thông tin với username để dùng -edtPassword: EditText - Tạo password mới dùng cho user -btnRegister : - Click vào sẽ tạo tài khoản mới -sendEmailResetPassWord() : - Gửi mail để làm lại password. #onCreate(saved: Bundle) -signOut -Thoát app +onComplete() -Chuyển trang khi đăng nhập thành công. -UserAdapter -Bộ chuyển đổi các user -mUser - Mảng chứa các user -ChatAdapter - Bộ chuyển đổi của các tin nhắn -txt: EditText -FirebaseDatabase.getInstance() - Cho phép sử dụng database -txt_Seen -Hiển thị text xem hay ko xem -img_on _img_off -Hiển thị trạng thái online/offline Ông Bửu Khánh – 18IT5-18IT279-VKU 9 Tải bản FULL (16 trang): https://bit.ly/3tyrvpG Dự phòng: fb.com/TaiHo123doc.net
  • 10.
    Đồ án cơsở 3: App chat android firebase #onCreate(saved: Bundle) -sendMessage() - Gửi tin nhắn 2.2. Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu - Thiết kế và chuẩn hoá CSDL Hình 6: Hình ảnh bảng cơ sở dữ liệu - NoteParent(“Chats”): Gồm các note con “message”, “receiver”,”sender”. - NoteParent(“User”): “id”,”imageURL”,”search”,”status”,”username”. CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ 3.1. Xây dựng chương trình - App có sử dụng một vài thư viện hỗ trợ của Android như + 'com.google.firebase: firebase-analytics: 17.2.2' + 'com.google.firebase: firebase-database: 19.2.1' + 'com.google.firebase: firebase-auth: 19.3.0' + 'com.google.android.gms: play-services-auth: 18.0.0' - Trong quá trình lập trình có tuân thủ quy tắc lập trình hướng đối tượng của Java, thiết kế layout, giao diện theo chuẩn của Google Design Convension. Ông Bửu Khánh – 18IT5-18IT279-VKU 10 8090494