Tải bản đầy đủ (.doc) (16 trang)

ĐỒ ÁN CƠ SỞ 3 Đề tài: Xây dựng ứng dụng trò chuyện trực tuyến android sử dụng FireBase . Th.S.PHẠM HỒ TRỌNG NGUYÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.99 MB, 16 trang )

Đề 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Ả U CẦU............................................................................ 4
1.1. Mơ tả 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ị tồ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ế hồn tồn một chiếc máy tính bình thường. Ngồ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.
Để hồ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 hồ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Ả U CẦU
1.1. Mơ tả u cầu bài tốn
-

Về cơ bản, tổng qt hóa bài tố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ợ ngồ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
-sendEmailResetPassWord() :

:

- Click vào sẽ tạo tài khoản mới
- 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


Đồ á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 hố 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ó tn 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


Đồ án cơ sở 3: App chat android firebase

-

Môi trường lập trình là Java, sử dụng IDE Android Studio kết hợp với Máy ảo
Genymotion.

3.2. Kiểm thử đơn vị


Use case

Người tạo

Đăng nhập

Ông Bửu Khánh

Loại lỗi

Chức năng

Tạo tài khoản

Ông Bửu Khánh

Chức năng

Liệt kê người gửi
tin nhắn.

Ông Bửu Khánh

Chức năng

Dữ liệu kiểm thử/
các bước tái tạo
lỗi
-Nhấn nút đăng

nhập với các
trường hợp gõ sai
tài khoản hoặc
mật khẩu hoặc
không nhập tất cả
các trường.
-Gõ email không
đúng dạng

-Bấm vào phần
liệt kê người đã
gửi tin nhắn

Kết quả thực tế
Hiện lên 1 dialog
thông báo đăng
nhập thất bại

Thông báo lỗi
email khơng đúng
dạng chuẩn
-App ngừng hoạt
động(Vì để List<>
vào vịng lập để
duyệt)

-Kết quả kiểm thử đơn vị (unit test): Cho thấy App chạy tốt đã xử lý được tất cả
các lỗi phát sinh.

3.3. Kết quả chương trình:

- Mơ tả một số màn hình chức năng chính của chương trình
+ Giao diện chính của app
+ Giao diện đăng nhập để vào app sử dụng cần username và password.
+ Giao diện đăng ký tài khoản.
+ Giao diện hiển thị danh sách bạn bè có trong app.
+ Giao diện hiển thi danh sách các cuộc trò chuyện với bạn bè.
+ Giao diện thể hiện các chức năng của app.
+ Giao diện chát giữa 2 user với nhau.

Ông Bửu Khánh – 18IT5-18IT279-VKU

11


Đồ án cơ sở 3: App chat android firebase

Hình 7: Giao diện chính, giao diện đăng ký, đăng nhập, verify email vào app

Hình 8: Giao diện chứa các danh sách như chats, users, profiles

Ông Bửu Khánh – 18IT5-18IT279-VKU

12


Đồ án cơ sở 3: App chat android firebase

Hình 9: Giao diện chat và thay đổi ảnh đại diện google driver

CHƯƠNG 4: KẾT LUẬN VÀ TỰ ĐÁNH GIÁ

4.1 Kết luận
-

Kết quả đạt được : Qua quá trình làm bài tập lớn em đã nâng cao được tinh
thần, kỹ năng làm việc độc lập, kỹ năng viết báo cáo, slide, và quan trọng
nhất đó là nâng cao tư duy lập trình hướng đối tượng cũng như sử dụng
thành thạo ngôn ngữ lập trình hướng đối tượng java.

-

Khuyết điểm: App vẫn cịn một số tính năng tích hợp định vị google tìm bạn
gần đây mà em chưa làm được. Một số chức năng hay hữu ích có thể thêm
vào app.

4.2 Kế hoạch làm việc
• Kế hoạch làm việc:
Tuần 2:
-

Gặp thầy hướng dẫn, chọn chủ đề bài tập lớn.

Tuần 3:
- Tìm hiểu về Android và môi trường phát triển của Android
-

Cài đặt Android Studio, Android SDK hỗ trợ viết code Android

Ông Bửu Khánh – 18IT5-18IT279-VKU

13



Đồ án cơ sở 3: App chat android firebase

-

Cài đặt Genimotion và Virtual Box hỗ trợ máy ảo Android

-

Tìm hiểu các thành phần trong Android App

Tuần 4:
-

Tìm hiểu hệ thống Layout và View trong android như :
+ LinearLayout, TextView, Button, Processbar, ImageView, …

-

Xây dựng giao diện đăng nhập, đăng ký tài khoản.

Tuần 5:
-

Tìm hiểu và làm quen với cơ sở lưu trữ điện toán đám mây Firebase.

-

Tạo tài khoản, lập cơ sở dữ liệu cho app android và kết nối đến với

Firebase.

Tuần 6:
- Thiết kế trang Fragment để quản lý tin nhắn cũng như bạn bè.
-

Thiết kế ViewPager để chuyển hiệu ứng giữa các Tab - Tạo firebase
database để kiểm tra đăng ký và đăng nhập.

Tuần 7:
-

Thiết kế RecyclerView và các Adapter, TabLayout.

-

Xử lý “Đăng nhập”.

Tuần 8:
-

Thiết kế cơ sở dữ liệu trên Firebase.

Tuần 9 + 10:
-

Xử lý chát giữa 2 user và xử lý giao diện hiển thị bạn chát.

Tuần 10- 12:
-


Hoàn thiện các chức năng cơ bản, các trang giao diện cơ bản.

-

Review code, kiểm thử tìm lỗi, hoàn thiện App.

Tuần 13:
-

Viết báo cáo theo đề cương chi tiết.

-

Nộp bản tồn bộ chương trình và báo cáo.

Tuần 14:
Ơng Bửu Khánh – 18IT5-18IT279-VKU

14


Đồ án cơ sở 3: App chat android firebase

-

Bảo vệ bài tập lớn môn học

-


Nghe ý kiến nhận xét từ thầy hướng dẫn.

• Tự đánh giá bản thân : 90%

Tổng kết
1. Tài liệu tham khảo
[1] Lập trình Android Google Firebase nguồn https://google/firebasedata.com
[2] Lập trình Android Google Firebase nguồn https://google/firebaseuth.com

2. Phụ lục
Danh mục hình ảnh được sử dụng
Tên Hình

Trang

Ý Nghĩa

Hình 1

4

Biểu đồ usecase

Hình 2

5

Biêu đồ chứa gói Activity

Hình 3


6

Biểu đồ Activity login/sign up

Hình 4

6

Biểu đồ các Activity

Hình 5

7

Hình ảnh cây thư mục chứa các gói

Hình 6

10

Hình ảnh bảng cơ sở dữ liệu

Hình 7

12

Giao diện chính, giao diện đăng nhập, giao diện đăng ký
reset password vào app


Hình 8

13

Giao diện chứa danh sách như friends, users, profiles

Hình 9

13

Giao diện chat và thay đổi ảnh đại diện, google driver

Danh mục bảng được sử dụng
Tên Bảng
Bảng 1

Trang
8

Ý Nghĩa
Bảng mô tả chi tiết các Attribute và Function chính

Ơng Bửu Khánh – 18IT5-18IT279-VKU

15


Đồ án cơ sở 3: App chat android firebase

Bảng 2


11

Kịch bản kiểm thử chương trình

Ơng Bửu Khánh – 18IT5-18IT279-VKU

16



×