1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án cơ sở 3 xây dựng và phát triển mạng xã hội

27 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 27
Dung lượng 2,36 MB

Nội dung

1.2 Mục đích đề tài Mục đích của dự án này là phát triển một ứng dụng mạng xã hội đáp ứngnhu cầu của người dùng hiện đại.. Trong phần này, chúng ta sẽ tìm hiểu về cấu trúc và kiến trúc c

Trang 1

VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ

ĐỒ ÁN CƠ SỞ 3

XÂY DỰNG VÀ PHÁT TRIỂN MẠNG XÃ HỘI

Sinh viên thực hiện : ĐẶNG SỸ HOÀI NAM

Giảng viên hướng dẫn: TS.ĐẶNG QUANG HIỂN

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

& TRUYỀN THÔNG VIỆT HÀN

KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ

ĐỒ ÁN CƠ SỞ 3

XÂY DỰNG VÀ PHÁT TRIỂN MẠNG XÃ HỘI

Sinh viên : ĐẶNG SỸ HOÀI NAM

Mã sinh viên : 22IT.B140 Giảng viên hướng dẫn: TS ĐẶNG QUANG HIỂN

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

Trang 3

LỜI CẢM ƠN

Trước tiên chúng em xin bày tỏ lòng biết ơn vô cùng chân thành tới những thầy giáotrong Đại học công nghệ thông tin và truyền thông Việt Hàn đã nhiệt tình giúp đỡ, chia sẻ với

em nhiều tri thức, kinh nghiệm bổ ích xuyên suốt trong quá trình vừa qua

Đặc biệt em xin bày tỏ lời biết ơn đối với thầy giáo Đặng Quang Hiển đã nhiệt tình giảng dạy,tận tâm chỉ bảo và hỗ trợ sinh viên xuyên suốt thời gian triển khai ĐỒ ÁN CƠ SỞ 3 Trong khilàm việc, em không ngừng tiếp nhận được nhiều thông tin hữu ích mà còn học tập cả phongcách làm việc, phương pháp nghiên cứu khoa học tích cực, nghiêm túc, đây là các hành trang

vô cùng quý báu đối với em cho quá trình giảng dạy và công tác sau này

Tuy đã cố gắng hết mình mới có thể hoàn thiện bài đồ án cơ sở lần này Tuy nhiênchúng em chắc chắn cũng không thể nào thoát ra khỏi khiếm khuyết Kính mong tiếp tục cónhững hướng dẫn và hỗ trợ của quý thầy cô cùng các bạn để sản phẩm của tụi em ngày càngphát triển hoàn thiện hơn nữa

Một lần nữa, chúng em xin trân trọng cảm ơn!

Trang 4

NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN

Đà Nẵng, ngày tháng năm 2024

(Chữ kí giáo viên hướng dẫn)

Trang 5

MỤC LỤC HÌNH ẢNH

Hình 1.1 - Biểu đồ usercase 10

Hình 1.2 - Biểu đồ tuần tự 11

Hình 1.3 - Biểu đồ class digram 12

Hình 1.4 -Hình trang đăng nhập và đăng kí 14

Hình 1.5 - Hình hiển thị trang Home 15

Hình 1.6 - Hình hiển thị phần thêm vào danh sách yêu thích 16

Hình 1.7 - Hình trang hiển thị bình luận bài viết 16

Hình 1.8 - Trang tìm kiếm người dùng 17

Hình 1.9 - Trang đăng bài viết và Story 18

Hình 1.10 - Trang hiển thị thông báo 19

Hình 1.11 - Trang cá nhân hiển thị bài đăng và thông tin tài khoản 20

Hình 1.12 - Trang hiển thị Story của mình và bạn bè 21

Trang 6

MỤC LỤC

LỜI CẢM ƠN 1

NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN 2

MỤC LỤC HÌNH ẢNH 3

MỤC LỤC 4

CHƯƠNG 1: ĐẶT VẤN ĐỀ, ĐỊNH HƯỚNG VÀ GIẢI PHÁP 5

1.1 Giới thiệu đề tài 5

1.2 Mục đích đề tài 5

1.3 Nội dung đề tài 5

CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 6

2.1 Hệ điều hành Android 6

2.2 Ngôn ngữ lập trình Kotlin 8

