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

1622428830-dnd-dacs3

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 (1.02 MB, 28 trang )

ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT - HÀN

BÁO CÁO: ĐỒ ÁN CƠ SỞ 3
THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG
NHẮN TIN NDChat

GVHD: ThS.Ngô Lê Quân
SVTH: Đinh Như Đức
Mã SV: 19IT307
Lớp SH: 19IT5

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

1


ĐẠI HỌC ĐÀ NẴ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:

Sinh viên thực hiện : Đinh Như Đức
Lớp: 19IT5
Giảng viên hướng dẫn: ThS. Ngô Lê Quân

Đà Nẵng, ngày 25 tháng 5 năm 2021



2


LỜI MỞ ĐẦU
Hiện nay, thiết bị di động như điện thoại di động, máy tính bảng
đang dần trở nên phổ biến trong cuộc sống. Với sự phát triển nhanh chóng
của công nghệ với các nền tảng phần cứng ngày càng rẻ, đ ể s ở h ữu cho
mình một thiết bị công nghệ như điện thoại SmartPhone hay 1 chi ếc máy
tính bảng khơng phải là một việc q khó khăn như trước n ữa.
Nhu cầu thông tin liên lạc phát triển, nhu cầu trao đổi thông tin
nhanh và hiệu quả ngày càng gia tăng. Cùng với đó là sự phát tri ển c ủa
công nghệ thông tin và hệ thống mạng Internet. V ới các y ếu t ố trên, ngu
cầu về một ứng dụng trao đổi thông tin nhanh đơn giản hiệu quả phù h ợp
về mặt sử dụng, được đặt ra.
Em xin cảm ơn thầy Ths. Ngô Lê Quân người đã h ướng d ẫn ch ỉ bảo
trực tiếp em để hoàn thành được đồ án này trong thời gian qua.
Với điều kiện thời gian có hạn cũng như kinh nghiệm còn hạn ch ế
của một sinh viên, đồ án này của em không thể tránh khỏi những thiếu sót.
Em rất mong nhận được sự chỉ bảo , đóng góp ý kiến của các thầy cơ đ ể
em có điều kiện bổ sung, hồn thiện hơn chương trình của mình đ ể áp
dụng vào thực tế sau này. Em xin chân thành cảm ơn!

3


NHẬN XÉT

(của giảng viên hướng dẫn)
.............................................................................................................................

.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

4


MỤC LỤC
ĐẠI HỌC ĐÀ NẴNG..............................................................................................................................1
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG.....................................................................1
VIỆT - HÀN...........................................................................................................................................1
.............................................................................................................................................................1
LỜI MỞ ĐẦU................................................................................................................................................3
GIẢI PHÁP....................................................................................................................................................6
CHƯƠNG II: CƠ SỞ LÝ THUYẾT....................................................................................................................7
.....................................................................................................................................................................7
2.Sơ lược về Android Studio...............................................................................................................9

3. Ngôn ngữ lập trình Java:...............................................................................................................13
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG....................................................................................19
CHƯƠNG IV: TRIỂN KHAI XÂY DỰNG........................................................................................................22
1.Màn hình bắt đầu............................................................................................................................................. 22
2.Màn hình đăng nhập........................................................................................................................................ 23
23
24
4. Màn hình trang chủ ứng dụng:................................................................................................................... 24
25
26
7.Cơ sở dữ liệu Firebase:.................................................................................................................................. 26
CHƯƠNG V: TỔNG KẾT VÀ ĐÁNH GIÁ.......................................................................................................28

5


CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
GIẢI PHÁP
1. Nhu cầu thực tế
Nhu cầu thông tin liên lạc phát triển, nhu cầu trao đổi thông
tin nhanh và hiệu quả ngày càng gia tăng. Cùng với đó là sự phát tri ển
của công nghệ thông tin và hệ thống mạng Internet. V ới các y ếu t ố
trên, ngu cầu về một loại hình trao đổi thơng tin nhanh đ ơn gi ản
hiệu quả phù hợp về mặt sử dụng, được đặt ra.
2. Mục đích chọn đề tài:
Thấy được tầm quan trọng của app ứng dụng nhắn tin đối v ới
nhu cầu của mọi người.
Tiềm năng của một ứng dụng tin nhắn không chỉ dừng lại ở
việc bán các nhãn dán (stiker) mà cịn có thể sử dụng nh ư m ột công
cụ mạng xã hội để truyền bá nội dung, chơi game hay xem hình ảnh,

