Tải bản đầy đủ (.docx) (25 trang)

andoid QL GV SV DH Gia Dinh

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.32 MB, 25 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC GIA ĐỊNH
KHOA CNTT-KTPM

Môn học:
Lập trình thiết bị di động
TÊN ĐỀ TÀI: Mạng xã hội GDU

GVHD:

Lê Huỳnh Phước

SINH VIÊN THỰC HIỆN:

Trần Nguyên Vẹn
Phạm Văn Thuận
Hồ Nguyễn Tiến Sỹ
Trần Diệu Uyên

LỚP:

11DHPM

1


Danh sách nhiệm vụ:

I.

STT


1

Họ và tên
Trần Nguyên Vẹn

MSSV
1731103129

2
3
4

Phạm Văn Thuận
Hồ Nguyễn Tiến Sỹ
Trần Diệu Uyên

1731103117
1731103114
1731103064

II.
-

Nhiệm vụ
Thiết kế, xây dựng, lập trình ứng
dụng mobile
Vẽ sơ đồ UML, lập trình web
Lập trình web
Thiết kế giao diện


Lời mở đầu:
Công nghệ thông tin đã ngày càng trở lên phổ biến và hữu dụng trong
cuộc sống hiện nay. Đặc biệt đó là ứng dụng phần mềm với nhiều chuơng
trình ứng dụng có hiệu quả. Trong đó có các chương trình quản lý đã giúp
con người tổ chức xử lý các công việc trở lên đơn giản, nhanh chóng và

-

chính xác hơn.
Việc liên lạc càng ngày thuận tiện, đi kèm đó cũng kèm theo sự bảo mật

-

về tin nhắn riêng tư, trao đổi thông tin của các công việc khác nhau.
Thông qua học kì này em muốn nâng cao sự hiểu biết của mình về lĩnh
vực Công nghệ thông tin nói chung, cũng nhu khả năng xây dựng chuơng

-

trình và kỹ thuật lập trình của mình.
Trong quá trình nguyên cứu, cũng như là trong quá trình làm bài báo
cáo , khó tránh khỏi sai sót, rất mong các thầy, cô giúp đỡ em. Đồng thời
do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài
báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhận được ý
kiến đóng góp thầy, cô để em học thêm được nhiều kinh nghiệm và sẽ

III.
1.

hoàn thành tốt hơn bái báo cáo sắp tới.

Trong báo cáo đồ án môn học này em đã lựa chọn nghiên cứu bài:

“Mạng Xã Hội GDU”
Lập trình ứng dụng di động Android:
Lập trình ứng dụng di động là gì?
- Là sử dụng các ngôn ngữ lập trình như Java, C#… xây dựng và phát triển
các phần mềm. Nhằm cung cấp các tiện ích cho di động trên tất cả các hệ
điều hành, phổ biến nhất là Android và IOS.
2


-

App hay ứng dụng di động hiện nay là cụm từ quá quen thuộc và gần gũi
với chúng ta. Điện thoại của bạn chắc chắn không thể thiếu được các ứng

2.

dụng kết nối bạn bè, ứng dụng gọi xem, app đặt đồ ăn, app bán hàng,….
Công nghệ lập trình ứng dụng Android là gì?
- Lập trình là thiết kế, xây dựng và bảo trì các chương trình phần mềm trên
máy tính từ việc sử dụng các đoạn mã từ các ngôn ngữ lập trình khác
-

nhau để tạo ra các phần mềm hay ứng dụng mong muốn.
Lập trình ứng dụng di động trên Android hiện nay ngày càng trở nên phổ
biến và thịnh hành. Thiết bị di động sở hữu hệ điều hành Android chạy

-


tốt và mượt nên luôn được nhiều người lựa chọn.
Để có thể lập trình các ứng dụng trên Android thì người lập trình cần phải
có kiến thức vững vàng và am hiểu về cấu trúc để thiết kế trên từng ứng
dụng mong muốn . Một ứng dụng Android chuyên nghiệp không chỉ về
giao diện mà còn cấu trúc chi tiết khi người lập trình tạo ra cần phải sáng

3.