2.3 Cơ sở dữ liệu Firebase Realtime Database 9

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10

3.1 Kế hoạch thực hiện dự án 10

3.2 Biểu đồ 11

CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG DỰ ÁN 14

4.1 Bottom Menu 14

4.2 Chức năng của các trang 15

CHƯƠNG 5: TỔNG KẾT ĐÁNH GIÁ 23

5.1 Tổng Kết 23

5.2 Đánh Giá 23

5.3 Kết Luận 23

TÀI LIỆU THAM KHẢO 24

Trang 7

CHƯƠNG 1: ĐẶT VẤN ĐỀ, ĐỊNH HƯỚNG VÀ GIẢI PHÁP

1.1 Giới thiệu đề tài

Trong thời đại kỹ thuật số ngày nay, mạng xã hội đã trở thành một phầnkhông thể thiếu của cuộc sống hàng ngày Sự phát triển của công nghệ di động vàInternet đã tạo ra một số lượng lớn các ứng dụng mạng xã hội, nhưng vẫn còn nhucầu cho các nền tảng mới và sáng tạo để đáp ứng nhu cầu ngày càng tăng của ngườidùng Trong ngữ cảnh này, đề tài này giới thiệu về ứng dụng mạng xã hội Story,một nền tảng chia sẻ ảnh và video mới mẻ và tiềm năng

1.2 Mục đích đề tài

Mục đích của dự án này là phát triển một ứng dụng mạng xã hội đáp ứngnhu cầu của người dùng hiện đại Story sẽ mang lại cho người dùng trải nghiệmchia sẻ ảnh và video dễ dàng và thú vị, đồng thời cung cấp cơ hội kiếm tiền và bảo

vệ quyền lợi của họ trên mạng xã hội

1.3 Nội dung đề tài

Phát triển ứng dụng Story: Sử dụng nền tảng Kotlin và Android Studio đểphát triển ứng dụng mạng xã hội Story trên hệ điều hành Android

Tính năng chia sẻ ảnh và video: Phát triển các tính năng cho phép ngườidùng tải lên và chia sẻ ảnh và video, cũng như tương tác với nội dung từ ngườidùng khác

Mong muốn kiếm tiền từ lượt view: Xây dựng cơ chế cho phép người dùngkiếm tiền từ lượt xem trên các bài đăng của họ, tạo cơ hội kiếm thu nhập từ việc sửdụng ứng dụng

Chính sách bảo vệ người dùng: Thiết lập các chính sách bảo vệ quyền lợicủa người dùng, bao gồm bảo mật thông tin cá nhân và ngăn chặn các hành vi viphạm

Trang 8

CHƯƠNG 2: CƠ SỞ LÍ THUYẾT

2.1 Hệ điều hành Android

Hệ điều hành Android là một trong những hệ điều hành di động phổ biến nhất trên thế giới Được phát triển bởi Google, Android cung cấp một nền tảng linh hoạt cho việc phát triển ứng dụng di động Trong phần này, chúng ta sẽ tìm hiểu về cấu trúc và kiến trúc của hệ điều hành Android, các thành phần chính của một ứng dụng Android, và quá trình phát triển và triển khai ứng dụng trên nền tảng này

* Lịch sử và phát triển của Android

- Android bắt đầu từ một công ty có tên là Android Inc., được thành lập vào tháng 10 năm 2003 Google đã mua lại công ty này vào năm 2005 và từ đó phát triển Android thành một hệ điều hành di động Phiên bản đầu tiên của Android, Android 1.0, được phát hành vào tháng 9 năm 2008 trên chiếc điện thoại HTC Dream Từ đó, Android đã trải qua nhiều phiên bản nâng cấp, mỗi phiên bản đềumang tên một món tráng miệng hoặc đồ ngọt, chẳng hạn như Cupcake, Donut, Eclair, và Oreo

* Kiến trúc của Android

- Android được xây dựng trên một kiến trúc phân lớp bao gồm:

+ Linux Kernel: Cung cấp các dịch vụ cơ bản như bảo mật, quản lý bộ nhớ, quản lý tiến trình, và điều khiển thiết bị Linux Kernel trong Android giúp đảm bảo tính ổn định và bảo mật của hệ điều hành