video. Cơng cụ này có thể trở thành một trong nh ững công c ụ đ ược
sử dụng nhiều nhất và trở thành tính năng quan trọng sau nghe, g ọi
của điện thoại di động.
3. Nội dung đề tài:
Các chức năng của ứng dụng
-Phía người dùng
• Đăng nhập, đăng ký tài khoản.
• Tìm kiếm người dùng.
• Hiển thị danh bạ người dùng.
• Hiển thị danh sách tin nhắn.
• Gửi tin nhắn.
• Tạo nhóm chat.
• Quản lý thơng tin tài khoản.
-Phía sever
• Quản lý người dùng.

6


CHƯƠNG II: CƠ SỞ LÝ THUYẾT
1. Hệ điều hành Android:
Android là một hệ điều hành có mã nguồn mở 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.
Ban đầu, Android được phát triển bởi Tổng công ty Android, v ới s ự
hỗ trợ tài chính từ Google, sau này được chính Google mua lại vào năm
2005 và hệ điều hành Android đã ra mắt vào năm 2007. Chi ếc đi ện tho ại
đầu tiên chạy Android là HTC Dream được bán vào ngày 22 tháng 10 năm
2008.
Chính mã nguồn mở cùng với giấy phép khơng có nhiều ràng buộc đã

cho phép các nhà phát triển thiết bị, mạng di động và các l ập trình viên
được điều chỉnh và phân phối Android một cách tự do. Nh ững y ếu t ố này
đã giúp Android trở thành nền tảng điện thoại thông minh ph ổ biến nhất
thế giới. Android chiếm 75% thị phần điện thoại thơng minh trên tồn thế
giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thi ết bị đã
được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày. Tháng 10 năm 2012,
đã có khoảng 700.000 ứng dụng trên Android, và số l ượt t ải ứng d ụng t ừ
Google Play (cửa hàng ứng dụng chính của Android) ước tính kho ảng 25 t ỷ
lượt. Hiện nay con số này đã giảm xuống do sự ảnh h ưởng l ớn c ủa iOS t ừ
Apple và một phần nhỏ của Windows Phone, tuy nhiên Android vẫn d ẫn
đầu thị phần.
Giao diện người dùng của Android dựa trên nguyên tắc tác động
trực tiếp, sử dụng cảm ứng chạm tương tự như những động tác ngoài đ ời
thực như vuốt, chạm, kéo dãn và thu lại để xử lý các đ ối t ượng trên màn
hình. Giao diện Android 5.0 trên điện thoại Giao diện Android 5.0 trên
điện thoại Các thiết bị Android sau khi khởi động sẽ hiển th ị màn hình
chính, điểm khởi đầu với các thơng tin chính trên thiết bị, tương t ự nh ư
khái niệm desktop trên máy tính để bàn. Màn hính chính Android th ường
gồm nhiều biểu tượng (icon) và tiện ích (widget). Giao diện màn hình
chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng t ự do
sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích. Nh ững ứng
dụng do các hãng thứ ba có trên Google Play và các kho ứng d ụng khác còn
cho phép người dùng thay đổi "chủ đề" của màn hình chính, th ậm chí b ắt
chước hình dáng của hệ điều hành khác như Windows Phone hay iOS. Ph ần
lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng
và hành vi của các thiết bị Android của họ để phân biệt v ới các hãng c ạnh
7


tranh. Android Google đưa ra các bản cập nhật lớn cho Android theo chu

kỳ từ 6 đến 9 tháng, mà phần lớn thiết bị đều có thể nhận được qua sóng
khơng dây. Bản cập nhật lớn mới nhất là Android 5.0 Lolipop.

8