tạo và nhất là có thể nâng cấp khi ra mắt phiên bản mới.
Những ngôn ngữ được sử dụng để lập trình Android phổ biến:
1. Ngôn ngữ Java là kiến thức cơ bản nhất cho bước đầu lập trình ứng
dụng Android . Để có thể lập trình úng dụng di động nền tảng Android
đảm bảo nhất , bạn cần tìm hiểu về cầu trúc vòng lập, danh sách , biến và
cấu trúc điều khiển trong Java . Những công ty lập trình hiện nay vẫn
luôn sử dụng dụng ngôn ngữ Java để phát triển ứng dụng để mang lại cho
-

những ai đang có nhu cầu sử dụng ứng dụng được hoàn hảo nhất .
Flutter được phát triển nhằm giải quyết bài toán thường gặp trong
mobile là Fast Development và Native Performance. Nếu như React
Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo

-

Native Performance thì Flutter làm được cả 2 điều trên.
Kotlin là một ngôn ngữ lập trình mới từ JetBrains. Nó xuất hiện lần đầu
tiên vào năm 2011 khi JetBrains công bố một dự án mới có tên là
"Kotlin". Giống như Swift, Kotlin là một ngôn ngữ mã nguồn mở. Cũng
3



giống như Java, Kotlin là “ngôn ngữ lập trình kiểu tĩnh”. Tức là các biến
cần phải được khai báo trước khi sử dụng. Đối với ứng dụng Android,
chúng ta có thể sử dụng Kotlin thay thế cho mã Java hoặc sử dụng đồng
-

thời cả hai trong cùng một project.
Ngôn ngữ C# được dùng để phát triển ứng dụng cho hệ điều hành
Window, và có thể phát triển được ứng dụng cho Android. Với Xamarin,
ứng dụng của bạn được biên dịch sang mã native. Có nghĩa là một app
tạo bởi Xamarin không khác biệt mấy với một app khác được lập trình

4.

bằng Android Studio.
Những phần mềm được dùng để lập trình Android:
- Studio Android Không có danh sách các công cụ phát triển Android nào
hoàn chỉnh nếu không có Android Studio. Đây là phần mềm IDE chính
thức (Môi trường phát triển tích hợp - Integrated Development
Environment) cho Android, làm cho nó trở thành lựa chọn số một của
phần lớn các nhà phát triển để tạo các ứng dụng cơ bản phù hợp với
Material Design của Google và truy cập vào tất cả các tính năng nâng cao
-

của nền tảng này.
Visual Studio Code là một trình biên tập lập trình code miễn phí dành
cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi
Microsoft. Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code
Editor. Ngoài ra còn hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã

nguồn. Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép

5.

người dùng thay đổi theme, phím tắt, và các tùy chọn khác.
Môi trường phát triển ứng dụng SDK:
- SDK (Android Software Development Kit )là môi trường phát triển ứng
dụng tích hợp IDE cũng giống như Android Studio là chương trình chính
là nơi để người lập trình xây dựng ứng dụng ( viết code )từ các gói và
trên nhiều thư viện khác nhau .
4


-

SDK bao gồm các đoạn code ví dụ, thư viện phần mềm, công cụ lập trình
tiện dụng, và nhiều hơn nữa để giúp bạn xây dựng, kiểm thử, và gỡ lỗi

6.

các ứng dụng Android.
Lập trình giao diện XML:
- Cách mô tả dữ liệu tốt nhất của lập trình viên là sử dụng để đánh dấu cho
mục đích chung và mô tả nhiều dữ liệu khác nhau . Cú pháp XML rất hữu
ích là bước phát triển đầu tiên để trở thành nhà phát triển ứng dụng
Android khi làm những công việc như thiết kế giao diện người dùng (UI)
và phân tích dữ liệu lấy từ internet. Phần lớn những gì bạn cần làm với
XML đều được thực hiện thông qua Android Studio, nhưng chỉ khác là

7.