+ Libraries: Tập hợp các thư viện C/C++ bao gồm các thành phần như Surface Manager, OpenGL, Media Framework và SQLite Những thư viện này cung cấp

Trang 9

các tính năng cơ bản cho việc phát triển ứng dụng, như đồ họa, âm thanh, video,

và lưu trữ dữ liệu

+ Android Runtime: Bao gồm máy ảo Dalvik (trong các phiên bản trước) và ART (Android Runtime) trong các phiên bản hiện tại ART giúp cải thiện hiệu suất và quản lý bộ nhớ tốt hơn so với Dalvik

+ Application Framework: Cung cấp các API cao cấp cho các nhà phát triển ứng dụng Application Framework bao gồm các thành phần như Activity

Manager, Content Providers, Resource Manager, và Notification Manager, giúp quản lý các chức năng cơ bản của ứng dụng

+ Applications: Đây là lớp trên cùng, nơi các ứng dụng như danh bạ, email, trình duyệt và các ứng dụng khác được cài đặt Các ứng dụng này được viết bằng ngôn ngữ Java hoặc Kotlin và sử dụng các API từ Application Framework

* Các thành phần chính của ứng dụng Android

- Một ứng dụng Android bao gồm các thành phần chính sau:

+ Activity: Đại diện cho một màn hình giao diện người dùng Mỗi activity thường tương ứng với một màn hình trong ứng dụng và có vòng đời riêng, quản

lý các trạng thái như bắt đầu, dừng, tiếp tục, và kết thúc

+ Service: Xử lý các tác vụ chạy ngầm mà không cần giao diện người dùng Ví

dụ, service có thể được sử dụng để phát nhạc trong nền hoặc tải dữ liệu từ

internet

+ Broadcast Receiver: Xử lý các thông báo hệ thống hoặc sự kiện phát sóng, chẳng hạn như khi có tin nhắn mới hoặc khi kết nối mạng thay đổi Broadcast Receiver giúp ứng dụng có thể phản ứng với các sự kiện toàn hệ thống

+ Content Provider: Quản lý dữ liệu chia sẻ giữa các ứng dụng Content

Provider cho phép một ứng dụng có thể truy cập dữ liệu từ một ứng dụng khác,

ví dụ như danh bạ hoặc ảnh

Trang 10

* Quá trình phát triển và triển khai ứng dụng

- Quá trình phát triển một ứng dụng Android bao gồm các bước từ thiết kế, viết mã, kiểm thử cho đến triển khai Android Studio là môi trường phát triển tích hợp (IDE) chính thức được Google cung cấp để phát triển ứng dụng

Android Android Studio cung cấp các công cụ mạnh mẽ để thiết kế giao diện, viết mã, kiểm thử và gỡ lỗi ứng dụng

- Việc triển khai ứng dụng Android thường thông qua Google Play Store, nhưng cũng có thể thông qua các cửa hàng ứng dụng khác hoặc cài đặt trực tiếp qua file APK Quá trình triển khai yêu cầu nhà phát triển phải ký kết ứng dụng với một khóa bảo mật và tuân theo các quy định của cửa hàng ứng dụng

2.2 Ngôn ngữ lập trình Kotlin

Kotlin là một ngôn ngữ lập trình mới mẻ, được phát triển bởi JetBrains và công bố cho việc phát triển ứng dụng Android Kotlin được thiết kế để cung cấp một cú pháp gọn gàng, linh hoạt và an toàn hơn so với Java, ngôn ngữ chính thức trước đó cho phát triển Android

* Lịch sử và sự phát triển của Kotlin

- Kotlin được công bố lần đầu tiên vào năm 2011 bởi JetBrains, công ty nổi tiếng với các công cụ phát triển như IntelliJ IDEA Phiên bản chính thức 1.0 của Kotlin được phát hành vào năm 2016, và đến năm 2017, Google đã chính thức công nhận Kotlin là ngôn ngữ chính thức cho phát triển ứng dụng Android Sự công nhận này đã thúc đẩy sự phổ biến và áp dụng rộng rãi của Kotlin trong cộng đồng phát triển Android

Trang 11

* Tính năng nổi bật và lợi ích của Kotlin

- Kotlin mang lại nhiều tính năng nổi bật như:

+ Null Safety: Giảm thiểu các lỗi null pointer bằng cách loại bỏ khả năng gán null cho các biến không rõ ràng