Ưu điểm:
• Là hệ điều hành có mã nguồn mở nên khả năng tuỳ biến cao,
có thể tùy ý chỉnh sửa mà khơng có sự can thiệp hay cấm cản
từ Google.
• Đa dạng sản phẩm, rất nhiều hãng điện thoại, thiết bị công
nghệ đã ưu ái chọn Android cho thiết bị của họ, giá cả thì h ợp
lý từ bình dân đến cao cấp.
• Kho ứng dụng Google Play Store đồ sộ.
• Thân thiện và dễ sử dụng.
• Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao.
Nhược điểm:
• Dễ nhiễm phần mềm độc hại và virus. Do tính chất mã nguồn
mở, nhiều phần mềm khơng được kiểm sốt có chất lượng
khơng tốt hoặc lỗi bảo mật vẫn được sử dụng.
• +Kho ứng dụng q nhiều dẫn đến khó kiểm sốt chất lượng,
thiếu các ứng dụng thật sự tốt.
• Sự phân mảnh lớn. Trong khi một số thiết bị Android xuất sắc
đã trình làng như Galaxy S5, Galaxy Note 4, Xperia Z3…, vẫn còn
rất nhiều sản phẩm giá rẻ bình thường khác.
• Cập nhật khơng tự động với tất cả thiết bị. Khi một phiên bản
hệ điều hành mới ra mắt, không phải tất cả sản phẩm đều
được cập nhật, thậm chí nếu muốn trải nghiệm bạn thường
xuyên phải mua mới thiết bị.
2. Sơ lược về Android Studio

2.1 Android Studio là gì?
Android Studio là mơi trường phát triển tích hợp (IDE) chính th ức cho
việc phát triển ứng dụng Android. Nơi mà các nhà phát triển viết code và l ắp
ráp các ứng dụng của họ từ các gói. Và thư viện khác nhau. Th ư viện ph ần
mềm, cơng cụ lập trình tiện dụng, nhiều hơn để giúp bạn xây dựng, kiểm
thử. Cũng như gỡ lỗi các ứng dụng Android.
Android Studio hỗ trợ một loạt các giả lập để xem tr ước ứng dụng, vì
vậy ngay cả khi bạn khơng có thiết bị thử nghiệm, bạn vẫn có th ể ch ắc ch ắn
rằng mọi thứ đều hoạt động trơn tru. Bên cạnh đó, loạt cơng cự như lời
khuyên tối ưu hóa, đồ thị doanh số bán hàng, và s ố liệu l ấy t ừ phân tích sẽ
giúp các nhà phát triển quản lý ứng dụng đang bán của mình và tìm ra h ướng
đi cụ thể với từng thiết bị Android.
Android Studio hỗ trợ các hệ điều hành Windows, Mac OS X và Linux, và
là IDE chính thức của Google để phát triển ứng dụng Android gốc đ ể thay th ế
cho Android Development Tools (ADT) dựa trên Eclipse.

9


2.1 Các tính năng nổi bật của Android studio
Android studio có rất nhiều lợi ích cũng như tính năng mà ng ười dùng
có thể khai thác được và đặc biệt việc cài đặt android studio cịn có th ể
giúp lập trình viên mơ phỏng để có thể tiến hành sửa lỗi và nâng c ấp s ản
phẩm của mình khi cần thiết.
Trên trình soạn thảo mã và cơng cụ phát triển mạnh mẽ c ủa IntelliJ,
Android Studio cung cấp nhiều tính năng nâng cao hiệu su ất c ủa b ạn khi
xây dựng ứng dụng Android, chẳng hạn như:
-

Một hệ thống xây dựng Gradle linh hoạt

Trình mơ phỏng nhanh và tính năng phong phú
Một mơi trường hợp nhất nơi bạn có thể phát triển cho tất cả các thiết bị Android
Instant Run để đẩy các thay đổi vào ứng dụng đang chạy của bạn mà không c ần
xây dựng một APK mới
Tích hợp GitHub để giúp bạn xây dựng các tính năng ứng dụng phổ biến và nh ập
mã mẫu
Các công cụ và khuôn khổ thử nghiệm mở rộng

