1. Trang chủ
  2. » Thể loại khác

ĐỒ Á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

16 308 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 7,26 MB

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

Nội dung

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

Trang 1

Đề tài: Xây dựng ứng dụng trò chuyện trực tuyến trên android

sử dụng FireBase.

Đà nẵng, tháng 8 năm 2020

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

CHƯƠNG 2: THIẾT KẾ CHI TIẾT

2.1 Thiết kế lớp

2.1.1 Biểu đồ lớp

Trang 6

Hình 3: Biểu đồ Activity signup/login

Hình 4: Biểu đồ các Activity

Trang 7

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

Trang 8

- 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

Trang 9

+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

Trang 10

#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

Trang 11

- 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 Loại lỗi

Dữ liệu kiểm thử/

các bước tái tạo lỗi

Kết quả thực tế

Đăng nhập Ông Bửu Khánh Chức năng

-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.

Hiện lên 1 dialog thông báo đăng nhập thất bại

Tạo tài khoản Ông Bửu Khánh Chức năng

-Gõ email không đúng dạng

abc@gmail.com

Thông báo lỗi email không đúng dạng chuẩn

Liệt kê người gửi

tin nhắn.

Ông Bửu Khánh Chức năng

-Bấm vào phần liệt kê người đã gửi tin nhắ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

Trang 12

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

Trang 13

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

Trang 14

- 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 toàn bộ chương trình và báo cáo

Tuần 14:

Trang 15

- 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

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 Trang Ý Nghĩa

Bảng 1 8 Bảng mô tả chi tiết các Attribute và Function chính

Trang 16

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

Ngày đăng: 20/04/2021, 22:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w