+ Extension Functions: Cho phép mở rộng chức năng của các lớp mà không cần sửa đổi mã nguồn của chúng Điều này giúp tăng khả năng tái sử dụng và

mở rộng mã nguồn

+ Coroutines: Hỗ trợ lập trình bất đồng bộ dễ dàng hơn, giúp viết mã bất đồng

bộ trở nên rõ ràng và dễ hiểu hơn

* Lợi ích của việc sử dụng Kotlin

- Kotlin giúp tăng hiệu quả và chất lượng mã nguồn, giảm thiểu các lỗi thông thường trong Java, và tương thích hoàn toàn với mã Java hiện có Việc chuyển đổi từ Java sang Kotlin dễ dàng nhờ vào khả năng tương thích của Kotlin với các thư viện và công cụ hiện có của Java Kotlin cũng có một cộng đồng hỗ trợ lớn và tài liệu phong phú, giúp các nhà phát triển dễ dàng học hỏi và áp dụng

2.3 Cơ sở dữ liệu Firebase Realtime Database

Firebase Realtime Database là một dịch vụ cơ sở dữ liệu thời gian thực được cung cấp bởi Google Nó cho phép các nhà phát triển xây dựng ứng dụng di động và web mà không cần thiết kế và triển khai một cơ sở dữ liệu riêng

Firebase Realtime Database lưu trữ dữ liệu dưới dạng JSON và đồng bộ hóa dữ liệu đó giữa tất cả các client trong thời gian thực

* Giới thiệu về Firebase Realtime Database Firebase

- Realtime Database cung cấp một giải pháp mạnh mẽ cho việc quản lý và đồng bộ hóa dữ liệu trong thời gian thực Điều này có nghĩa là khi dữ liệu thay đổi, tất cả các client kết nối sẽ nhận được cập nhật ngay lập tức Firebase

Realtime Database cũng cung cấp các tính năng bảo mật mạnh mẽ và khả năng

mở rộng, giúp dễ dàng quản lý và bảo vệ dữ liệu của ứng dụng

Trang 12

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1 Kế hoạch thực hiện dự án

Trong kế hoạch thực hiện dự án, chúng tôi đã đề xuất một phần Bottom Menunhư là một phần quan trọng của giao diện người dùng trong ứng dụng Pun BottomMenu sẽ cung cấp các tính năng chính của ứng dụng và giúp người dùng dễ dàngtruy cập vào các chức năng cơ bản Dự kiến, Bottom Menu sẽ bao gồm các mụcsau: Home, Tìm kiếm, Upload, Notifications và Profile

Trong phần Bottom Menu, chúng tôi dự định rằng trang Home sẽ là trang chínhcủa ứng dụng, hiển thị danh sách các bài đăng từ tất cả người dùng theo thứ tự thờigian gần nhất Trang Tìm kiếm dự kiến sẽ cho phép người dùng tìm kiếm ngườidùng bằng tên hoặc ID Trang Upload dự kiến sẽ cho phép người dùng đăng bàiviết mới kèm theo video hoặc ảnh Trang Notifications dự kiến sẽ hiển thị cácthông báo mới như lượt thích, bình luận hoặc theo dõi mới trên các bài đăng củangười dùng Cuối cùng, trang Profile dự kiến sẽ hiển thị thông tin cá nhân củangười dùng và cho phép họ chỉnh sửa, lưu trữ bài đăng và quản lý danh sách yêuthích

Trong quá trình phát triển, chúng tôi sẽ tiến hành kiểm thử và đánh giá từng tínhnăng của Bottom Menu để đảm bảo tính ổn định và hiệu quả của chúng Các cuộckhảo sát và phản hồi từ người dùng thử nghiệm sẽ được thu thập để cải thiện giaodiện và trải nghiệm người dùng Chúng tôi cũng sẽ liên tục cập nhật và tối ưu hóacác thành phần của Bottom Menu dựa trên phản hồi và yêu cầu từ phía người dùng.Việc tích hợp Bottom Menu vào ứng dụng Pun được kỳ vọng sẽ tăng cường khảnăng tương tác và sự hài lòng của người dùng

Trang 13

3.2 Biểu đồ

* Biểu đồ Use-case: Biểu đồ này minh họa các tương tác giữa người dùng