Lint công cụ để bắt hiệu suất, khả năng sử dụng, tương thích phiên
bản, và các vấn đề khác.
Hỗ trợ C ++ và NDK.
Tích hợp hỗ trợ Google Cloud Platform , giúp dễ dàng tích h ợp Google
Cloud Messaging và App Engine.
Hỗ trợ tích hợp sâu Firebase vào trong các ứng dụng ch ỉ sau một click
chuột.
2.1 Cách thức cài đặt và sử dụng Android Studio
a. Hướng dẫn cách cài đặt Android Studio trên máy tính

Việc cài đặt Android Studio trên Windows khá đơn giản. Sau khi tải
xong bạn nhấp đúp vào file cài đặt để tiến hành cài đ ặt. Quá trình cài
đặt khơng có gì đặc biệt và bạn có thể tự mình hồn tất cơng đoạn này.
Sau khi cài đặt xong máy tính sẽ khởi động ch ương trình Android
Studio để bạn có thể bắt đầu phát triển ứng dụng Android đầu tiên.
-

-

Bước 1: Chuẩn bị laptop. Như đã nói ở phần trước, để trong q trình lập trình
khơng xảy ra những khó chịu thì bạn nên chuẩn bị m ột chi ếc laptop RAM có dung
lượng lớn (> 8GB) và chip i5 (hoặc tương đương) trở lên. N ếu máy có cài ổ SSD thì

càng tốt.
Bước 2: Tải Java về máy. Như bạn đã biết, để cài đ ặt android studio cần phải cài
đặt Java trước tiên.
Bước 3: Sau khi tải Java xong thì bạn hãy nhấn vào Install để cài Java vào máy tính.
Bạn sẽ phải đợi khoảng 5 phút.
Bước 4: Khi máy tính hồn tất tải Java về máy thì bạn bạn khơng cần thao tác gì
thêm với Java nữa mà chỉ cần để nó một chỗ là được.
Bước 5: Nhấn nút Next ở phần cửa sổ chào mừng của phần mềm android studio.
Bước 6: Tiếp tục nhấn nút Next để tiếp tục, sau đó vẫn ấn Next ở cửa sổ tiếp theo.
Bước 7: Bạn sẽ lựa chọn tên hiển thị trên Start menu rồi nhấn Install để cài đặt.

10


Bước 8: Nhấn Install để cài đặt. Sau đó bạn bấm tiếp Finish. Tuy nhiên đây chưa
phải bước cuối cùng đâu nhé!
- Bước 9: Sẽ xuất hiện một bảng và bạn chỉ cần đợi ô update biến mất r ồi sau đó
nhấn tiếp phím Next.
- Bước 10: Chọn giao diện trắng hoặc đen cho android studio.
- Bước 11: Bạn sẽ phải đợi một lúc lâu để hệ thống tải dữ liệu. và Xong!
b. Cách sử dụng phần mềm Android Studio cho người mới bắt đầu
-

Hướng dẫn tạo project android studio là bước tiếp theo sau khi chúng
ta đã cài đặt Android Studio. Đây là thao tác bắt buộc trước khi chúng ta
bắt tay vào phát triển ứng dụng Android.
-

Bước 1: Khởi động Android Studio -> File -> chọn New -> chọn New Project ->
Nhập tên ứng dụng (Application name), chỉ định thư mục chứa source code

(Project location) -> chọn Next

Hình 1:Tạo Activity
-

Bước 2: Chọn Phone and Tablet -> chọn phiên bản SDK tối thiểu (tương ứng với phiên
bản hệ điều hành Android) -> chọn Next

11


Hình 2: Chọn SDK

Bước 3: Chọn Activity, trong hình chúng tơi chọn Empty Activity (Việc lựa
chọn Activity nào cịn tùy thuộc vào mục đích của người phát triển ứng
dụng) -> Next

Hình 3: Chọn Activity
-

Bước 4: Nhập tên cho Activity tại Activity Name -> Finish

Hình 4:Đặt tên cho Activity

12


Sau khi tạo thành cơng project, chúng ta sẽ nhìn thấy nh ư hình bên d ưới :

