TRƯỜNG ĐẠI HỌC BÁCH KHOA
HÀ NỘI VIỆN TOÁN ỨNG DỤNG
VÀ TIN HỌC
o0o
ĐỒ ÁN 1
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG LỊCH TRÊN NỀN TẢNG
ANDROID
Giảng viên hướng dẫn : TS. Trần Ngọc Thăng
Lớp
: Toán Tin 01 – K63
Hà Nội – 2021
1
Mục Lục
Lời mở đầu......................................................................................................................... 3
1. Phần 1: Tổng quan đề tài................................................................................................ 4
I. Giới thiệu đề tài........................................................................................................ 4
II. Mục tiêu của đề tài.................................................................................................. 4
2. Phần 2: Cơ sở lí thuyết................................................................................................... 5
I. Tổng quan về hệ điều hành Android và phát triển ứng dụng trên hệ hành...............5
II. Firebase................................................................................................................... 5
a. Firebase Authentication........................................................................................... 6
b. Firebase Realtime Database.................................................................................... 6
3. Phần 3: Phân tích thiết kế............................................................................................... 7
I. Khảo sát.................................................................................................................... 7
a. Ứng dụng lich Việt............................................................................................. 7
b. Ứng dụng Google Lich....................................................................................... 7
II. Mô tả - Phân tích hệ thống và các biểu mẫu........................................................... 9
a. Quy mô hệ thống................................................................................................. 9
b. Mô tả - phân tích hệ thống:................................................................................ 9
c. Các biểu mẫu...................................................................................................... 9
d. Dữ liệu code..................................................................................................... 29
III. Biểu đồ phân rã chức năng.................................................................................. 31
V. Biểu đồ dữ liệu mức ngữ cảnh............................................................................... 32
VI. Biểu đồ dữ liệu dưới mức đỉnh............................................................................. 32
a. Hiển thị lịch...................................................................................................... 32
b. Tạo sự kiện....................................................................................................... 32
c. Tùy biến............................................................................................................ 33
d. Quản lí dữ liệu................................................................................................. 34
4. Phần 4: Phân tích thiết kế cơ sở dữ liệu........................................................................ 35
I. Mô hình thực thể liên kết......................................................................................... 35
b. Xác định liên kết và mối quan hệ thực thể........................................................ 35
c. Mô hình thực thể liên kết.................................................................................. 36
5. Phần 5: UI.................................................................................................................... 38
I. Giao diện người dùng............................................................................................. 38
a. Giao diện bắt đầu vào ứng dụng...................................................................... 38
b. Giao diện đăng kí tài khoản............................................................................. 39
c. Giao diện đăng nhập........................................................................................ 40
d. Giao diện chính khi sử dụng ứng dụng............................................................. 40
II. Giao diện admin.................................................................................................... 47
a. Quản lí tài khoản người dùng.......................................................................... 47
b. Quản lí database.............................................................................................. 47
Tổng kết............................................................................................................................ 48
2
Lời mở đầu
Trong quá trình thực hiện Đồ Án 1, em đã vận dụng những gì đã được
dạy và đã học hỏi được rất nhiều những kiến thức mới qua đó đã tích lũy được
những bài học thực tế phục vụ cho công việc sau này. Cuối cùng em xin gửi lời
cảm ơn chân thành tới thầy Trần Ngọc Thăng đã hướng dẫn tận tình, đưa ra
những lời khuyên bổ ích và định hướng cho em trong thời gian thực hiện Đồ
Án 1.
Hà Nội, ngày 30 tháng 6 năm 2021
3
1.
Phần 1: Tổng quan đề tài
I. Giới thiệu đề tài
Ngày nay, thời đại công nghệ thông tin phát triển như vũ bão, việc
mỗi người đều sở hữu cho mình một chiếc smartphone. Việc tạo ra một ứng
dụng hữu dụng cho người dùng là rất cần thiết. Trước nhu cầu thiết kế ứng
dụng cho mọi người và việc đam mê lập trình ứng dụng Android, em đã
chọn đề tài “ Xây dựng ứng dụng lịch trên nền tảng Android “ làm đề tài
cho Đồ án I.
II. Mục tiêu của đề tài
Mục tiêu trong đề tài này là xây dựng một ứng dụng xem lịch có cả
ngày dương, ngày âm, người dùng có thể thêm sự kiện và nhắc nhở người
dùng
4
2.
Phần 2: Cơ sở lí thuyết
I. Tổng quan về hệ điều hành Android và phát triển ứng dụng trên hệ hành
Hệ điều hành Android (Android OS): là một hệ điều hành có mã nguồn
mở dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động như
điện thoại thông minh, đồng hồ thông minh, máy tính bảng,…
Android duy trì vị trí là hệ điều hành di động hàng đầu trên toàn thế
giới vào tháng 6 năm 2021, kiểm soát thị trường hệ điều hành di động với gần
73% thị phần. Android của Google và iOS của Apple cùng sở hữu hơn 99%
thị phần toàn cầu (theo báo cáo của statista.com).
Android rất thân thiện với người dùng với khả năng tùy biến mạnh mẽ,
có tính cá nhân hóa cao. Người dùng có thể tùy biến thiết bị của họ theo cách
mà họ muốn. Android có lượng ứng dụng của bên thứ ba ngày càng nhiều,
được chọn lọc và đặt trên một cửa hàng ứng dụng như Google
Play hay Amazon Appstore để người dùng lấy về, hoặc bằng cách tải xuống
rồi cài đặt tập tin ''APK'' từ trang web khác.
Bên cạnh đó, thiết bị dễ nhiễm phần mềm độc hại và virus. Do tính
chất mã nguồn mở, nhiều phần mềm không được kiểm soát có chất lượng
không tốt hoặc lỗi bảo mật vẫn được sử dụng. Kho ứng dụng quá nhiều dẫn
đến khó kiểm soát chất lượng, thiếu các ứng dụng thật sự tốt.
Với những tiềm năng lớn mạnh của Android mở ra cơ hội rất lớn cho
việc phát triển ứng dụng trên nền tảng hệ điều hành này. Cơ hội việc làm rộng
mở, nhu cầu tuyển dụng Android Devloper không bao giờ là ngừng lại.
II.
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.
Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud.
Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng
chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao
tác với cơ sở dữ liệu ( theo firebase.google.com/docs/build)
Cụ thể là những giao diện lập trình ứng dụng API đơn giản. Mục đích
nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn. Đặc biệt, còn
là dịch vụ đa năng và bảo mật cực tốt. Firebase hỗ trợ cả hai nền tảng
Android và IOS. Không có gì khó hiểu khi nhiều lập trình viên chọn Firebase
làm nền tảng đầu tiên để xây dựng ứng dụng cho hàng triệu người dùng trên
toàn thế giới.
5
a. 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 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,... Firebase Authentication tích hợp chặt chẽ với
các dịch vụ Firebase khác và nó tận dụng các tiêu chuẩn ngành như OAuth
2.0 và OpenID Connect, vì vậy nó có thể dễ dàng tích hợp với chương trình
phụ trợ tùy chỉnh của bạn.
b. Firebase Realtime Database
Lưu trữ và đồng bộ dữ liệu với cơ sở dữ liệu đám mây NoSQL của
Firebase. Dữ liệu được đồng bộ hóa trên tất cả các ứng dụng khá 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, 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.
6
3.
Phần 3: Phân tích thiết kế
I. Khảo sát
Đánh giá chung: Ứng dụng chung của các ứng dụng lịch là xem ngày tháng,
xem các sự kiện trong năm. Tùy vào mỗi ứng dụng nhà cung cấp sẽ thêm các chức
năng riêng biệt của mỗi ứng dụng. Em có chọn và khảo sát 2 ứng dụng nổi bật, có
nhiều lượt tải, lượt đánh giá của người dùng trên Play Store: Lịch Việt, Google
Lịch.
a. Ứng dụng lich Việt
- Tổng quan: Ứng dụng Lịch Việt có giao diện thân thiện, có rất
nhiều chức năng miễn phí và một số chức năng trả phí.
- Chức năng và hiển thị:
Các chức năng cơ bản như xem ngày tháng theo dương lịch âm
lịch rất dễ nhìn, có nhiều cách xem lịch như theo tuần, tháng, năm.
Có chức năng xem về tử vi số học con người.
Liệt kê các ngày lễ, tết trong năm của người Việt theo trục thời
gian, các sự kiện trọng đại của đất nước.
Dự báo thời tiết hang ngày.
Các câu danh ngôn
Và một số chức năng khác như đếm ngược, danh ngôn,..
- Đánh giá:
Ưu điểm:
Giao diện khá đẹp mắt, dễ nhìn, dễ thao tác
Có rất nhiều chức năng, tăng thêm kiến thức về tử vi, sự kiện
trong năm.
Nhược điểm:
Do có quá nhiều chức năng nên người dùng có thể bị ngợp,
không sử dụng hết các chức năng và cũng vì điều này nên đôi khi ứng
dụng bị giật lag, làm giảm trải nghiệm cho người dùng.
Kiến thức về tử vi số, lá thẻ còn sơ sài, trích dẫn nguồn chưa có
tính chính xác cao.
b. Ứng dụng Google Lich
- Tổng quan : Ứng dụng Lịch Việt có giao diện tối giản, dành cho
việc xử lí công việc
- Chức năng và hiển thị:
Hoàn toàn hiển thị bằng dương lịch.
7
Các chức năng chính như ghi chú, lời nhắc, việc cần làm, mục
tiêu
Hiển thị lịch theo lịch biểu, ngày, tháng năm
Nhắc nhở việc đã làm và việc chưa làm, hoàn thành trong ngày,
các mục tiêu đề ra
- Đánh giá:
Ưu điểm:
Dễ sử dụng.
Sử dụng rất tốt cho công việc hàng ngày, tạo thói quen tốt cho
người dùng.
Tính đồng bộ hóa cao do nằm trong hệ sinh thái ứng dụng của
Google
Nhược điểm:
Không có âm lịch Việt Nam.
Không hiển thị đủ các sự kiện quan trọng của Việt Nam.
8
II.
Mô tả - Phân tích hệ thống và các biểu mẫu
a. Quy mô hệ thống:
Sau khi có thời gian khảo sát, và trải nghiệm các ứng dụng trên
em muốn mình tự xây dựng và làm ra ứng dụng lịch nhỏ của riêng của
bản thân mình có tích hợp các chức năng của các ứng đã có của những
người đi trước.
b. Mô tả - phân tích hệ thống:
i. Hiển thị lịch:
- Người dùng có thể đặt trang chủ là cách xem là ngày, tuần
hoặc tháng.
- Người dùng có thể chọn cách xem lịch theo tháng, tuần, ngày
ii.Tạo sự kiện:
- Người dùng nhập các công việc phải làm, đặt giờ và các ghi
chú, ứng dụng sẽ thông báo theo thời gian mà người dùng muốn.
- Hiển thị các ngày lễ sự kiên trong năm.
- Người dùng có thể tùy chọn thanh màu của sự kiện.
iii.Tùy biến:
- Người dùng có thể thay đổi giao diện, thay đổi font chữ, thay
đổi hình nền theo sở thích của bản thân.
iv. Quản lí dữ liệu:
- Người dùng cung cấp thông tin và đăng kí tài khỏan.
- Người dùng đăng nhập vào ứng dụng
- Lưu trữ dữ liệu người dùng trên firebase
c. Các biểu mẫu
9
10
11
12
13
14
15
16
17
18
19
20
- Xem thêm -