nó tạo cho người lập trình nền tảng về ngôn ngữ đánh dấu.
Loại cơ sở dữ liệu hiện nay:
- SQL: là viết tắt của Structured Query Language, là ngôn ngữ truy vấn
mang tính cấu trúc.Nó được thiết kế để quản lý dữ liệu trong một hệ
thống quản lý cơ sở dữ liệu quan hệ (RDBMS).SQL là ngôn ngữ cơ sở dữ
liệu, được sử dụng để tạo, xóa trong cơ sở dữ liệu, lấy các hàng và sửa
-

đổi các hàng, …
NoSQL: (hay còn gọi là "không chỉ SQL") không phải dạng bảng và lưu
trữ dữ liệu khác với các bảng quan hệ. Cơ sở dữ liệu NoSQL có nhiều
loại dựa trên mô hình dữ liệu của chúng. Các loại chính là tài liệu, khóagiá trị, cột rộng và biểu đồ. Chúng cung cấp các lược đồ linh hoạt và mở
rộng quy mô dễ dàng với lượng lớn dữ liệu và lượng người dùng cao.

5


IV.
-

KHẢO SÁT THỰC TẾ VÀ THU THẬP THÔNG TIN
1. Giới thiệu đề tài
Đề tài nhằm xây dựng phần mềm cho Giảng viên và Sinh viên trường đại
học Gia Định. Phần mềm tích hợp và hiện thị đầy đủ các chức năng nhắn
tin, đăng bài viết bài thông báo từ Giảng viên đến Sinh viên, hiển thị đầy

-

đủ thông tin Giản viên và Sinh viên.

Chương trình sử dụng ngôn ngữ Java dùng để thiết lập chương trình và
xử lý các chức năng. Với sự trợ giúp của các phần mềm Android Studio
xây dựng chương trình, và …. Có tác dụng quản lý cơ sở dữ liệu trong

-

chương trình
2. Khảo sát thực tế
Do sự giản cách giữ Giảng viên và Sinh viên, khiến dẫn đến sự khó gần

-

gũi, khiến các Giảng viên khó tiếp cận đến Sinh viên.
3. Xác định yêu cầu
Giảng viên có thể thông báo về các thay đổi như lịch học, lịch thi, thời

-

gian học….
Sinh viên còn có thể trao đổi trực tiếp với các Giảng viên về các kiến
thức được phổ cập trên lớp sau giờ học, giúp nâng cao sự học hỏi, hiểu

-

biết,… của các Sinh viên.
Đồng thời, Giảng viên cũng có thể giao bài tập thêm cho Sinh viên,
những bài tập bổ ích đế Sinh viên có thêm kiến thức sâu hơn vào môn

-


học của mình.
Sự trao đổi giữa Giảng viên và Sinh viên còn có thể giải phóng sự đam
mê trong Sinh viên giúp Sinh viên chọn con đường tốt hơn trong tương

V.
-

lai từ học tập đến việc đi làm sau này.
Cơ sở dữ liệu:
1. Firebase Authentication:
Hầu hết các ứng dụng cần biết danh tính của người dùng. Việc biết danh
tính của người dùng cho phép ứng dụng lưu dữ liệu người dùng một cách

6


an toàn trên đám mây và cung cấp trải nghiệm được cá nhân hóa giống
-

nhau trên tất cả các thiết bị của người dùng.
Xác thực Firebase cung cấp các dịch vụ phụ trợ, SDK dễ sử dụng và thư
viện giao diện người dùng được tạo sẵn để xác thực người dùng với ứng
dụng của bạn. Nó hỗ trợ xác thực bằng mật khẩu, số điện thoại, các nhà
cung cấp danh tính liên hợp phổ biến như Google, Facebook và Twitter,

-

v.v.
Phần mềm sử dụng Email và mật khẩu để Xác thực người dùng bằng địa
chỉ email và mật khẩu của họ. SDK xác thực Firebase cung cấp các

phương pháp để tạo và quản lý người dùng sử dụng địa chỉ email và mật
khẩu của họ để đăng nhập. Xác thực Firebase cũng xử lý việc gửi email

-

đặt lại mật khẩu.
2. Firebase Realtime Database:
Lưu trữ và đồng bộ dữ liệu với cơ sở dữ liệu đám mây NoSQL. Dữ liệu
được đồng bộ hóa trên tất cả các ứng dụng khách trong thời gian thực và