Hình 5: Giao diện MainActivity


3. Ngơn ngữ lập trình Java:
2.2.Lịch sử Java
Java là một ngơn ngữ lập trình được Sun Microsystem giới thiệu vào
tháng 6 năm 1995. Từ đó, nó đã trở thành một cơng cụ lập trình c ủa các
lập trình viên chuyên nghiệp. Java được xây dựng trên nền tảng c ủa C và
C++. Do vậy nó sử dụng các cú pháp của C và các đặc tr ưng h ướng đ ối
tượng của C++. Ban đầu Java được thiết kế để làm ngơn ngữ viết
chương trình cho các sản phẩm điện tử dân dụng như đầu video, tivi,
điện thoại, máy nhắn tin…
2.2. Đặc trưng của Java
• Đơn giản:
Những người thiết kế mong muốn phát triển một ngôn ngữ để học và
quen thuộc với đa số người lập trình. Java tựa nh ư C++, nhưng đã l ược b ỏ đi
các đặc trưng phức tạp, không cần thiết của C và C++ nh ư: thao tác con tr ỏ,
thao tác định nghĩa chồng tốn tử (operator Mục tiêu chính c ủa các nhà thi ết
kế Java là độc lập với hệ nền hay còn gọi là độc lập phần cứng và hệ đi ều
hành. Đây là khả năng một chương trình được viết tại một máy nhưng có th ể
chạy được bất kỳ đâu. Các chương trình viết bằng Java có th ể ch ạy trên h ầu
hết các hệ nền mà khơng cần phải thay đổi gì, điều này đã được những

13


người lập trình đặt cho nó một khẩu hiệu ‘vi ết một l ần, chạy m ọi n ơi’, đi ều
này là khơng thể có với các ngơn ngữ lập trình khác.
overloading),… Java khơng sử dụng lệnh “goto” cũng như file header (.h).
Cấu trúc “struct” và “union” cũng được loại bỏ khởi Java.
• Hướng đối tượng
Có thể nói Java là ngơn ngữ lập trình hồn tồn hướng đối tượng, tất cả

trong Java đều là sự vật, đâu đâu cũng là sự vật.
• Độc lập với hệ nền:
• Hỗ trợ lập trình đa tuyến
Đây là tính năng cho phép viết một chương trình có nhiều đo ạn mã l ệnh
được chạy song song với nhau, Với Java ta có thể viết các ch ương trình có
khả năng chạy song song một cách dễ dàng, hơn th ế n ữa vi ệc đ ồng b ộ tài
nguyên dùng chung trong Java cũng rất đơn giản. Đi ều này là không th ể có
đối với một số ngơn ngữ lập trình khác như C/C++, pascal…
• Phân tán
Java hỗ trợ đầy đủ các mơ hình tính tốn phân tán: mơ hình client/server,
gọi thủ tục từ xa…
• Hỗ trợ internet
Mục tiêu quan trọng của các nhà thiết kế Java là tạo đi ều ki ện cho các nhà
phát triển ứng dụng có thể viết các chương trình ứng dụng internet và web
một cách dễ dàng, với Java ta có thể viết các chương trình s ử dụng các giao
thức TCP, UDP một cách dễ dàng, về lập trình web phía máy khách java có
cơng nghệ java applet, về lập trình web phía máy khách java có cơng ngh ệ
servlet/JSP, về lập trình phân tán java có cơng nghệ RMII, CORBA, EJB, Web
Service.
• Thơng dịch
Các chương trình java cần được thơng dịch trước khi chạy, một chương
trình java được biên dịch thành mã byte code mã độc l ập với hệ nền, ch ương
trình thơng dịch java sẽ ánh xạ mã byte code này lên mỗi nền c ụ th ể, đi ều
này khiến java chậm chạp đi phần nào.
2.2. Các kiểu ứng dụng Java
• Ứng dụng Applets
Applet là chương trình Java được tạo ra để sử dụng trên Internet thơng
qua các trình duyệt hỗ trợ Java như IE hay Netscape. Applet được nhúng bên
trong trang Web. Khi trang Web hiển thị trong trình duy ệt, Applet sẽ đ ược t ải
về và thực thi tại trình duyệt.


