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 đề tài thú vị trong phát triển ứng dụng di động.. Ra mắt lần đầu tiên vào năm 2013, Android Studio đã nhanh chó
Trang 1- 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 PHAN: PHAT TRIEN UNG DUNG TREN THIET BI DI
DONG CHU DE 04: UNG DUNG HE THONG
DE TAI 66: XAY DUNG UNG DUNG MANG XA HOI CAMEL CHO NEN TANG ANDROID SU DUNG ANDROID STUDIO
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CONG NGHE DONG A KHOA: CONG NGHE THONG TIN
BAI TAP LON HOC PHAN: PHAT TRIEN UNG DUNG TREN THIET BI DI
Trang 3MỤC LỤC
1.1 Giới thiệu công cụ phát triỂn - 225 StSn232 S3 x2 2 23x11 re 6
TÔ 6 1.1.2 JAVđ HH HH HH HH HH HH KH HH ng HH HH HH tk 7
1.2 Mô tả các thư viện sử dụng - ST nh nh nh ng kh kh 12
1.2.2 Thư viện Android Image CropJ€r - Ăn nh nh net 13 1.2.3 Thư viện PiCassO err eri TK ng kg kh 14
2.1.1 Mục dích và yêu cầu của đề tài 0S St Sn cty 16 2.1.2 Mô tả đối tượng sử dụng ứng dụng mạng xã hội 2522555525552 16 2.1.3 Mô tả sơ đồ chức năng của hệ thống 252 S2 S22 2 sex rrererree 18 2.2 Cấu trúc chương trình 5t St St E3 S223 23 53 1 2211111111111 23 2.3 Mô tả các thuộc tính chính - - LH Tnhh nếp 20
2.3.3 HN -ÈiiiiiiiiiiiiẢ 21 2.3.4 NOIifiCalion con HH HH HH TH HH HH HH HH kg 21
3.1 Mô tả giao diện LH TH HH ng KT KH Hy 25 3.2 Kết quả thử nghiệm -2-2 55-5552 sS+ Error! Bookmark not defined
0:00/9)/05À/58 xin 31
3.1 Các nội dung đã đạt ẨƯỢC en rr ine nh KH kh nghe 31 3.2 Nội dung chưa đạt được nh kh ng kg 31 k0) ÁAÁ ÔÒỎ 31
IV \180i130/9:7 0/864 ản 32
Trang 4LỜI MỞ ĐẦU
Với sự bùng nỗ của công nghệ thông tin và sự lan rộng của lnternet, việc kết nỗi
và chia sẻ thông tin trở nên đễ đàng hơn bao giờ hết Các ứng dụng mạng xã hội, mọi người có thê tương tác, giao lưu và chia sẻ những khoảnh khắc cuộc sống của mình với bạn bè và người thân Những ứng dụng mạng xã hội như Facebook, Instagram hay
Twitter không chỉ là nơi để thể hiện bản thân mà còn là một phần không thẻ thiếu của
cuộc sống hiện đại
Ngày nay, việc sử dụng mạng xã hội không chỉ đơn thuần là một hình thức giải trí mà còn trở thành một phần của cuộc sống hàng ngày, một cách đề kết nỗi và tương tác với cộng đồng Sự phô biến của mạng xã hội không chỉ giới hạn trong việc chia sẻ hình ảnh và status mà còn mở ra nhiều cơ hội mới trong lĩnh vực kinh doanh, quảng cáo,
và truyền thông
Tuy nhiên, dù đã có sự đa dạng và phong phú của các ứng dụng mạng xã hội hiện nay, vẫn tồn tại nhu cầu cho những nền tảng mới mang tính sáng tạo và độc đáo Với mong muốn tạo ra một không gian mạng xã hội mới mẻ, đa dạng và thú vị, nhóm chúng
em đã quyết định thực hiện dự án xây dựng ứng dụng mạng xã hội Đây không chỉ là một dự án lập trình ứng dụng Android mà còn là một no luc dé mang lại một trải nghiệm mới mẻ và độc đáo cho người dùng, đồng thời tạo ra một không gian truyền thông và giải trí lành mạnh trên Internet
Trang 5CHUONG I: TONG QUAN VE DE TAI
1.1 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 đề tài thú vị trong phát triển ứng dụng di động Dé phát triển hệ thống này một các hiệu quả, nhóm 01 sử dụng các công
cụ phát triển sau:
1.1.1 Android Studio
Android Studio là Môi trường Phát triển Tích hop (Integrated Development Environmert - IDE) chính thức của Google cho việc phát triển ứng dụng Android Ra mắt lần đầu tiên vào năm 2013, Android Studio đã nhanh chóng trở thành công cụ không thê thiếu dành cho lập trình viên Android, giúp họ xây dựng, kiểm thử, và triển khai các ứng dụng cho hệ sinh thái Android
android studio
Hinh 1.1.1 Android Studio Các thành phần chính của Android Studio bao gồm:
e IDE: Giao diện trực quan với các công cụ lập trinh tích hợp
e _ Gradle: Hệ thống xây dựng (build system) mạnh mẽ, quản lý quá trình biên địch
và gói ứng dụng
e Android Emulator: Trinh gia 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ý
e Trinh quan ly 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
e 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
Trang 6Các tính năng chính:
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àng đề thiết kế giao
diện người dùng (U])
Trình biên dịch Gradle: Công cụ tự
động hóa và quản lý quả trình xây dựng
dự án, hỗ trợ việc phân phối ứng dụng
nhanh chóng với nhiều cầu hình khác
nhau
Trình giả lập Android: Android Studio
tích hợp sẵn một trình giả lập, cho phé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ị thật
Trình chỉnh sửa mã (Code Editor): Hỗ
trợ ngôn ngữ lập trình chính cho Android
(Java, Kotlin), với các tính năng như kiểm
tra lỗi cú pháp, tự động gợi ý mã lệnh
Tích hợp hoàn chỉnh: Cung cấp đây đủ
các công cụ cân thiết dé 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 may
tính mạnh để chạy mượt mà
Đường cong học tập: Đói với những lập
trình viên mới bắt đầu, Android Studio có
thê hơi khó sử dụng do có quá nhiều tính năng vả công cụ
1.1.2 Java
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
Sun Microsystems (nay la Oracle Corporation) vao gitra những năm 1990 Java được biet dén voi cac dac điểm nội bật như tính di động, hiệu suất cao, và sự ôn định, lam cho
Trang 7Các đặc điểm chính của Java
e Tính di động (Write Once, Run Anywhere- WOHA) s Bảo mật
e Don gian va dé hoc ¢ Da luéng (Multithreading)
Ung dung cua Java:
Phát triển ứng dụng di động | Android Development: Java la mét trong những ngôn ngữ
chính đề phát triển ứng dụng Android Mặc dù Kotlin đang ngày càng phô biến, nhiều ứng dụng Android vẫn được viết bang Java
Phát triên ứng dụng web Web Applications: Java được sử dụng trong các ứng dụng
web thông qua các công nghệ như JavaServer Pages (JSP), Servlets, va cac framework nhu Spring va JavaServer Faces (JSF)
Hé thong doanh nghiép Enterprise Applications: Java Enterprise Edition Ja
EE) cung cap cac céng nghé dé phat trién img dung doanh nghiệp quy mô lớn như hệ thống quản lý cơ sở dữ liệu, dich vụ web, và ứng dụng phân tán
Phát triển phần mềm máy chủ | Server-side Applications: Java thường được sử dụng để
xây dựng phần mềm máy chủ và dịch vụ, nhờ vào tính ôn
định và hiệu suat cao
Trang 8
Phát triển game Game Developmert: Java cũng được sử dụng trong phat
triên game, đặc biệt là các game di động và ứng dụng trò
Ưu điểm và nhược điêm cả ngôn ngữ Java
e Tính di động cao: Ứng dụng lavacó s Hiệu suất: Mặc dù lava đã cải thiện
thê chạy trên nhiều hệ điều hành khác hiệu suất qua thời gian, nó vẫn có thê
nhau nhờ vào JVM chậm hơn so với các ngôn ngữ lập trình
e Hướng dối tượng: Giúp tô chức mã biên dịch trực tiếp như C++
nguồn tốt hơn và đễ bảo trì e - Tiêu thụ bộ nhớ: Ứng dụng Java có thê
e Bảo mật: Cung cấp nhiều tính năng tiêu tốn nhiều bộ nhớ hơn so với các bảo mật tích hợp ngôn ngữ khác do overhead cla JVM
¢ Cộng đồng lớn và tài liệu phong
Trang 9Hình 1.1.3 Firebase 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:
e Phat trién ing 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
e 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
e© _ Phát hành và mở rộng: Triển khai ứng dụng, quản lý A/B testing, thông báo day (Firebase Cloud Messaging), va nhiều tính năng khác
Firebase console là giao diện web chính thức của Firebase, một nền tảng phát triển ứng dụng di động và web do Google cung cấp Firebase cung cấp nhiều dịch vụ và công cụ mạnh mẽ, giúp các lập trình viên xây dựng, quản lý, và mở rộng ứng dụng một cách đễ dàng mà không cần phải tự phát triển các chức năng back-end phức tạp Firebase Console cho phép quản lý tất cả các địch vụ của Firebase từ một nơi duy nhất
Firebase Console la m6t trung tam diéu khién manh mẽ cho các dịch vụ của Firebase Nó giúp các lập trình viên đễ đàng quản lý, theo dõi, và tối ưu hóa ứng dụng Android, iOS hoặc web của mình mà không cần phải lo lắng về việc xây đựng và quản
lý hạ tầng back-end phức tạp
Dưới đây là giới thiệu về các thư viện Firebase chính được sử dụng cho dự án bao gôm:
10
Trang 10e - Hỗ trợ đăng nhập qua email/mật khâu, Google,
Facebook, Twitter, GitHub, Apple, va nhiéu nha
cung cap khac
e Xác thực người dùng ân danh hoặc sử dụng số điện
¢ Lưu trữ và đồng bộ dữ liệu giữa các ứng dụng web
va di dong trong thời gian thực
e - Hỗ trợ truy vấn linh hoạt, theo dõi đữ liệu thay đôi
theo thời gian thực
¢ Tich hop tot voi Google Cloud, hé tro kha nang mở rộng lớn
Trang 11
Functions mà không cần quản lý máy chủ
e Tíchhợp liền mạch với các dịch vụ Firebase khác
như Authentication, Firestore, Realtme Database
1.2 Mô tả các thư viện sử dụng
1.2.1 Thư viện Glide Thu vién Glide trong Android Studio là một thư viện mã nguồn mở giúp việc tai
và hiển thị hình ảnh trong ứng dụng Android trở nên đễ dàng và hiệu quả Glide được phat trién boi Bumptech và được sử dụng rộng rãi trong việc xử lý hình ảnh nhờ vào tính năng mạnh mẽ, đơn giản và khả năng tôi ưu hóa tài nguyên
từ nhiều nguồn thiết bị và thậm chí là video hoặc GIF
Hỗ trợ hình động (GIF) | Glide có khả năng hiển thị các hình ảnh động như GIF ma
không cân cầu hình phức tạp
Tùy chỉnh tải ảnh Ban co thé dé dàng 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 khác trên ảnh trước khi hiển thị
12
Trang 12
Tích hợp dễ dàng Glide dé dang tich hop voi cac thành phần của Android như
1.2.2 Thw vién Android Image Cropper
Thư viện Android Image Cropperlà một công cụ giúp các nhà phát triển Android
dễ dàng tích hợp tính năng cắt ảnh vào ứng dụng của mình Dưới đây là một số đặc điểm chính của thư viện này:
ArthurHub/Android- Image-Cropper
¢ Crop anh: Thu vién cung cap cac céng =| Hỗ trợ nhiều định dạng ảnh: Thư viện
cụ đề người dùng có thê cắt ảnh theo tỉ có khả năng cắt các dinh dang anh pho
lệ tùy chỉnh hoặc các tỉ lệ đã được định bién nhu JPEG, PNG, WebP, v.v
trước (1:1, 16:9, v.v.) e - Tùy chỉnh giao diện: Bạn có thê tùy
e Dễ sử dụng: Việc tích hợp thư viện vào chỉnh giao diện của công cụ crop đề phù
dự án Android khả đơn giản với các hợp với phong cách của ứng dụng phương thức API thân thiện, giúp nhà | se Cắt ảnh hình tròn hoặc hình chữ nhật: phát triển nhanh chóng thêm chức năng Thư viện hỗ trợ cắt ảnh theo hình dạng cắt ảnh mà không cân viết quá nhiều mã bất kỳ, bao gồm cả hình tròn hoặc hình
Trang 13thời cung cấp nhiều 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ộ
Tinh nang chinh cua Picasso
e Tai hinh anh ti URL: Picasso cé thé tải hình anh từ một URL, sau dé hién thị nó vào
mot ImageView
e Quan ly b6é nhé dém (Caching): Hình ảnh được lưu trữ trong bộ nhớ đệm, cả trong bộ
nhớ RAM và bộ nhớ ô đĩa, giúp tăng tốc độ hiển thị cho các lần tải lại sau
e - 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
e _ Xử lý lỗi: Picasso xử lý các lỗi khi tải hình ảnh (ví dụ: ảnh không tồn tại, mạng không
ôn định) và cho phép bạn hiện thị hình ảnh thay thế trong trường hợp xảy ra lỗi
e Chuyến đối và thay đối kích thước hình ảnh: Có thê thay đôi kích thước, cắt, và thậm
chí áp dụng bộ lọc cho hình ảnh trước khi hiển thị
14
Trang 14e - Hỗ trợ tải ảnh từ tài nguyên cục bộ: Bạn có thê tải hình ảnh từ các thư mục cục bộ
Điểm mạnh của Picasso là:
e _ Dễ sử dụng: Với API đơn giản và trực quan, Picasso giúp việc tải va hién thi hình ảnh trở nên rất đễ dàng
e 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
¢ Tinh nang 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
15
Trang 15CHUONG II: PHAN TICH VA THIET KE HE THONG 2.1.Mo ta 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
e_ 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 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
e - Hiển thị thông báo thông tin chỉ tiết các bài viết, hình ảnh mới nhất và nôi bật
nhật
Tao tai khoan mdi
Binh luan/Bay to cảm xúc/Lưu bài viết Bay to cam xuc ‘Like’
Đăng bài viết theo chủ đề
Đăng bài viết ấn danh
- ⁄Z Nhắn tin giữa các người dùng
` ⁄ ` , of
\\ Thay đổi thông tin cánhân _/ Gửi thông báo tới tài khoản người ding
Cập nhát thông tin cá nhân (Địa chị,
ngày sinh, mắt khẩu)
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
voi ban be, 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