-

vẫn có sẵn khi ứng dụng của bạn ngoại tuyến.
Cơ sở dữ liệu thời gian thực của Firebase là cơ sở dữ liệu được lưu trữ
trên đám mây. Dữ liệu được lưu trữ dưới dạng JSON và được đồng bộ
hóa trong thời gian thực cho mọi máy khách được kết nối. Khi bạn tạo
ứng dụng đa nền tảng với SDK iOS, Android và JavaScript của chúng tôi,
tất cả khách hàng của bạn đều chia sẻ một phiên bản Cơ sở dữ liệu thời

-

gian thực và tự động nhận các bản cập nhật với dữ liệu mới nhất.
Thay vì các yêu cầu HTTP thông thường, Cơ sở dữ liệu thời gian thực
của Firebase sử dụng đồng bộ hóa dữ liệu — mỗi khi dữ liệu thay đổi,
mọi thiết bị được kết nối sẽ nhận được bản cập nhật đó trong vòng mili
giây. Cung cấp trải nghiệm hợp tác và nhập vai mà không cần suy nghĩ
về mã mạng.
3. Firebase Cloud Firestore:

7



-

Cloud Firestore là một cơ sở dữ liệu linh hoạt, có thể mở rộng để phát
triển thiết bị di động, web và máy chủ từ Firebase và Google Cloud
Platform. Giống như Cơ sở dữ liệu thời gian thực của Firebase, nó giữ
cho dữ liệu của bạn được đồng bộ hóa giữa các ứng dụng khách thông
qua trình xử lý thời gian thực và cung cấp hỗ trợ ngoại tuyến cho thiết bị
di động và web để bạn có thể tạo các ứng dụng đáp ứng hoạt động bất kể
độ trễ mạng hoặc kết nối Internet. Cloud Firestore cũng cung cấp khả
năng tích hợp liền mạch với các sản phẩm Firebase và Google Cloud

-

Platform khác, bao gồm cả Chức năng đám mây.
Mô hình dữ liệu Cloud Firestore hỗ trợ cấu trúc dữ liệu phân cấp, linh
hoạt. Lưu trữ dữ liệu của bạn trong các tài liệu, được sắp xếp thành các
bộ sưu tập. Tài liệu có thể chứa các đối tượng lồng nhau phức tạp ngoài

-

các bộ sưu tập con.
Giống như Cơ sở dữ liệu thời gian thực, Cloud Firestore sử dụng đồng bộ
hóa dữ liệu để cập nhật dữ liệu trên bất kỳ thiết bị được kết nối nào. Tuy
nhiên, nó cũng được thiết kế để thực hiện các truy vấn đơn giản, tìm nạp

-

một lần một cách hiệu quả.

4. Firebase Cloud Storage:
Cloud Storage cho Firebase là dịch vụ lưu trữ đố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. SDK
Firebase cho Bộ nhớ đám mây bổ sung tính năng bảo mật của Google
vào các tệp tải lên và tải xuống cho ứng dụng Firebase của bạn, bất kể
chất lượng mạng. Có thể sử dụng để lưu trữ hình ảnh, âm thanh, video
hoặc nội dung khác do người dùng tạo. Trên máy chủ, bạn có thể sử

-

dụng Google Cloud Storage, để truy cập các tệp giống nhau.
5. Khác biệt giữa Firebase Database và Cloud Firestore:
Firebase Database lưu trữ dữ liệu dưới dạng một cây JSON lớn, điều
này giúp cho việc lưu trữ dữ liệu một cách đơn giản hơn, nhưng cũng vì
thế mà dữ liệu phân cấp phức tạp sẽ khó tổ chức hơn nếu quy mô lớn.
8


-

Trong khi đó Cloud Firestore lưu trữ dữ liệu được sắp xếp trong các bộ
sưu tập, điều này cũng giúp việc lưu trữ dữ liệu dễ dàng vì nó tương tự
như JSON. Dữ liệu phân cấp, phức tạp cũng dễ dàng tổ chức hơn để sắp
xếp các tài liệu bên trong đó. Nó cũng yêu cầu ít chuẩn hóa và làm gọn

-