14


• Ứng dụng dịng lệnh (console)
Các chương trình này chạy từ dấu nhắc lệnh và không sử dụng giao di ện
đồ họa. Các thông tin nhập xuất được thể hiện tại dấu nhắc lệnh.


JSP/Serblet

Java thích hợp để phát triển ứng dụng nhiều lớp. Applet là chương trình đồ
họa chạy trên trình duyệt tại máy trạm. Ở các ứng dụng Web, máy tr ạm g ửi
yêu cầu tới máy chủ. Máy chủ xử lý và gửi kết quả trở l ại máy tr ạm. Các Java
API chạy trên máy chủ chịu trách nhiệm xử lý tại máy chủ và tr ả l ời các yêu
cầu của máy trạm. Các Java API chạy trên máy chủ này mở rộng kh ả năng
của các ứng dụng Java API chuẩn. Các ứng dụng trên máy chủ này được gọi là
các JSP/Servlet, hoặc Apple tại máy chủ. Xử lý form c ủa HTML là cách s ử
dụng đơn giản nhất của JSP/Servlet. Chúng cịn có th ể được dùng đ ể x ử lý
dữ liệu, thực thi các giao dichj và thường được thực thi thơng qua máy ch ủ
Web.
• Ứng dụng cơ sở dữ liệu
Các ứng dụng này sử dụng JDBC API để kết nối tới cơ s ở dữ li ệu. Chúng cỏ
thể là Applet hay ứng dụng, nhưng Applet bị giới hạn bởi tính bảo mật.
• Ứng dụng mạng
Java là một ngơn ngữ rất thích hợp cho việc xây dựng các ứng d ụng m ạng.
Với thư viện Socket ta có thể lập trình với hai giao thức: UDP và TCP.
• Ứng dụng nhiều tầng
Với Java ta có thể xây dựng phân tán nhiều tầng v ới nhiều h ỗ tr ợ khác
nhau như: RMI, CORRA, EJB, Web Service

• Ứng dụng cho các thiết bị di động
Hiện nay phần lớn các thiết bị di động như: Điện thoại di động, máy trợ
giúp cá nhân… đều hỗ trợ Java. Thế nên ta có th ể xây dựng các ứng dụng
chạy trên các thiết bị di động này. Đây là một ki ểu ứng dụng khá h ấp d ẫn,
bởi vì các thiết bị di động này ngày càng phổ biến và nhu cầu có các ứng
dụng chạy trên đó, đặc biệt là các ứng dụng mang tính ch ất gi ải trí nh ư
game…

4. Cơ sở dữ liệu Firebase Realtime Database:
4.1 Tổng quan về Firebase
4.1.1 Khái niệm
Có nhiều cách hiểu về Firebase khi đứng trên các quan điểm
khác nhau, sau đây là 2 khái niệm cơ bản.
15


• 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.
4.1.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ộ.
4.1.3 Ưu nhược điểm của Firebase
Ư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à 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ẽ.
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
16



nên những ai đang quen với SQL có thể gặp khó khăn đơi chút
bước đầu .
4.2 Dịch vụ Firebase
Firebase cung cấp cho người dùng cơng cụ Firebase Analytics
và 2 nhóm sản phẩm chính tập trung vào 2 đối tượng là: −Develop
& test your app: phát triển và kiểm thử các ứng dụng được thi ết
kế. −Grow & engage your audience: Phân tích dữ liệu và tối ưu hóa
trải nghiệm đối với người dùng.
4.2.1 Dịch vụ Firebase Analytics
Là một giải pháp miễn phí và phân tích khơng giới h ạn. Quản
lý hành vi người dùng và cá biện pháp từ một bảng điều khiển
duy nhất. Phân thích thuộc tính và hành vi của ng ười dùng trong
bảng điều khiển đơn để đưa ra các quyết định sáng suốt về lộ
trình sản phẩm. Nhận thông tin chi tiết về thời gian th ực từ báo
cáo hoặc xuất dữ liệu thô sự kiện của người dùng tới Google
BigQuery để phân tích tùy chỉnh.
4.2.2 Các dịch vụ phát triển và kiểm thử ứng dụng Realtime
Database:
Lưu trữ và đồng bộ dữ liệu người dùng thời gian thực, các ứng
dụng hỗ trợ tính năng này có thể lưu trữ dữ dữ liệu máy ch ủ
trong tích tắc. Các dữ liệu được lưu trữ trong hệ thống cơ sở dữ
liệu hỗ trợ NoSQL và được đặt trên nền tảng máy chủ Cloud, dữ
liệu được ghi và đọc với thời gian thấp nhất tình bằng mili giây.
Nền tảng này hỗ trợ đồng bộ hóa dữ liệu của người dùng kể c ả
khi khơng có kết nối mạng, tạo lên trải nghiệm xuyên suốt bất
chấp tình trạng kết nối internet của người sử dụng. Reatime
Database của Firebase hỗ trợ: Android, ios, web, c++, unity, và c ả
xamarin.44 Crashlytics:

Hệ thống theo dõi và lưu trữ thông tin lỗi của ứng dụng đang
chạy trên máy người dùng. Các thông tin lỗi này được thu thập
toàn diện và ngay tức thời. Cách trình bày h ợp lý v ới t ừng chu
trình hoạt động đến xảy ra lỗi, Các báo cáo trực quan giúp ng ười
phát triển có thể nắm bắt và xử lý kịp thời các lỗi chính c ủa ứng
dụng.
Cloud Firestore: Lưu trữ và đồng bộ dữ liệu giữa người dùng và
thiết bị ở quy bơ tồn cầu sử dụng cơ sở dữ liệu noSQL được lưu
trữ trên hạ tầng cloud. Cloud Firestore cung cấp tính năng đồng
bộ hóa trực tuyến và ngoại tuyến cùng với các truy vấn dữ liệu
hiệu quả. Tích hợp với các sản phẩm Firebase khác cho phép xây
dựng các ứng dụng thực sự ngay cả khi kết nối internet bị gián
đoạn.
17


Authentication: Quản lý người dùng một cách đơn giản và an
toàn. Firebase Auth cung cấp nhiều phương pháp xác thực, bao
gồm email và mật khẩu, các nhà cung cấp bên thứ ba nh ư Google
hay Facebook, và sử dụng trực tiếp hệ thống tài khoản hiện tại
của người dùng. Xây dựng giao diện riêng hoặc tận d ụng l ợi th ế
của mã nguồn mở, giao diện người dùng tùy biến hoàn toàn.
Cloud Functions: Mở rộng ứng dụng bằng mx phụ trợ tùy ch ỉnh
mà không cần quản lý và quy mô các máy chủ của riêng b ạn. Các
chức năng có thể được kích hoạt bơi các sự kiện, được phát sinh
ra bởi các sản phẩm Firebase, dịch vụ Google Cloud hoặc các bên
thứ ba có sử dụng webhooks.
Cloud Storage: Lưu trữ và chia sẻ nội dung do người dùng tạo
ra như hình ảnh, âm thanh và video với bố nh ớ đối tượng m ạnh
mẽ, đơn giản và tiết kiệm chi phí được xây dựng cho quy mơ của

Google. Các Firebase SDK cho Cloud Storage thêm tính nắng bảo
mật của Google để tải lên và tải tệp cho các ứng dụng Firebase
của người dùng, bất kể chất lượng mạng.
Hosting: Đơn giản hóa lưu trữ web của người dùng v ới các
công cụ được thực hiện cụ thể cho các ứng dụng web hiện đại.
Khi tải lên nội dung web, hệ 45 thống sẽ tự động đẩy chúng đ ến
CDN toàn cầu của hệ thống và cung cấp cho họ ch ứng chỉ SSL
miễn phí để người dùng có được trải nghiệm an toàn, đáng tin
cậy, độ trễ thấp dù họ ở đâu.
Test Lab: chạy thử nghiệm tự động và tùy chỉnh cho ứng d ụng
trên các thiết bị ảo và vật lý do Google cung cấp. Sử dụng Firebase
Test Lab trong suốt vòng đời phát triển để khám phá lỗi và s ử
dụng khơng nhất qn để có thể cung cấp một trải nghiệm tuyệt
vời trên nhiều thiết bị.
Performance Monitoring: Chẩn đoán các vấn đề về hiệu suất
ứng dụng xảy ra trên các thiết bị của người dùng. Sử dụng dấu
vết để theo dõi hiệu suất của các phần cụ thể trong ứng dụng và
xem chế độ xem tổng hợp trong bảng điều khiển Firebase. Luôn
cập nhật thời gian khời động của ứng dụng và theo dõi các yêu
cầu HTTP mà không cần viết bất kỳ mã nào.