và hệ thống, chỉ ra các chức năng và tính năng mà người dùng có thể truy cập trongứng dụng

Hình 1.1 - Biểu đồ usercase

Trang 14

* Biểu đồ Tuần tự: Biểu đồ này mô tả các luồng hoạt động cụ thể trong hệ

thống, từ khi người dùng tương tác với giao diện đến khi hệ thống xử lý các yêucầu và trả về kết quả tương ứng

Hình 1.2 - Biểu đồ tuần tự

Trang 15

* Biểu đồ Class Digram: cung cấp cái nhìn tổng quan về cách các lớp

tương tác với nhau trong hệ thống

Hình 1.3 - Biểu đồ class digram

Trang 16

CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG DỰ ÁN

4.1 Bottom Menu

Bottom Menu là một thành phần giao diện quan trọng trong ứng dụng Pun,cung cấp cho người dùng quyền truy cập nhanh chóng vào các tính năng chính củaứng dụng Bottom Menu bao gồm các mục sau:

Home: Trang chính hiển thị danh sách các bài đăng từ tất cả người dùng

theo thời gian gần nhất Người dùng có thể duyệt qua các bài đăng và tương tác vớichúng bằng cách thả biểu tượng yêu thích, bình luận hoặc chia sẻ

Tìm kiếm: Trang này cho phép người dùng tìm kiếm người dùng bằng tên

hoặc ID Kết quả tìm kiếm sẽ hiển thị danh sách các người dùng phù hợp với từkhóa tìm kiếm

Upload: Trang này cho phép người dùng đăng bài viết mới kèm theo video

hoặc ảnh Người dùng có thể tải lên nội dung từ thiết bị của họ và gắn kèm mô tả

và thẻ cho bài đăng của mình trước khi đăng tải lên hệ thống

Notifications: Trang này hiển thị các thông báo mới như lượt thích, bình

luận hoặc theo dõi mới trên các bài đăng của người dùng Người dùng có thể xemcác thông báo và tương tác với chúng, ví dụ như trả lời bình luận hoặc thăm lại bàiđăng có thông báo mới

Profile: Trang cá nhân hiển thị thông tin cá nhân của người dùng như tên,

ID, ảnh đại diện và tiểu sử Người dùng cũng có thể chỉnh sửa thông tin cá nhân vàquản lý bài đăng của họ và danh sách yêu thích

Trang 17

4.2 Chức năng của các trang

* SignUp/SignIn :.Cho phép đăng kí đăng nhập tài khoản bằng cơ sở dữ liệu

firebase , và sử dụng gmai/password để bảo mật

Hình 1.4 -Hình trang đăng nhập và đăng kí

Trang 18

* Home: Trang chính của ứng dụng, hiển thị danh sách các bài đăng từ tất cả

người dùng theo thứ tự thời gian gần nhất Người dùng có thể thực hiện các hoạtđộng như thả biểu tượng yêu thích, bình luận, chia sẻ và lưu bài đăng

Hình 1.5 - Hình hiển thị trang Home

Trang 19

*Thêm vào danh sách yêu thích: cho phép lưu trữ bài viết của mình và bạn bè

vào danh sách yêu thích trong trang cá nhân

Hình 1.6 - Hình hiển thị phần thêm vào danh sách yêu thích

* Bình luận bài viết: cho phép người dùng bình luận lên bài viết của mình và

người khác

Trang 20

Hình 1.7 - Hình trang hiển thị bình luận bài viết

* Tìm kiếm: Trang này cho phép người dùng tìm kiếm người dùng bằng tên hoặc

ID Kết quả tìm kiếm sẽ hiển thị danh sách các người dùng phù hợp với từ khóa tìmkiếm Người dùng có thể xem thông tin cá nhân của họ và tương tác với họ, chẳnghạn như theo dõi hoặc nhắn tin

Hình 1.8 - Trang tìm kiếm người dùng

Trang 21

* Upload: Trang này cho phép người dùng đăng bài viết mới kèm theo video hoặc

ảnh Người dùng có thể chọn từ thiết bị của họ và gắn kèm mô tả và thẻ cho bàiđăng của mình trước khi đăng tải lên hệ thống

Hình 1.9 - Trang đăng bài viết và Story

Ngày đăng: 03/12/2024, 21:13

w