Với mong muốn tạo ra một “Mạng xã hôi” để đáp ứng nhu cầu nêu trên, chúng em đã tìm hiểu và thiết kế “Mạng xã hội Instagram” dành cho người thích chia sẻ các hình ảnh, bài viết về các
Trang 1ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG VIỆT HÀN
- -ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI
XÂY DỰNG ỨNG DỤNG MẠNG XÃ HỘI TRÊN NỀN TẢNG
ANDROID
Giảng Viên Hướng Dẫn: PGS.TS Huỳnh Công Pháp
Sinh Viên Thực Hiện: Huỳnh Thị Hoàng Hảo
Đoàn Diệu Hiền
Lớp: 19IT2
Đà Nẵng, tháng 5 năm 2021
Trang 2LỜI MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc mọi người kết nối với nhau để tương tác, trao đổi thông tin, là một trong những nhu cầu thiết yếu giúp mọi người dễ dàng kết nối với nhau, từ đó giúp mọi người có thể xích lại gần nhau hơn Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Với mong muốn tạo ra một “Mạng xã hôi” để đáp ứng nhu cầu nêu trên, chúng
em đã tìm hiểu và thiết kế “Mạng xã hội Instagram” dành cho người thích chia sẻ các hình ảnh, bài viết về các hoạt động cá nhân Với sự hướng dẫn tận tình của thầy Huỳnh Công Pháp, người đã có những đóng góp ý kiến để em có thể hoàn thành đồ án này Mặc dù đã tìm hiểu kĩ và phân tích thiết kế nhưng khó tránh khỏi những thiếu sót không mong muốn.Em kính mong nhận được sự thông cảm
và góp ý của các quý thầy cô
Em xin kính chúc quý thầy cô dồi dào sức khỏe, tiếp tục đào tạo ra những thế hệ trẻ, nguồn nhân lực chất lượng tốt cho đất nước Em xin chân thành cảm ơn!
Trang 3Nhận xét của GVHD
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Đà Nẵng, tháng 5 , năm 2021
CHỮ KÍ GVHD
PGS.TS Huỳnh Công Pháp
Trang 4MỤC LỤC
Trang
Chương 1 GIỚI THIỆU 7
1.1 Tên dự án 7
1.2 Sinh viên thực hiện 7
1.3 Lý do chọn đề tài 7
1.4 Mục tiêu dự án 7
1.5 Phương pháp thực hiện: 7
1.5.1 Phương pháp: 7
1.5 2 Kết quả: 8
1.6 Nội dụng thực hiện 8
Chương 2 NGHIÊN CỨU VÀ THIẾT KẾ 1
2.1 Cơ sở dữ liệu hỗ trợ, ngôn ngữ và công cụ lập trình được sử dụng: 1
2.1.1 Firebase Database: 1
2.1.2 Android Studio: 1
2.1.3 Java (Android): 1
2.2 Phân tích thiết kế hệ thống: 2
2.2.1 Các actor và phân tích chức năng: 2
2.2.2 Sơ đồ phân tích thiết kế hệ thống: 2
2.3 Cơ sở dữ liệu: 3
2.3.1 Mô tả một số bảng chính của hệ thống: 3
2.3.2 Cơ sở dữ liệu: 3
2.3.3 Mô tả các chức năng chính 4
Chương 3 TRIỂN KHAI XÂY DỰNG 5
3.1 Mục tiêu và phân tích: 5
3.2 Giao diện ứng dụng trên Android 5
3.2.1 Màn hình chờ 5
3.2.2 Đăng nhập, đăng ký 6
3.2.3 Trang chủ 7
3.2.4 Trang cá nhân 7
3.2.5 Tìm kiếm 8
3.2.6 Chi tiết bài viết và chi tiết bình luận 8
3.2.7 Tạo bài viết 10
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 11
4.1 Kết quả đạt được 11
4.2 Hướng phát triển 11
TÀI LIỆU THAM KHẢO 12
Trang 5DANH MỤC HÌNH ẢNH
Trang
Hình 2.2.2-1 Sơ đồ Use-case 3
Hình 2.3.2-1 Cơ sở dữ liệu 4
Hình 3.2.1-1Giao diện ứng dụng: Màn hình chờ 6
Hình 3.2.2-1 Giao diện ứng dụng đăng ký 7
Hình 3.2.2-2 Giao diện ứng dụng: Đăng nhập 7
Hình 3.2.3-1 Giao diện ứng dụng: Trang chủ 8
Hình 3.2.4-1 Giao diện ứng dụng: Trang cá nhân 9
Hình 3.2.5-1 Giao diện ứng dung: Tìm kiếm 10
Hình 3.2.6-1 Giao diên ứng dụng : Bài viết trên trang chủ 10
Hình 3.2.6-2 Giao diện ứng dụng: Chi tiết bình luận 11
Hình 3.2.6-3 Giao diện ứng dụng: Chi tiết bài viết 11
Hình 3.2.7-1 Giao diện ứng dụng: Tạo bài viết 12
Trang 6DANH MỤC CÁC BẢNG
Trang Bảng 2-1 Cấu trúc bảng – Users 4 Bảng 2-2 Cấu trúc bảng – Cơ sở dữ liệu 5
Trang 7Chương 1 GIỚI THIỆU
1.1 Tên dự án
Ứng dụng mạng xã hội Instagram trên Android
1.2 Sinh viên thực hiện
Huỳnh Thị Hoàng Hảo - MSV: 19IT073
Đoàn Diệu Hiền - MSV: 19IT075
1.3 Lý do chọn đề tài
- Hiện nay, hệ điều hành Android đã trở thành hệ điều hành số một thế giới, chiếm đến hơn 85% thị phần di động trên toàn cầu Với nhiều ưu điểm về mã nguồn mở, giao diện
dễ dùng, và dễ tiếp cận đã trở nên quá quen thuộc với người dùng
- Trong cuộc sống hiện đại ngày nay, nhu cầu tương tác với nhau qua Internet ngày càng cao, nhất là giới trẻ, vì vậy mạng xã hội đã ra đời cho phép con người tương tác với nhau mà không còn cách biệt về không gian địa lý Do đó, nhóm em đã lựa chọn đề tài “Xây dựng ứng dụng Mạng xã hội trên nền tảng Android”, tạo không gian cho mọi người có thể chia sẻ các hình ảnh, video với nhau trên điện thoại chaỵ nền tảng Android của mình
1.4 Mục tiêu dự án
- Xây dựng ứng dụng trên nền tảng android và firebase 8
1.5 Phương pháp thực hiện:
Tìm hiểu các mạng xã hội hiện nay như Facebook, Instagram, Gapo, Phân tích những tính năng nổi bật của các mạng xã hội đó và lên nội dung và kế hoạch thực hiện cho dự án
1.5.1 Phương pháp:
1 - Nắm bắt được công nghệ thiết kế app di động, công cụ xây dựnG Android Studio
2 - Xây dựng, kết nối CSDL qua firebase
7
Trang 81 - Xây dựng các module quản lý.
2 - Thiết kế đặc tả hệ thống
1.5 2 Kết quả:
3 - Xây dựng ứng dụng di động có các chức năng của một ứng dụng mạng xã hội chia sẻ hình ảnh, bài viết cũng như tương tác giữa các người dùng
4 - Tìm hiểu nắm bắt được các kiến thức về Java, xây dựng UI, các công nghệ của lập trình di động Android
5 - Với quy mô ứng dụng nhỏ cộng thêm thời gian không cho phép nên đề tài
“Xây dựng ứng dụng mạng xã hội trên nền tảng Android ” có thể chưa có
đầy đủ các chức năng hoàn thiện của một ứng dụng di động Trong quá trình làm còn nhều sai sót, do kiến thức có hạn nên ứng dụng còn ít nhiều thiếu sót về việc hiển thị cũng như tối ưu thuật toán, thời gian thực hiện Trong tương lai nhóm sẽ những sai sót này cố gắng khắc phục
1.6 Nội dụng thực hiện
- Xây dựng đề cương
- Tìm hiểu các ứng dụng mạng xã hội đã có
- Kiểm tra, khắc phục lỗi trên website đã xây dựng
- Phân tích thiết kế hệ thống và cơ sở dữ liệu
- Tìm hiểu các công nghệ sử dụng cho android
- Thiết kế giao diện và chức năng
- Hoàn thiện, kiểm tra và sửa lỗi
- Thực hiện làm báo cáo Word và bản thuyết trình
8
Trang 9Chương 2 NGHIÊN CỨU VÀ THIẾT KẾ
2.1 Cơ sở dữ liệu hỗ trợ, ngôn ngữ và công cụ lập trình được
sử dụng:
2.1.1 Firebase Database:
1 - Firebase:
Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các API
đơn giản và mạnh mẽ mà không cần backend hay server
Gần một thập niên trước, Firebase ra đời với tiền thân là Envolve.Đây là một nền tảng đơn giản chuyên cung cấp những API cần thiết để tích hợp tính năng chat vào trang web Dù sao thì chúng ta cũng nên biết qua một chút lịch sử của thứ mà chúng ta đang học một chút chứ nhỉ? Trong ứng dụng này, Firebase dùng để xây dựng cơ sở dữ liệu
2 - Firebase Authentication:
Firebase Authentication là xây dựng các bước xác thực người dùng bằng Email,
Facebook, Github, Google Đồng thời cũng xác thực nặc danh cho các ứng dụng Hoạt động xác thực có thể giúp thông tin cá nhân của người sử dụng được an toàn và đảm bảo không bị đánh cắp tài khoản
1 2.1.2 Android Studio:
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
Java là ngôn ngữ chính thức để phát triển Android Đây là ngôn ngữ có sự hỗ trợ nhiều
nhất từ Google Nó cũng là ngôn ngữ mà hầu hết các ứng dụng trên Play Store được xây dựng Nó cũng là ngôn ngữ chính thức của Android Hệ điều hành Android của Google sử
dụng Java như là cơ sở cho tất cả các ứng dụng Android.
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 1
Trang 102.2 Phân tích thiết kế hệ thống:
2.2.1 Các actor và phân tích chức năng:
Người sử dụng (Users):
- Đăng nhập, đăng ký tài khoản
- Xem trang cá nhân của mình và người khác
- Chỉnh sửa thông tin cá nhân
- Đăng, chỉnh sửa, xóa bài viết của người dùng
- Xem bảng tin: các bài viết của mọi người
- Thích, bình luận
- Xem chi tiết bài viết
- Tìm kiếm: người dùng và các bài viết liên quan
- Nhắn tin cho bạn bè
Người quản trị(Admin):
- Quản lý bài viết
- Quản lý bình luận
- Quản lý Users và hệ thống
2.2.2 Sơ đồ phân tích thiết kế hệ thống:
Hình 2.2.2-1 Sơ đồ Use-case
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 2
Trang 112.3 Cơ sở dữ liệu:
2.3.1 Mô tả một số bảng chính của hệ thống:
Bảng User:
Tên Kiểu Mô tả
onlineStatus int Trạng thái tài khoản:
+ 0: online + 1: ofline timelast datetime Thời gian đăng xuất
Bảng 2-1 Cấu trúc bảng – Users 2.3.2 Cơ sở dữ liệu:
Hình 2.3.2-2 Cơ sở dữ liệu
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 3
Trang 122.3.3 Mô tả các chức năng chính
- Đăng nhập/ đăng ký:
+ Đăng ký: Người dùng sử dụng mạng xã hội Bàn luận bóng đá phải đăng kí tài khoản tại trang này
+ Đăng nhập: Khi có tài khoản thì người dùng có thể đăng nhập và sử dụng -Bảng tin: Hiện thị nội dung chính của ứng dụng bao gồm:
+ Tạo bài viết : Người dùng có thể tạo bài viết mình muốn tại đây
+ Bảng tin: Hiện thị các bài viết của người dùng và bạn bè Tại đây người dùng có thể like, bình luận các bài viết mình muốn
- Tìm kiếm:
+ Người dùng có thể tìm kiếm bạn bè hoặc các bài viết tại đây
- Tin nhắn: Người dùng có thể nhắn tin với bạn bè của mình
- Menu bao gồm:
+ Trang cá nhân: người dùng có thể bấm vào xem trang cá nhân của mình tại đây + Danh sách bạn bè : Xem danh sách bạn bè online và offline
+ Tin nhắn: Người dùng có thể gửi tin nhắn tại mục này
+ Đăng xuất : Người dùng có thể đăng xuất ứng dụng bằng cách nhấn nút này
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 4
Trang 13Chương 3 TRIỂN KHAI XÂY DỰNG
3.1 Mục tiêu và phân tích:
- Xây dựng ứng dụng android dựa trên firebase đã xây dựng cho người dùng
- Ứng dụng có nhiều chức năng đa dạng dễ sử dụng
- Ứng dụng trên android sẽ sử dụng restful api để thực hiện các tác vụ cũng như lấy thông tin từ cơ sở dữ liệu về
3.2 Giao diện ứng dụng trên Android
- Khi khởi động ứng dụng, màn hình chờ sẽ xuất hiện, nếu phiên đăng nhập của người dùng còn thời hạn sẽ được chuyển tới màn hình trang chủ Ngược lại nếu phiên đăng nhập hết hạn, người dùng sẽ được chuyển tới trang đăng nhập
Hình 3.2.1-3Giao diện ứng dụng: Màn hình chờ
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 5
Trang 141 3.2.2 Đăng nhập, đăng ký
- Tại giao diện đăng nhập, người dùng có thể đăng nhập vào ứng dụng nếu đã có tài khoản trên hệ thống, nếu chưa có tài khoản người dùng có thể nhấp vào nút Tạo tài khoản để tới màn hình đăng ký
- Tại giao diện đăng ký, người dùng có thể đăng ký tài khoản của mình bằng cách điền đầy đủ các thông tin và tiến hành tạo tài khoản mới cho mình Sau khi tạo thành công, người dùng được chuyển tới màn hình đăng nhập để đăng nhập
Hình 3.2.2-4 Giao diện ứng dụng đăng ký
Hình 3.2.2-5 Giao diện ứng dụng: Đăng nhập
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 6
Trang 153.2.3 Trang chủ
- Tại giao diện trang chủ, người dùng có thể:
Tạo bài viết của mình bằng cách nhấp vào (+) ở phía trên thanh navigation để chuyển tới màn hình tạo bài viết
Xem bài viết của mọi người: người dùng có thể like, bình luận bài viết mà mình mong muốn
Hình 3.2.3-6 Giao diện ứng dụng: Trang chủ 3.2.4 Trang cá nhân
- Trang cá nhân gồm có:
+ Ảnh bìa, ảnh đại diện người dùng
+ Thông tin người dùng
+ Thống kê bài viết, thích, bình luận của các bài viết của người dùng
+ Hiển thị bài viết của trang cá nhân đó
- Tại trang cá nhân của mình người dùng có thể:
+ Chỉnh sửa ảnh đại diện bằng cách nhấp vào ảnh đại diện và chọn ảnh
+ Chỉnh sửa thông tin cá nhân bằng cách nhấp vào nút “Chỉnh sửa thông tin”
Hình 3.2.4-7 Giao diện ứng dụng: Trang cá nhân
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 7
Trang 162 3.2.5 Tìm kiếm
- Tại màn hình tìm kiếm người dùng có thể tìm kiếm mọi người hoặc bài viết bằng cách nhập từ khóa vào form tìm kiếm và thực hiện tìm kiếm Kết quả trả về sẽ
là những người dùng hoặc bài viết liên quan đến từ khóa tìm kiếm
Hình 3.2.5-8 Giao diện ứng dung: Tìm kiếm
3 3.2.6 Chi tiết bài viết và chi tiết bình luận
- Tại màn hình chi tiết bài viết, người dùng có thể xem chi tiết bài viết và có thể viết bình luận cho bài viết đó
- Tại màn hình chi tiết bình luận: người dùng có thể xem các phản hồi và có thể viết phản hồi cho bình luận đó
Hình 3.2.6-9 Giao diên ứng dụng : Bài viết trên trang chủ
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 8
Trang 17Hình 3.2.6-10 Giao diện ứng dụng: Chi tiết bình luận
Hình 3.2.6-11 Giao diện ứng dụng: Chi tiết bài viết
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 9
Trang 184 3.2.7 Tạo bài viết
- Tại màn hình tạo bài viết người dùng có thể tạo bài viết của mình bằng cách điền nội dụng và chọn ảnh từ album điện thoại sau đó nhấn nút “ĐĂNG” để đăng bài viết
Hình 3.2.7-12 Giao diện ứng dụng: Tạo bài viết
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 10
Trang 19Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN
Mạng xã hội được xây dựng có các chức năng cơ bản như sau:
Đối với người dùng:
Đăng nhập, đăng ký
Đăng bài viết, chỉnh sửa bài viết
Thích, bình luận
Tìm kiếm người dùng, bài viết
Xem trang cá nhân của mình hoặc người khác
Cập nhập thông tin cá nhân
Nhắn tin với bạn bè
Vì là mạng xã hôi mới nên sẽ còn nhiều bất cập xảy ra, vì thế những đóng góp ý kiến được người dùng gửi về sẽ giúp dễ dàng hơn trong việc khắc phục những nhược điểm mà những người dùng trải nghiệm cho biết
Tìm hiểu, tiếp tục phát triển thêm các chức năng mới như:
o Báo cáo tài khoản người dùng và xử lý tài khoản bị báo cáo
o Báo cáo bài viết và xử lý các bài viết bị báo cáo
o Album ảnh
o Story (câu chuyện)
o Chia sẻ bài viết
o Thêm bạn bè
o Đăng video,…
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 11
Trang 20TÀI LIỆU THAM KHẢO
1 https://firebase.google.com/docs/7.x
2 https://developer.android.com/docs
3 https://www.instagram.com/
Đ án c s 3ồ án cơ sở 3 ơ sở 3 ở 3 Page 12