18


CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1. Phân tích các chức năng chính của ứng dụng:
a. Hiển thị danh sách tin nhắn
• Chức năng này sẽ hiển thị tất cả danh sách tin nhắn v ới
người dùng khác.
• Danh sách sẽ được sắp xếp theo thời gian gửi hoặc

nhận của tin nhắn gần nhất
b. Chức năng đăng nhập
• Cho phép người dùng đăng nhập vào ứng dụng từ tài
khoản đã đăng ký.
c. Chức năng đăng ký tài khoản:
• Cho phép người sử dụng đăng ký một tài khoản để sử
dụng.
• Thơng tin đăng ký bao gồm số email, tên đăng nhập,
mật khẩu.
d. Chức năng hiển thị danh bạ
• Chức năng này sẽ hiển thị tất cả người dùng đã kết bạn.
• Danh sách này sẽ được sắp xếp theo bảng chữ cái.
e. Chức năng kết bạn
• Cho phép người dùng tìm kiếm bạn bè, người dùng khác.
f. Chức năng tìm kiếm
• Cho phép tìm kiếm người dùng, nhóm chat.
g. Chức năng nhắn tin
Cho phép người dùng nhắn tin đến các người dùng khác.
2. Phân tích và đặt tả các yêu cầu:
2.1 Biểu đồ Usecase:
Người dùng:
19


• Khách hàng đăng ký thành viên sau đó đăng nh ập vào
ứng dụng bằng tên đăng nhập và mật khẩu đã đăng ký.
Tại giao diện chính, khách hàng có thể xem được danh
sách chat.
• Khi Người chọn vào danh bạ thì ứng dụng sẽ hiển th ị
danh sách bạn bè đã kết bạn của người dùng đó.

• Khi người dùng nhấn vào ảnh đại diện trang thì trang
quản lý thơng tin sẽ hiện lên. Người dùng có th ể cập
nhật ảnh đại diện, tên, đổi mật khẩu.
• Người dùng cịn có một chức năng đó là tìm kiếm, người
dùng có thể tìm kiếm bạn bè, tin nhắn.

2.2. Biểu đồ tuần tự

Biểu đồ tuần tự đăng nhập

20


Biểu đồ tuần tự đăng ký

3. Thiết kế dữ liệu
3.1 Bảng dữ liệu người dùng
Stt
1
2
3
4

Tên trường
mail
name
Pass
img

Kiểu dữ liệu

String
String
String
String

Mô tả
Email liên kết
Tên đăng nhập
Mật khẩu
Chuỗi base64
của ảnh đại
diện

3.2 Bảng thông tin cuộc trị chuyện
Stt
Tên trường
1
id

Kiểu dữ liệu
String

Mơ tả
Mã của cuộc trị
21


2

idmess


String

3

conten

String

4

time

String

chuyện
Đếm số lượng
tin nhắn trong
cuộc trò chuyện
Nội dung tin
nhắn mới nhất
Thời gian gửi
của tin nhắn
mới nhất

3.3 Bảng nội dung cuộc trị chuyện

CHƯƠNG IV: TRIỂN KHAI XÂY DỰNG
1. Màn hình bắt đầu


22


2. Màn hình đăng nhập

3. Màn hình đăng ký

23


4. Màn hình trang chủ ứng dụng:

4. Màn hình danh bạ
24


5. Màn hình trang cá nhân

6. Màn hình chat
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×