BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG CHỦ ĐỀ 04: ỨNG DỤNG HỆ THỐNG ĐỀ TÀI 66
TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu công cụ phát triển
Đề tài xây dựng ứng dụng mạng xã hội là một lĩnh vực hấp dẫn trong phát triển ứng dụng di động Để đảm bảo hệ thống hoạt động hiệu quả, nhóm 01 đã sử dụng các công cụ phát triển hiện đại nhằm tối ưu hóa quá trình xây dựng và vận hành ứng dụng Việc lựa chọn các công cụ phù hợp giúp nâng cao trải nghiệm người dùng, đảm bảo tính bảo mật, mở rộng dễ dàng và đồng bộ dữ liệu hiệu quả Đây là các yếu tố quan trọng để phát triển một mạng xã hội đáp ứng nhu cầu ngày càng cao của người dùng trong thời đại công nghệ số.
Android Studio là Môi trường Phát triển Tích hợp (IDE) chính thức của Google dành cho phát triển ứng dụng Android, ra mắt lần đầu vào năm 2013 Được xem là công cụ không thể thiếu cho lập trình viên Android, Android Studio hỗ trợ xây dựng, kiểm thử và triển khai các ứng dụng trong hệ sinh thái Android một cách hiệu quả.
Các thành phần chính của Android Studio bao gồm:
• IDE: Giao diện trực quan với các công cụ lập trình tích hợp
• Gradle: Hệ thống xây dựng (build system) mạnh mẽ, quản lý quá trình biên dịch và gói ứng dụng
• Android Emulator: Trình giả lập giúp lập trình viên kiểm thử ứng dụng ngay trên máy tính mà không cần thiết bị vật lý
• Trình quản lý SDK: Hỗ trợ quản lý phiên bản của SDK (Software Development
Kit), giúp tối ưu hóa ứng dụng cho các phiên bản hệ điều hành Android khác nhau
• Logcat: Công cụ theo dõi log (nhật ký) hệ thống, giúp phát hiện và sửa lỗi trong quá trình phát triển.
• Giao diện người dùng thân thiện:
Android Studio cung cấp các công cụ kéo thả và tùy chỉnh dễ dàng để thiết kế giao diện người dùng (UI)
Trình biên dịch Gradle là công cụ tự động hóa và quản lý quy trình xây dựng dự án hiệu quả Nó giúp phân phối ứng dụng nhanh chóng và linh hoạt, hỗ trợ nhiều cấu hình khác nhau để phù hợp với nhu cầu phát triển phần mềm.
Android Studio tích hợp trình giả lập Android giúp lập trình viên dễ dàng kiểm thử ứng dụng trực tiếp trên máy tính mà không cần sử dụng thiết bị thật Trình giả lập này đảm bảo quá trình phát triển ứng dụng nhanh chóng, tiện lợi và tiết kiệm chi phí Việc sử dụng trình giả lập Android trong Android Studio là giải pháp tối ưu để kiểm tra tính năng và hiệu suất của ứng dụng trước khi phát hành.
• Trình gỡ lỗi (Debugger): Hỗ trợ tìm và sửa lỗi, giúp quá trình phát triển ứng dụng trở nên hiệu quả hơn
• Hỗ trợ đa dạng thiết bị: Android
Studio hỗ trợ lập trình viên tối ưu hóa ứng dụng Android cho nhiều thiết bị khác nhau như điện thoại, máy tính bảng, TV và đồng hồ thông minh, đảm bảo trải nghiệm người dùng mượt mà trên mọi nền tảng.
Trình chỉnh sửa mã (Code Editor) là công cụ hỗ trợ lập trình chính cho nền tảng Android, đặc biệt với các ngôn ngữ phổ biến như Java và Kotlin Nó cung cấp các tính năng nổi bật như kiểm tra lỗi cú pháp giúp lập trình viên phát hiện và sửa lỗi chính xác Ngoài ra, trình chỉnh sửa còn tự động gợi ý mã lệnh thông minh, tăng tốc quá trình viết mã và nâng cao hiệu suất lập trình.
Ngoài những đặc trưng trên, Android Studio còn có những ưu điểm và nhược điểm của ứng dụng như: Ưu điểm Nhược điểm
• Tích hợp hoàn chỉnh: Cung cấp đầy đủ các công cụ cần thiết để phát triển ứng dụng Android
• Cập nhật thường xuyên: Được Google duy trì và cập nhật với những tính năng mới nhất của hệ điều hành Android
• Hỗ trợ đa nền tảng: Không chỉ phát triển ứng dụng cho điện thoại, mà còn hỗ trợ cả các thiết bị khác chạy hệ điều hành
• Yêu cầu tài nguyên máy tính cao: Do
Android Studio là một IDE mạnh mẽ, nên nó có thể đòi hỏi một cấu hình máy tính mạnh để chạy mượt mà
Đường cong học tập của Android Studio có thể khá dốc đối với lập trình viên mới bắt đầu, vì phần mềm này đi kèm với nhiều tính năng và công cụ phức tạp, khiến người dùng cần thời gian để làm quen và thích nghi.
Java là một ngôn ngữ lập trình hướng đối tượng phổ biến, được phát triển bởi
Vào giữa những năm 1990, Sun Microsystems (nay là Oracle Corporation) giới thiệu Java, một ngôn ngữ lập trình nổi bật với tính di động, hiệu suất cao và độ ổn định vượt trội Nhờ những đặc điểm này, Java nhanh chóng trở thành một trong những công nghệ phổ biến trong lĩnh vực phát triển phần mềm Các đặc điểm của Java giúp các ứng dụng chạy mượt mà trên nhiều nền tảng khác nhau, mang đến sự linh hoạt và tiện lợi cho nhà phát triển và người dùng.
8 nó trở thành một lựa chọn phổ biến cho nhiều ứng dụng từ phát triển phần mềm đến ứng dụng di động
Các đặc điểm chính của Java
• Tính di động (Write Once, Run Anywhere - WORA)
• Đơn giản và dễ học
• Đa luồng (Multithreading) Ứng dụng của Java:
Trong phát triển ứng dụng di động Android, Java vẫn là một trong những ngôn ngữ chính được sử dụng Mặc dù Kotlin ngày càng trở nên phổ biến và được ưa chuộng hơn, nhiều ứng dụng Android vẫn được xây dựng và viết bằng Java, chứng tỏ vai trò quan trọng của ngôn ngữ này trong ngành lập trình di động.
Java is widely used in web application development through technologies like JavaServer Pages (JSP), Servlets, and frameworks such as Spring and JavaServer Faces (JSF), enabling the creation of dynamic and robust web solutions.
Hệ thống doanh nghiệp Enterprise Applications: Java Enterprise Edition (Java
EE cung cấp các công nghệ tiên tiến để phát triển các ứng dụng doanh nghiệp quy mô lớn, bao gồm hệ thống quản lý cơ sở dữ liệu tối ưu, dịch vụ web hiệu quả và giải pháp ứng dụng phân tán linh hoạt Những công nghệ này giúp doanh nghiệp tối ưu hóa hoạt động, nâng cao hiệu suất và mở rộng quy mô dễ dàng hơn trong môi trường cạnh tranh ngày càng khốc liệt.
Phát triển phần mềm máy chủ (Server-side Applications) bằng Java là lựa chọn phổ biến nhờ vào tính ổn định và hiệu suất cao Java thường được sử dụng để xây dựng các phần mềm máy chủ và dịch vụ, giúp đảm bảo khả năng vận hành liên tục và xử lý yêu cầu người dùng một cách hiệu quả Với khả năng mở rộng và khả năng tương thích cao, Java là ngôn ngữ lý tưởng cho phát triển ứng dụng phía máy chủ, đáp ứng các yêu cầu khắt khe của hệ thống doanh nghiệp.
Java là một ngôn ngữ phổ biến trong phát triển game, đặc biệt là các trò chơi di động và ứng dụng trực tuyến Ngôn ngữ này có nhiều ưu điểm như khả năng chạy đa nền tảng, dễ học và mở rộng, giúp các nhà phát triển nhanh chóng xây dựng và duy trì các trò chơi chất lượng cao Tuy nhiên, Java cũng có nhược điểm, như hiệu suất xử lý không nhanh bằng các ngôn ngữ khác như C++, điều này có thể ảnh hưởng đến trải nghiệm người dùng trong các game cần xử lý đồ họa phức tạp.
• Tính di động cao: Ứng dụng Java có thể chạy trên nhiều hệ điều hành khác nhau nhờ vào JVM
• Hướng đối tượng: Giúp tổ chức mã nguồn tốt hơn và dễ bảo trì
• Bảo mật: Cung cấp nhiều tính năng bảo mật tích hợp
• Cộng đồng lớn và tài liệu phong phú: Java có một cộng đồng lớn và nhiều tài liệu hỗ trợ
Mặc dù Java đã cải thiện hiệu suất đáng kể theo thời gian, nhưng vẫn có thể chậm hơn so với các ngôn ngữ lập trình biên dịch trực tiếp như C++.
• Tiêu thụ bộ nhớ: Ứng dụng Java có thể tiêu tốn nhiều bộ nhớ hơn so với các ngôn ngữ khác do overhead của JVM
Firebase là một nền tảng phát triển ứng dụng di động và web được cung cấp bởi
Google cung cấp một bộ công cụ toàn diện cho các nhà phát triển, giúp xây dựng, cải thiện và phát triển ứng dụng một cách nhanh chóng và hiệu quả Các tài nguyên của Google hỗ trợ tối ưu quá trình phát triển, nâng cao hiệu suất và thúc đẩy sự sáng tạo trong việc tạo ra các ứng dụng chất lượng cao Nhờ các công cụ của Google, nhà phát triển có thể tiết kiệm thời gian, nâng cao năng suất và đáp ứng nhanh chóng các yêu cầu thị trường Đây là nền tảng hỗ trợ đắc lực để các doanh nghiệp và cá nhân tối ưu hóa quy trình phát triển ứng dụng và đạt được thành công trong môi trường cạnh tranh ngày càng khốc liệt.
Firebase là một nền tảng hỗ trợ phát triển ứng dụng toàn diện, bao gồm các công cụ dành cho:
• Phát triển ứng dụng: Cơ sở dữ liệu thời gian thực, lưu trữ đám mây, xác thực người dùng, chức năng serverless (Firebase Functions), v.v
• Kiểm thử và phân tích: Công cụ theo dõi hiệu suất, phân tích hành vi người dùng với Google Analytics
• Phát hành và mở rộng: Triển khai ứng dụng, quản lý A/B testing, thông báo đẩy (Firebase Cloud Messaging), và nhiều tính năng khác
Mô tả các thư viện sử dụng
Thư viện Glide trong Android Studio là một thư viện mã nguồn mở giúp tải và hiển thị hình ảnh trong ứng dụng Android một cách dễ dàng và hiệu quả Được phát triển bởi Bumptech, Glide được sử dụng rộng rãi nhờ tính năng mạnh mẽ, đơn giản và khả năng tối ưu hóa tài nguyên Đây là công cụ không thể thiếu để xử lý hình ảnh trong phát triển ứng dụng Android, giúp tối ưu hóa hiệu suất và trải nghiệm người dùng.
Các chức năng chính của thư viện:
Tải và hiển thị hình ảnh từ nhiều nguồn
Glide hỗ trợ tải ảnh từ các nguồn như URL, drawable, nội bộ thiết bị và thậm chí là video hoặc GIF
Quản lý bộ nhớ và tối ưu hóa hiệu suất
Glide tự động xử lý bộ nhớ đệm, giúp giảm thiểu việc sử dụng RAM và tránh các lỗi liên quan đến quản lý bộ nhớ
Hỗ trợ hình động (GIF) Glide có khả năng hiển thị các hình ảnh động như GIF mà không cần cấu hình phức tạp
Bạn có thể dễ dàng tùy chỉnh tải ảnh bằng cách thực hiện các thao tác như cắt xén, làm mờ hoặc tạo các hiệu ứng đặc biệt trên ảnh trước khi hiển thị Việc chỉnh sửa ảnh trước khi tải giúp nâng cao chất lượng hình ảnh và tạo ấn tượng tốt hơn cho người xem Các công cụ tùy chỉnh tải ảnh mang lại sự linh hoạt, thuận tiện cho quá trình sáng tạo nội dung của bạn.
Tích hợp dễ dàng Glide dễ dàng tích hợp với các thành phần của Android như
1.2.2 Thư viện Android Image Cropper
Thư viện Android Image Cropper là công cụ hữu ích giúp các nhà phát triển dễ dàng tích hợp chức năng cắt ảnh vào ứng dụng Android của mình Đây là giải pháp tối ưu để chỉnh sửa hình ảnh nhanh chóng và chính xác, nâng cao trải nghiệm người dùng Với các tính năng nổi bật như khả năng cắt ảnh linh hoạt, giao diện thân thiện và dễ sử dụng, thư viện này ngày càng được ưa chuộng trong cộng đồng phát triển ứng dụng Android Tận dụng thư viện Image Cropper sẽ giúp tiết kiệm thời gian và công sức trong quá trình phát triển ứng dụng, đồng thời nâng cao chất lượng trải nghiệm hình ảnh cho người dùng.
Hình 1.2.2 Thư viện Android Image Cropper
Chức năng chính Các tính năng nổi bật
• Crop ảnh: Thư viện cung cấp các công cụ để người dùng có thể cắt ảnh theo tỉ lệ tùy chỉnh hoặc các tỉ lệ đã được định trước (1:1, 16:9, v.v.)
Thư viện tích hợp dễ sử dụng trong dự án Android nhờ các phương thức API thân thiện, giúp nhà phát triển nhanh chóng thêm chức năng cắt ảnh mà không cần viết nhiều mã.
• Hỗ trợ nhiều định dạng ảnh: Thư viện có khả năng cắt các định dạng ảnh phổ biến như JPEG, PNG, WebP, v.v
• Tùy chỉnh giao diện: Bạn có thể tùy chỉnh giao diện của công cụ crop để phù hợp với phong cách của ứng dụng
• Cắt ảnh hình tròn hoặc hình chữ nhật:
Thư viện hỗ trợ cắt ảnh theo hình dạng bất kỳ, bao gồm cả hình tròn hoặc hình chữ nhật
• Xử lý ảnh nhanh chóng: Quá trình cắt ảnh được thực hiện mượt mà và nhanh
14 chóng, giúp người dùng có trải nghiệm tốt hơn
Picasso là thư viện mã nguồn mở của Square (Squareup) được thiết kế để tải, xử lý và hiển thị hình ảnh trên các ứng dụng Android một cách dễ dàng và hiệu quả Với khả năng đơn giản hóa việc tải hình ảnh từ Internet hoặc tài nguyên cục bộ, Picasso còn cung cấp các tính năng mạnh mẽ như lưu bộ nhớ đệm (caching), chuyển đổi hình ảnh, và quản lý tải ảnh bất đồng bộ, giúp tối ưu hóa hiệu suất và trải nghiệm người dùng trong ứng dụng của bạn.
Tính năng chính của Picasso
• Tải hình ảnh từ URL: Picasso có thể tải hình ảnh từ một URL, sau đó hiển thị nó vào một ImageView
Quản lý bộ nhớ đệm (Caching) là quá trình lưu trữ hình ảnh trong bộ nhớ RAM và bộ nhớ ổ đĩa nhằm tăng tốc độ hiển thị cho các lần tải lại sau Việc này giúp giảm thời gian chờ đợi của người dùng và cải thiện hiệu suất trang web, đặc biệt khi xử lý các hình ảnh lớn hoặc truy cập nhiều lần Chính sách quản lý bộ nhớ đệm tối ưu đảm bảo hình ảnh được cập nhật chính xác mà không ảnh hưởng đến tốc độ tải trang.
• Tải ảnh bất đồng bộ: Picasso thực hiện việc tải ảnh trên các luồng nền, giúp không ảnh hưởng đến hiệu suất của giao diện người dùng chính
Picasso cung cấp chức năng xử lý lỗi hiệu quả khi tải hình ảnh, đảm bảo trải nghiệm người dùng mượt mà hơn Khi gặp các sự cố như hình ảnh không tồn tại hoặc mạng không ổn định, thư viện tự động xử lý và hiển thị hình ảnh thay thế phù hợp Điều này giúp đảm bảo giao diện người dùng luôn đẹp mắt và chuyên nghiệp, kể cả khi gặp sự cố về tải hình ảnh.
Chuyển đổi và thay đổi kích thước hình ảnh là các bước quan trọng giúp chỉnh sửa dễ dàng, bao gồm khả năng thay đổi kích thước, cắt, và áp dụng bộ lọc để nâng cao chất lượng hình ảnh trước khi hiển thị.
Bạn có thể dễ dàng tải hình ảnh từ các thư mục cục bộ của ứng dụng như drawable hoặc assets bằng cách sử dụng Picasso, một thư viện mạnh mẽ hỗ trợ tải ảnh hiệu quả Điểm mạnh của Picasso là khả năng xử lý tải ảnh nhanh chóng, tối ưu hóa bộ nhớ và giảm thiểu các lỗi phát sinh trong quá trình hiển thị hình ảnh Với khả năng này, việc tích hợp và quản lý hình ảnh trong ứng dụng của bạn trở nên dễ dàng hơn, giúp nâng cao trải nghiệm người dùng một cách chuyên nghiệp và tối ưu.
• Dễ sử dụng: Với API đơn giản và trực quan, Picasso giúp việc tải và hiển thị hình ảnh trở nên rất dễ dàng
• Bộ nhớ đệm mạnh mẽ: Bộ nhớ đệm của Picasso giúp giảm việc tải ảnh lại từ mạng và cải thiện hiệu suất ứng dụng
• Tính năng phong phú: Picasso cung cấp nhiều tính năng tiện ích như thay đổi kích thước, cắt ảnh, tải ảnh bất đồng bộ, và xử lý lỗi
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Mô tả bài toán
2.1.1 Mục đích và yêu cầu của đề tài
Xây dựng một ứng dụng mạng xã hội cho phép người dùng dùng để giao lưu, đăng bài và chia sẻ thông tin đến những người xung quanh
• Cho phép người dùng đăng kí, đăng nhập vào ứng dụng mạng xã hội
• Cho phép người dùng đăng bài viết, đăng hình ảnh
• Cho phép người dùng có thể kết bạn, nhắn tin, bình luận và thả cảm xúc các bài viết mà người dùng quan tâm
• Hiển thị thông báo thông tin chi tiết các bài viết, hình ảnh mới nhất và nổi bật nhất
2.1.2 Mô tả đối tượng sử dụng ứng dụng mạng xã hội
Những nhóm người dùng chính sử dụng ứng dụng mạng xã hội:
Nhóm người kết nối và giao tiếp Bao gồm những người muốn kết nối và tương tác với bạn bè, gia đình và người quen
Sử dụng ứng dụng để chia sẻ thông tin cá nhân, hình ảnh, video và suy nghĩ, cũng như để tương tác qua bình luận và tin nhắn
Nhóm người quan tâm đến nội dung giải trí
Người muốn tiêu thụ nội dung giải trí như video hài, hình ảnh vui nhộn, bài viết thú vị và trò chơi trực tuyến
Sử dụng ứng dụng để truy cập vào các nội dung giải trí, tương tác với nội dung và chia sẻ nó với bạn bè
Nhóm người kinh doanh và quảng cáo Bao gồm các doanh nghiệp và cá nhân muốn quảng cáo sản phẩm, dịch vụ hoặc thương hiệu của họ
Sử dụng ứng dụng để tạo và quản lý các trang cá nhân hoặc doanh nghiệp, đăng tin quảng cáo và tương tác với khách hàng
Nhóm người quan tâm đến sự kiện và hoạt động xã hội
Bao gồm những người muốn theo dõi và tham gia vào các sự kiện, hoạt động xã hội và nhóm quan tâm
Sử dụng ứng dụng để tìm kiếm thông tin về sự kiện, tham gia vào các nhóm quan tâm và tạo ra hoạt động xã hội
Nhóm người muốn tìm kiếm thông tin và kiến thức
Bao gồm những người muốn theo dõi và tham gia vào các sự kiện, hoạt động xã hội và nhóm quan tâm
Sử dụng ứng dụng để tìm kiếm thông tin về sự kiện, tham gia vào các nhóm quan tâm và tạo ra hoạt động xã hội
Nhóm người muốn tạo và chia sẻ nội dung sáng tạo
Bao gồm những người muốn tạo ra và chia sẻ nội dung sáng tạo như ảnh, video, blog,…
Sử dụng ứng dụng để chia sẻ tác phẩm của họ và tương tác với cộng đồng người hâm mộ
2.2 Mô tả sơ đồ chức năng của hệ thống
2.2.1 Chức năng Đăng ký/Đăng nhập
2.2.2 Chức năng Cập nhật tài khoản
2.2.3 Chức năng Đăng tải bài viết
2.3 Mô tả sơ đồ hoạt động của hệ thống
Hình 2.1.3 Sơ đồ mô tả hoạt động hệ thống
2.4 Mô tả các thuộc tính chính
Tên bảng Attributes Kiểu dữ liệu Ý nghĩa
Each comment is uniquely identified by a comment ID, and contains the comment content and associated metadata The system tracks the number of likes and relikes for each comment, with identifiers for each Comments are linked to specific posts through a parent ID and are associated with the user who authored them via a user ID Additionally, the comment system records the post being discussed through a post ID, and may include an image link related to the comment All comments have a creation date to timestamp when they were made This structure ensures efficient management and retrieval of comment data for social media or blog platforms.
21 is_deleted Boolean Dùng để định danh trạng thái đã xóa bình luận modified_date Long Dùng để định danh thời gian sửa bình luận lần cuối
Tên bảng Attributes Kiểu dữ liệu Ý nghĩa
Flair id String Dùng để định danh ID thể loại chủ để của bài viết
Name String Dùng để định danh tên thể loại chủ đề của bài viết
Tên bảng Attributes Kiểu dữ liệu Ý nghĩa
The message ID uniquely identifies each message, while the sender ID and receiver ID specify the sender and recipient respectively The content field contains the actual message text, and the created_date timestamp records when the message was sent Message status indicators include is_deleted_by_me and is_deleted_by_other, showing if the message has been deleted by the sender or recipient Additionally, the is_seen boolean indicates whether the recipient has read the message These features facilitate efficient message management and ensure clear communication tracking.
Tên bảng Attributes Kiểu dữ liệu Ý nghĩa
Notification postId String Dùng để định danh ID bài viết đến thông báo
Dữ liệu thông báo bao gồm các trường như userLikeId để định danh ID người thích bài viết, giúp xác định người dùng tương tác Trường userPostId dùng để xác định ID người đã đăng bài viết, mang ý nghĩa quan trọng trong quản lý nội dung Hình ảnh đại diện của người đăng bài được lưu trữ qua trường imgAvatar, giúp hiển thị dễ dàng trên giao diện người dùng Nội dung thông báo được thể hiện qua trường content, truyền tải thông tin chính xác và hấp dẫn Trạng thái hoạt động của bài viết được kiểm tra qua is_active, đảm bảo chỉ hiển thị nội dung còn hoạt động Trạng thái đã xem của thông báo được xác định qua is_seen, giúp người dùng nhận biết các thông báo chưa đọc Cuối cùng, trường is_click phản ánh liệu thông báo đã được người dùng nhấp vào hay chưa, nâng cao trải nghiệm tương tác.
TT Tên bảng Attributes Kiểu dữ liệu Ý nghĩa
This article explains the key components of a post, including the unique Post ID used for identification The title and content fields store the main headings and body of the article, ensuring clear and organized presentation User engagement is tracked through the 'user_likes' and 'list_user_save' fields, which identify users who have liked or saved the post, respectively The 'anonymous' boolean indicates whether the post is published anonymously, safeguarding user privacy Additionally, 'postImg' manages the associated images to enhance visual appeal The 'user_id' links the post to its creator, while 'flair_id' associates the post with relevant topics or tags, optimizing content categorization for better SEO and discoverability.
23 created_date Long Dùng để định danh thời gian đã đăng bài viết is_deleted Boolean Dùng để định danh thời gian đã xóa bài viết
Cấu trúc chương trình Mô tả chi tiết
Thư mục app chứa các folder như sau:
• Mainfests: Chứa các file AndroidMainfest.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:
• Adapter: gồm các file cập nhật dữ liệu từ Firebase lên listview tương ứng
• Dbconect: Class liên kết giữa Realtime Database của Firebase với dự án trên Android Studio
• Fragment: Chứa các fragment như HomeFragment, MenuFragment,…
• Models: Gồm các đối tượng tương ứng của bài toán
• Services: Lớp xử lý lưu trữ ảnh tới Firebase Storage
• Ultils: Chứa lớp cập nhật thời gian thực
Thư mục res chứa các Folder giao diện, hình ảnh của ứng dụng
• Drawable: Chứa hình ảnh của ứng dụng
• Anim: Chứa các fonts chữ của ứng dụng
• Layout, menu: Chứa các giao diện chính dùng để hiển thị giao diện của ứng dụng
XÂY DỰNG HỆ THỐNG
Mô tả giao diện
3.1.1 Giao diện Đăng ký/Đăng nhập
➢ Dùng để đăng kí/đăng nhập tài khoản vào ứng dụng mạng xã hội
3.1.2 Giao diện cập nhật thông tin
➢ Chỉnh sửa và cập nhật các thông tin cơ bản như thay đổi ảnh đại diện, họ tên, địa chỉ, số điện thoại và ngày sinh
3.1.3 Giao diện thay đổi mật khẩu
➢ Dùng để thay đổi mật khẩu hiện tại bằng một mật khẩu mới
3.1.4 Giao diện chính của ứng dụng mạng xã hội
➢ Giao diện hiển thị đầu tiên khi truy cập vào mạng xã hội
➢ Là nơi hiển thị các bài viết với nhiều nội dung đa dạng do các tài khoản cá nhân khác đăng lên
➢ Có thể tương tác bằng cách thả cảm xúc, bình luận hay lưu trữ bài viết
3.1.5 Giao diện nhắn tin của ứng dụng mạng xã hội
➢ Dùng nhắn tin, giao lưu với những bạn bè xung quanh trên mạng xã hội
3.1.6 Giao diện đăng tải bài viết của ứng dụng mạng xã hội
➢ Dùng để đăng các bài viết với những nội dung tùy ý, đa dạng
3.1.7 Giao diện thông báo của ứng dụng mạng xã hội
➢ Dùng để thông báo về hoạt động của các bài viết của mình đăng như có người thả cảm xúc hay bình luận vào bài viết của mình
3.1.8 Giao diện Menu của ứng dụng mạng xã hội
➢ Dùng để chỉnh sửa và cập nhật thông tin tài khoản
➢ Dùng để hiển thị các bài viết đã lưu trữ
➢ Dùng để thay đổi mật khẩu
➢ Dùng để đăng xuất tài khoản
3.1.9 Giao diện trang cá nhân tài khoản
➢ Hiển thị ảnh bìa và ảnh avatar của tài khoản cá nhân
➢ Hiển thị tất cả các bài viết mà mình đã từng đăng
3.1 Các nội dung đã đạt được
Sau một thời gian nhóm thực hiện, đồ án đã được một số kết quả chính như sau:
• Xây dựng giao diện ứng dụng mạng xã hội một cách trực quan, thân thiện và dễ dàng sử dụng đối với người dùng
• Xây dựng được các chức năng đăng kí, đăng nhập, đăng xuất, chỉnh sửa thông tin cá nhân cho người dùng
3.2 Nội dung chưa đạt được
• Cần tiếp tục cải thiện trong việc quản lý thông tin cá nhân và bảo mật dữ liệu
• Chưa đủ nắm bắt được hết xu hướng công nghệ mạng xã hội hiện nay
• Việc truy cập ứng dụng mạng xã hội có thể khó khăn do đường truyền kết nối mạng không ổn định
Chúng tôi không ngừng cải tiến và nâng cấp giao diện để mang đến trải nghiệm người dùng tốt hơn Đồng thời, cập nhật các thông tin xu hướng mới nhất nhằm giữ cho ứng dụng mạng xã hội luôn hấp dẫn và phù hợp với thị hiếu hiện tại Nhờ đó, nền tảng ngày càng thu hút nhiều người dùng hơn, góp phần mở rộng cộng đồng và nâng cao sự tương tác trên nền tảng.
• Mở rộng tính năng của ứng dụng như thực hiện cuộc gọi thông thường hoặc cuộc gọi video
• Thêm các chức năng cho như đăng story 24h trên tường nhà cá nhân hay đăng các đoạn video ngắn về những chủ đề mà mình tự sáng tạo,…
• Tích hợp một vài game giải trí vào ứng dụng mạng xã hội để giúp tăng sự lựa chọn giải trí cho người dùng
Chức năng đánh giá và phản hồi cho người dùng được bổ sung nhằm nâng cao trải nghiệm người dùng, giúp phát hiện và khắc phục nhanh chóng các lỗi hệ thống khi chúng xảy ra đột xuất trong quá trình sử dụng ứng dụng mạng xã hội Việc này đảm bảo ứng dụng hoạt động ổn định, liên tục và đáp ứng tốt hơn mong đợi của người dùng.
Các nội dung đã đạt được
Sau một thời gian nhóm thực hiện, đồ án đã được một số kết quả chính như sau:
• Xây dựng giao diện ứng dụng mạng xã hội một cách trực quan, thân thiện và dễ dàng sử dụng đối với người dùng
• Xây dựng được các chức năng đăng kí, đăng nhập, đăng xuất, chỉnh sửa thông tin cá nhân cho người dùng.
Nội dung chưa đạt được
• Cần tiếp tục cải thiện trong việc quản lý thông tin cá nhân và bảo mật dữ liệu
• Chưa đủ nắm bắt được hết xu hướng công nghệ mạng xã hội hiện nay
• Việc truy cập ứng dụng mạng xã hội có thể khó khăn do đường truyền kết nối mạng không ổn định.
Dự kiến phát triển
Chúng tôi liên tục cải tiến và nâng cấp giao diện người dùng để mang đến trải nghiệm mới mẻ và thân thiện hơn Đồng thời, cập nhật các thông tin xu hướng hiện nay giúp ứng dụng mạng xã hội luôn mới mẻ và hấp dẫn, từ đó thu hút ngày càng nhiều người dùng mới.
• Mở rộng tính năng của ứng dụng như thực hiện cuộc gọi thông thường hoặc cuộc gọi video
• Thêm các chức năng cho như đăng story 24h trên tường nhà cá nhân hay đăng các đoạn video ngắn về những chủ đề mà mình tự sáng tạo,…
• Tích hợp một vài game giải trí vào ứng dụng mạng xã hội để giúp tăng sự lựa chọn giải trí cho người dùng
Chức năng đánh giá và phản hồi dành cho người dùng được bổ sung nhằm nâng cao trải nghiệm sử dụng ứng dụng mạng xã hội Tính năng này giúp người dùng có thể gửi phản hồi nhanh chóng, góp phần phát hiện và khắc phục những lỗi hệ thống bất ngờ xảy ra trong quá trình sử dụng Việc cập nhật chức năng đánh giá và phản hồi không chỉ giúp cải thiện hiệu suất hoạt động của ứng dụng mà còn đảm bảo sự hài lòng của người dùng Đây là bước tiến quan trọng nhằm nâng cao chất lượng dịch vụ và thúc đẩy sự phát triển bền vững của nền tảng mạng xã hội.