dữ liệu
Tài liệu tham khảo chi tiết: a/p/co-gi-moi-trong-cloudfirestore-ban-nang-cap-cua-firebase-database-gDVK2Mew5Lj


9


VI.
-

PHÂN TÍCH THIẾT KẾ VÀ HỆ THỐNG
1. Mô hình MVC:
MVC là từ viết tắt của ‘Model View Controller’. Nó đại diện cho các nhà
phát triển kiến trúc áp dụng khi xây dựng các ứng dụng. Với kiến trúc
MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến cách luồng dữ

-

liệu của ứng dụng của chúng ta hoạt động như thế nào.
Dễ hiểu hơn, nó là mô hình phân bố source code thành 3 phần, mỗi thành

-

phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.
Mô hình MVC được chia làm 3 lớp xử lý gồm Model –View -Controller
:


Model: Layer này sẽ chứa các lớp liên quan đến lưu trữ dữ liệu,
hay đảm nhiệm xử lý các nghiệp vụ logic của ứng dụng. Bạn tưởng
tượng model giống như bộ não của con người, nó giúp xử lý và lưu




trữ dữ liệu.
View : là nới chứa những giao diện như một nút bấm, khung nhập,
menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp



người dùng tương tác với hệ thống.
Controller : Layer này chứa các lớp đảm nhận vai trò là cầu nối
giữa view và model. Những tương tác của người dùng từ view sẽ
được controller chuyển đến model. Và ngược lại, những thay đổi
từ model sẽ được controller cập nhật lên view. Như vậy controller
giống như các liên kết giúp dẫn truyền “cảm giác” đến não và
ngược lại.

10


Lập trình hướng đối tượng:
Lập trình hướng đối tượng (Object Oriented Programming – OOP) là một
2.

-

trong những kỹ thuật lập trình rất quan trọng và sử dụng nhiều hiện nay.
Hầu hết các ngôn ngữ lập trình hiện nay như Java, PHP, .NET, Ruby,
-

Python… đều hỗ trợ OOP.
Tính kế thừa (Inheritance).
Tính đa hình (Polymorphism).

Tính trừu tượng (Abstraction).
Tính đóng gói (Encapsulation):

11


3.

Clas Diagram:

12


13


14


VII.
1.

Giao diện ứng dụng:
Website:

Đăng Nhập Admin

Đăng ký Giảng viên

15



Trang hiển thị danh sách Giảng viên

Trang đăng nhập Giảng viên

16


Trang thay đổi thông tin Giảng Viên

17


18


Form thay đổi mật khẩu Giảng viên

2.

Android:
- Màn hình dùng chung:

Màn Hình Lấy Lại Mật Khẩu

Màn Hình Đăng Nhập 1

Màn Hình Trang Cá Nhân


Màn Hình Trang Chủ

19


Danh Sách Người Dùng

Màn Hình Chat

20


Màn Nhắn Tin

Màn Hình Đổi Mật Khẩu

21


-

Dành cho Giảng viên:

Màn Hình Trang Chủ

Đăng Thông Báo

22



Thay Đổi Thông Tin Cá Nhân

23


-

Dành cho Sinh viên:

Màn Hình Đăng Ký

Màn Hình Nhập Thông Tin Cá Nhân

24


-

Tài liệu tham khảo:
/> />
-

%20a,document%20information%20about%20the%20system.
/>
VIII.

-

lop-class/
/>Kết luận:

Sản phẩm vẫn còn trong quá trình phát triển nên không thể tránh lỗi
Sản phẩn sẽ còn được phát triển thêm các tính năng lọc lớp, lọc nhóm,

-

nhắn tin nhóm, bình luận, phân chia công việc trong nhóm,……
Tương lai ứng dụng sẽ tíhc hợp chức năng đăng nhập bằng Facebook,

IX.

Google, Zalo để có thể đồng bộ thông tin người dùng như danh bạ, lịch –
-

thời gian biểu của người dùng.
Ứng dụng sẽ được phát triển thêm font-end bằng React Native giúp giao

-

diện thân thiện và đẹp hơn.
Cảm ơn mọi người đã theo dõi.

25


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

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