You are on page 1of 53

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

---🙠🕮🙢---

PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG

XÂY DỰNG ỨNG DỤNG ỨNG DỤNG THEO DÕI LUYỆN TẬP SỨC KHỎE
TRÊN THIẾT BỊ DI ĐỘNG

Ngành: Công nghệ thông tin

Mã số: 5

Sinh viên thực hiện: La Thị Lan Anh - CT040105

Nguyễn Hoài Nam - CT040133

Nguyễn Trương Trường Huy - CT0401023

Người hướng dẫn: ThS. Lê Bá Cường

Hà Nội, 2022
MỤC LỤC
MỤC LỤC 1

LỜI CẢM ƠN 3

LỜI CAM ĐOAN 4

DANH SÁCH HÌNH ẢNH 5

DANH SÁCH BẢNG BIỂU 7

LỜI MỞ ĐẦU 1

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 2

1.1 TỔNG QUÁT VỀ HỆ ĐIỀU HÀNH DI ĐỘNG 2


1.2 TỔNG QUAN VỀ JAVA ANDROID NATIVE 2
1.2.1 Khái niệm 2
1.2.2 Tại sao lại chọn hệ điều hành Android 3
1.2.3 Kiến trúc Android 3
1.2.4 Một số khái niệm cơ bản của Android 5
1.3. TỔNG QUAN VỀ ROOMDATABASE 7
1.3.1 Khái niệm 7
1.3.3 SQLite và RoomDatabase 7
1.4. CÔNG CỤ ANDROID STUDIO
1.5. CẢM BIẾN (SENSOR) TRONG ANDROID 8
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10

2.1. PHÁT BIỂU BÀI TOÁN 10


2.2. MÔ HÌNH TỔNG QUÁT 11
2.3. SƠ ĐỒ CHỨC NĂNG 12
2.3.5 Chức năng thông báo 15
2.3.6 Chức năng tìm kiếm phòng tập trên bản đồ 16
2.4 PHÂN TÍCH CA SỬ DỤNG 18

1
2.4.1 Ca sử dụng chọn bài tập theo mức độ 18
2.4.2 Ca sử dụng chọn bài tập theo sở thích 18
2.4.3 Ca sử dụng thống kê 18
2.4.4 Ca sử dụng cài đặt thông tin 19
2.4.5 Ca sử dụng thông báo 19
2.4.6 Ca sử dụng tìm kiếm phòng tập 20
2.5. XÂY DỰNG CƠ SỞ DỮ LIỆU 21
2.5.1 Xây dựng cơ sở dữ liệu 21
2.5.2 Bảng workout 22
2.5.3 Bảng section 23
2.5.4 Bảng challenge 23
2.5.6 Bảng daily_section 25
2.5.7 Bảng steps 25

CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM 32

3.1. HƯỚNG DẪN CÀI ĐẶT 32


3.2. KIỂM THỬ CÁC CHỨC NĂNG 32

KẾT LUẬN 42

1. KẾT QUẢ ĐẠT ĐƯỢC 42


2. HẠN CHẾ CỦA ĐỀ TÀI 42
3. HƯỚNG PHÁT TRIỂN 42

TÀI LIỆU THAM KHẢO 43

2
LỜI CẢM ƠN

Nhóm chúng em xin chân thành cảm ơn các thầy cô trường Học viện Kỹ
thuật mật mã nói chung, quý thầy cô của khoa Công nghệ thông tin nói riêng đã
tận tình dạy bảo, truyền đạt kiến thức cho em trong suốt quá trình học.

Kính gửi đến thầy Lê Bá Cường lời cảm ơn chân thành và sâu sắc, cảm ơn
cô đã tận tình theo sát và chỉ dẫn cho nhóm em trong quá trình thực hiện đề tài
này.

Trong quá trình tìm hiểu nhóm chúng em xin cảm ơn các bạn cùng lớp đã
góp ý, giúp đỡ nhóm em rất nhiều trong quá trình tìm hiểu và làm đề tài.

Chúng em xin chân thành cảm ơn!

LỜI CAM ĐOAN

Nhóm xin cam đoan bài báo cáo “Xây dựng ứng dụng theo dõi, luyện tập
sức khoẻ trên thiết bị di động” là công trình nghiên cứu của nhóm trong thời gian
qua, không sao chép lại từ cá nhân hoặc tổ chức nào khác. Những kết quả đạt
được do nhóm tự nghiên cứu, các số liệu kết quả đúng với thực tế. Các kết quả
này chưa từng công bố trong bất kỳ tài liệu nào khác. Nhóm xin hoàn toàn chịu
trách nhiệm trước nhà trường về lời cam đoan này.

3
DANH SÁCH HÌNH ẢNH
Hình 1. 1. Hình ảnh cấu trúc Android 4
Hình 1. 2. Hình ảnh chức năng sử dụng Weather 6
Hình 1. 3. Hình ảnh Google Keep Notes 7
Hình 1. 4. Hình ảnh thành phần RoomDatabase 8
Hình 1. 5. Hình ảnh Android Studio 9
Hình 1. 6. Hình ảnh hướng dẫn sử dụng Android Studio 10

Hình 2. 1. Hình ảnh sơ đồ usecase tổng quát 12


Hình 2. 2. Hình ảnh sơ đồ chức năng chọn bài tập theo mức độ 13
Hình 2. 3. Hình ảnh sơ đồ chức năng chọn bài tập theo sở thích 14
Hình 2. 4. Hình ảnh sơ đồ chức năng thống kê 15
Hình 2. 5. Hình ảnh sơ đồ chức năng cài đặt thông tin 15
Hình 2. 6. Hình ảnh sơ đồ chức năng thông báo 16
Hình 2. 7. Hình ảnh sơ đồ chức năng tìm kiếm phòng tập trên bản đồ 17
Hình 2. 8. Hình ảnh mô hình quan hệ cơ sở dữ liệu 22
Hình 2. 9. Hình ảnh giao diện bắt đầu với app 27
Hình 2. 10. Hình ảnh giao diện lực chọn mức độ 28
Hình 2. 11. Hình ảnh giao diện tạo bài tập 29
Hình 2. 12. Hình ảnh giao diện luyện tập từng vùng 30
Hình 2. 13. Hình ảnh giao diện luyện tập theo thói quen 30
Hình 2. 14. Hình ảnh giao diện thống kê 31
Hình 2. 15. Hình ảnh giao diện cài đặt 32
Hình 2. 16. Hình ảnh giao diện đếm bước chân 33

Hình 3. 1. Hình ảnh chức năng chọn bài tập theo mức độ 34
Hình 3. 2. Hình ảnh chức năng chọn bài tập theo từng vùng 34
Hình 3. 3. Hình ảnh chức năng tập luyện 35
Hình 3. 4. Hình ảnh chức năng luyện tập từng ngày 36

4
Hình 3. 5. Hình ảnh kiểm thử chức năng thống kê 37
Hình 3. 6. Hình ảnh kiểm thử chức năng thống kê calo 38
Hình 3. 7. Hình ảnh kiểm thử chức năng thống kê cân nặng 39
Hình 3. 8. Hình ảnh kiểm thử chức năng thống kê chỉ số BMI 40
Hình 3. 9. Hình ảnh kiểm thử cài đặt 41

DANH SÁCH BẢNG BIỂU

Bảng 2. 1. Bảng ca sử dụng chọn bài tập theo mức độ 18


Bảng 2. 2. Bảng ca sử dụng chọn bài tập theo sở thích 18
Bảng 2. 3. Bảng ca sử dụng thống kê 19
Bảng 2. 4. Bảng ca sử dụng cài đặt thông tin 19
Bảng 2. 5. Bảng ca sử dụng thông báo 20
Bảng 2. 6. Bảng ca sử dụng tìm kiếm phòng tập 20
Bảng 2. 7. Bảng bài tập (workout) 22
Bảng 2. 8. Bảng section 23
Bảng 2. 9. Bảng challege 24
Bảng 2. 10. Bảng daily_section 25
Bảng 2. 11. Bảng steps 25

5
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, Công nghệ
Thông tin là một trong những ngành có vị thế dẫn đầu và có vai trò rất lớn trong sự
phát triển chung đó. Các ứng dụng của công nghệ thông tin được áp dụng trong mọi
lĩnh vực nghiên cứu khoa học cũng như trong mọi lĩnh vực của đời sống. Là một
phần của Công nghệ Thông tin, Công nghệ app đang có được sự phát triển mạnh mẽ
và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn.
Phần mềm nói riêng cũng là một mảng không thể thiếu trong cuộc sống hiện
tại, nó hỗ trợ rất nhiều khía cạnh từ các phần mềm cho việc kiểm toán, quản lý cho
đến các phần mềm như là mạng xã hội để giao tiếp và xã giao. Một trong những
mảng mới nhất gần đây mà các phần mềm mới phát triển hướng tới là mảng thể dục
thể thao nâng cao sức khỏe. Các ứng dụng mảng này hướng tới việc số hóa việc làm
quen với các động tác thể dục hay chạy bộ từ mức cơ bản đến nâng cao để đạt hiệu
quả cao nhất..
Mối quan tâm về vóc dáng sức khỏe của con người luôn là ưu tiên số 1 tại Việt
Nam. Thông thường, tỷ lệ bệnh nhân đến bệnh viện, phòng khám để thăm khám rất
đông. Điều này làm mất nhiều thời gian và công sức,… Để giảm tối đa tình trạng đó
nhiều app theo dõi, tập luyện sức khỏe ra đời nhằm mục đích giúp người dùng tập
luyện để có 1 vóc dáng và sức khỏe tốt.
Nội dung đề tài gồm các chương:
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN

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

CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM

KẾT LUẬN

TÀI LIỆU THAM KHẢO

1
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1 Tổng quát về hệ điều hành di động
Hệ điều hành di động (tiếng Anh "mobile operating system") là một hệ điều
hành dành cho các thiết bị điện thoại di động, máy tính bảng, đồng hồ thông minh,
laptop 2 trong 1 (laptop có thể chuyển giữa chế độ máy tính và máy tính bảng), hoặc
các thiết bị di động khác. Trong khi đa phần các máy tính xách tay (laptop) cũng có
tính "di động", nhưng các hệ điều hành thường được sử dụng trên chúng không
được xem là hệ điều hành di động, vì các hệ điều hành này được thiết kế ban đầu
cho máy tính để bàn và không có hoặc không cần các tính năng di động cụ thể.
Ngày nay, sự phân biệt giữa hệ điều hành cho máy tính để bàn và hệ điều hành di
động càng trở nên mờ dần, khi một số hệ điều hành mới hoặc các phiên bản mới cho
phép hỗ trợ cả hai nền tảng di động và cố định.

Hệ điều hành di động kết hợp các tính năng của một hệ điều hành cho máy
tính cá nhân với các tính năng khác hữu ích cho việc sử dụng di động hoặc cầm tay;
thường bao gồm hầu hết các chức năng được coi là cần thiết trong các hệ thống di
động hiện đại như: màn hình cảm ứng, mạng thiết bị di động, Bluetooth, Wi-Fi
Protected Access, Wi-Fi, Hệ thống Định vị Toàn cầu (GPS), máy ảnh số cho phép
chụp ảnh và quay video, nhận dạng tiếng nói, thu âm, chơi nhạc, kết nối trường gần,
và đèn hồng ngoại điều khiển từ xa. Đến cuối năm 2016, hơn 430 triệu điện thoại
thông minh đã được bán với 81,7 % chạy nền tảng Android, 17.9 % chạy iOS, 0.3 %
chạy Windows 10 Mobile (hiện các thiết bị chạy nền tảng này không còn được bán
trên thị trường) và các hệ điều hành khác chiếm 0.1%.Android còn phổ biến hơn so
với hệ điều hành Windows, hệ điều hành phổ biến nhất trên máy tính để bàn. Lượng
sử dụng điện thoại thông minh (thậm chí chưa bao gồm máy tính bảng) đã nhiều
hơn cả lượng máy tính để bàn đang sử dụng (nhu cầu sử dụng máy tính tổng thể đã
giảm xuống 44,9% trong quý I năm 2017).

2
1.2 Tổng quan về JAVA ANDROID NATIVE

1.2.1 Khái niệm


Burn Fast App là tên gọi của ứng dụng được phát triển cũng như xây dựng bằng các
công cụ do chính nhà phát triển đã cung cấp cho các lập trình viên. App được áp dụng phổ
biến bằng một số ngôn ngữ hệ điều hành và chúng sở hữu một số tính năng đã có sẵn trên
các hệ điều hành đó. Điều này cho phép những hệ điều hành có vận tốc cao không nhất
thiết phải thực hiện thông qua bất kỳ ứng dụng bên thứ ba hay engine nào cả. Ứng dụng
của Android sẽ viết được bằng hai loại ngôn ngữ bao gồm Kotlin và Java.
1.2.2 Tại sao lại chọn hệ điều hành Android
Android hiện là hệ điều hành di động phổ biến nhất hiện nay với thị phần trung
bình hơn 50% trên toàn thế giới. Hệ điều hành Android có những ưu điểm:
+ Là hệ điều hành có mã nguồn mở nên khả năng tùy biến cao, có thể tùy ý
chỉnh sửa mà không có sự can thiệp hay cấm cản từ Google.
+ Đa dạng sản phẩm, rất nhiều hãng điện thoại, thiết bị công nghệ đã ưu ái
chọn Android cho thiết bị của họ, giá cả thì hợp lý từ bình dân đến cao cấp.
+ Kho ứng dụng Google Play Store đồ sộ.
+ Thân thiện và dễ sử dụng.
+ Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao.
1.2.3 Kiến trúc Android
Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chia thành
5 phần và 4 lớp chính như trong hình bên dưới.

3
Hình 1. 1. Hình ảnh cấu trúc Android
●APPLICATIONS: Lớp trên cùng của kiến trúc là Application. Các ứng dụng
bạn tạo ra sẽ được cài đặt trên lớp này. Ví dụ như: Danh bạ, nhắn tin, trò
chơi…
●APPLICATIONS FRAMEWORK: Lớp Android Framework cung cấp các
dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng các lớp Java. Các nhà
phát triển ứng dụng được phép sử dụng các dịch vụ này trong ứng dụng của
họ. Android Framework bao gồm các dịch vụ chính sau:
❖ Activity Manager - Kiểm soát tất cả khía cạnh của vòng đời ứng dụng
và ngăn xếp các Activity.
❖ Content Providers - Cho phép các ứng dụng chia sẽ dữ liệu với các ứng
dụng khác.
❖ Resource Manager - Cung cấp quyền truy cập vào các tài nguyên như
các chuỗi, màu sắc, các layout giao diện người dùng...
❖ Notifications Manager - Cho phép các ứng dụng hiển thị cảnh báo và
các thông báo cho người dùng.
❖ View System - Tập các thành phần giao diện (view) được sử dụng để
tạo giao diện người dùng.

4
● LIBRARIES: Ở trên lớp nhân Linux là tập các thư viện bao gồm WebKit -
trình duyệt Web mã nguồn mở, được biết đến như thư viện libc, cơ sở dữ liệu
SQLite - hữu dụng cho việc lưu trữ và chia sẻ dữ liệu ứng dụng, các thư viện
chơi và ghi âm audio, video, hay các thư viện SSL chịu trách nhiệm bảo mật
Internet…
●ANDROID RUNTIME: Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ
dưới lên. Phần này cung cấp 1 bộ phận quan trọng là Dalvik Virtual Machine
- là 1 loại Java Virtual Machine được thiết kế đặc biệt để tối ưu cho Android.
Dalvik VM sử dụng các đặc trưng của nhân Linux như quản lý bộ nhớ và đa
luồng, những thứ mà đã có sẵn trong Java. Dalvik VM giúp mọi ứng dụng
Android chạy trong tiến trình riêng của nó, với các thể hiện (instance) riêng
của Dalvik virtual Machine. Android Runtime cũng cung cấp 1 tập các thư
viện chính giúp các nhà phát triển ứng dụng Android có thể viết ứng dụng
Android bằng Java.
●LINUX KERNEL: Dưới cùng là lớp Linux - Linux 3.6 cùng với khoảng 115
bản vá. Lớp này cung cấp 1 cấp độ trừu tượng giữa phần cứng của thiết bị và
các thành trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn
hình hiển thị... Đồng thời, hạt nhân (kernel) còn xử lý tất cả các thứ mà Linux
có thể làm tốt như mạng kết nối và 1 chuỗi các trình điều khiển thiết bị, giúp
cho giao tiếp với các thiết bị ngoại vi dễ dàng hơn.

1.2.4 Một số khái niệm cơ bản của Android

1.2.4.1 Weather
Đây là một trong những ứng dụng dự báo thời tiết tốt nhất hiện nay, cung
cấp cho bạn thông tin chi tiết như nhiệt độ, dự báo mưa, bão, v.v... tại khu vực
của bạn, hoặc bạn cũng có thể chọn xem một khu vực khác để biết tình hình
thời tiết tại đó. 1Weather miễn phí để sử dụng, phiên bản trả phí giá 1.99USD
sẽ loại bỏ các quảng cáo.

5
Hình 1. 2. Hình ảnh chức năng sử dụng Weather

1.2.4.2 Google Keep Notes

Google Keep Notes là một Widget ghi chú đơn giản và hiệu quả dành cho
Android. Với tính năng này, bạn có thể tạo ghi chú văn bản, ghi chú dạng list và
thậm chí cả ghi chú bằng giọng nói. Nó cũng cung cấp cho bạn tùy chọn để chia
sẻ ghi chú với những người khác. Google Keep cũng đi kèm với một bộ Widget
Android đơn giản, cho phép bạn tạo các ghi chú nhanh chóng. Toàn bộ ghi chú
đó sẽ được đồng bộ hóa thông qua tài khoản Google của bạn. Do đó bạn có thể
truy cập note của mình trên máy tính, điện thoại và cả tablet.

Hình 1. 3. Hình ảnh Google Keep Notes


1.3. Tổng quan về ROOMDATABASE

1.3.1 Khái niệm

6
Room database được phát triển và cải tiến từ sqlite. Room database giúp đơn
giản hoá việc code, và giảm thiểu các công đoạn liên quan đến cơ sở dữ liệu.
Bản chất Room database là abstract layer gồm cơ sở dữ liệu chuẩn SQLite
được Android thông qua.
Với 3 thành phần chính là: Database, DAO(Data Access Object) và entity.
Mỗi thành phần đều có nhiệm vụ và chức năng riêng.
1.3.2 Tại sao lại chọn RoomDatabase

Room database cung cấp một lớp trừu tượng trên cơ sở của SQLite và cho phép
truy cập cơ sở dữ liệu mạnh hơn cũng như tận dùng lại được toàn bộ sức mạnh của
SQLite đã vốn có .
Library này sẽ giúp bạn tạo bộ nhớ cache dữ liệu của ứng dụng . Cho phép bạn
có thể lưu trữ và lấy lại dữ liệu khi cần .
Roomdatabase bao gồm 3 major component như sau :

● Database đóng vai trò là điểm truy cập chính cho kết nối với cơ sở dữ
liệu của bạn
● Entity: Như là một table trong database , đại diện của một class Entity
● DAO: Chứa các method dùng để truy cập database .Cơ bản sẽ là
CRUD data

1.3.3 SQLite và RoomDatabase

Điều đầu tiên chúng ta sẽ quan tâm đấy là thành phần Room database gồm
những gì.

7
Hình 1. 4. Hình ảnh thành phần RoomDatabase

● SQLite database: Đây chính là thành phần cốt lõi mà các data được lưu trữ
trong đây. Và file này được lưu trong thiết bị.
● DAO (Data access object): Chứa các ánh xạ SQLite tới các hàm CRUD. Chắc
hẳn bạn vẫn còn nhớ mình đã phải rất cẩn thận viết câu queries SQLite chứ,
nếu chẳng may có sai thì phải dò lại rất cẩn thận. Nhưng bây giờ điều đó trở
lên đơn giản hơn rất nhiều, khi bạn dùng DAO và call các method rồi Room
sẽ làm tiếp những phần còn lại.
● Entity: Đây chính là những đối tượng nhỏ bạn cần lưu trữ (table) Ex: user
table, event table,... Hiện tại tất cả việc định nghĩa thuộc tính đã được support
bằng annotations rất ngắn gọn.
● Room database: Đây là lớp abstract layer nằm ngoài cùng đóng vai trò quản
lý SQLite database và cho phép truy cập tới tầng dưới cùng của SQLite.
Room dùng DAO để thực hiện các queries tới database.
1.4. Công cụ Android Studio
1.4.1 Khái niệm

Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng
Android dựa trên IntelliJ IDEA. Chức năng chính của Android Studio là cung cấp
các giao diện giúp người dùng có thể tạo các ứng dụng và xử lý các công cụ file
phức tạp sau hậu trường. Ngôn ngữ lập trình được sử dụng trong Android Studio là
Java và nó sẽ được cài đặt sẵn trên thiết bị của bạn.

8
Hình 1. 5. Hình ảnh Android Studio
1.4.2 Lịch sử hình thành

Android Studio đã được công bố vào năm 2013 tại hội nghị Google I/O và
được phát hành vào năm 2014 sau nhiều phiên bản khác nhau. Trước đó, thì các nhà
phát triển của Android thường sử dụng các công cụ như Eclipse IDE hoặc một IDE
Java chung để hỗ trợ cho nhiều ngôn ngữ lập trình khác. Android Studio giúp cho
việc tạo ứng dụng dễ dàng hơn so với các phần mềm chuyên dụng. Với người mới,
sẽ có rất nhiều thứ phải học và nhiều thông tin có sẵn. Thậm chí, chúng còn thông
qua nhiều kênh chính thức hoặc có thể có lỗi khiến người dùng hoang mang.
1.4.3 Hướng dẫn tải về

Việc thiết lập Android Studio tương đối đơn giản vì nó đã được phát triển trình
cài đặt. Khi bạn tải Android Studio sẽ được nhận thêm Android SDK, SDK manager
và rất nhiều công cụ kèm theo khác. Một trong những công cụ duy nhất mà bạn cần
phải có chính là Java Development Kit.

9
Hình 1. 6. Hình ảnh hướng dẫn sử dụng Android Studio
1.5. Cảm biến (Sensor) trong Android

Hầu hết các thiết bị Android đều có cảm biến tích hợp để đo chuyển động,
định hướng và các điều kiện môi trường khác nhau. Các cảm biến này sẽ cung cấp
dữ liệu thô với độ chính xác cao và rất hữu ích để theo dõi chuyển động của thiết bị
ba chiều hoặc định vị hoặc theo dõi các thay đổi trong môi trường xung quanh gần
thiết bị.

Ví dụ: để báo các thay đổi trong môi trường, ứng dụng thời tiết có thể sử dụng cảm
biến nhiệt độ và cảm biến độ ẩm hoặc ứng dụng travel có thể sử dụng cảm biến từ
trường địa từ và gia tốc kế để báo cáo hướng la bàn, v.v.

Android chủ yếu hỗ trợ ba loại cảm biến:

● Cảm biến chuyển động (Motion Sensors): Những cảm biến này rất hữu ích để
đo lực gia tốc và lực quay dọc theo ba trục. Bao gồm gia tốc kế, cảm biến
trọng lực, con quay hồi chuyển và cảm biến vectơ quay.

10
● Cảm biến môi trường (Environmental Sensors): Những cảm biến này rất hữu
ích để đo các thông số môi trường khác nhau, chẳng hạn như nhiệt độ và áp
suất không khí xung quanh, độ chiếu sáng và độ ẩm. Bao gồm áp kế, quang
kế và nhiệt kế.
● Cảm biến vị trí (Position Sensors): Những cảm biến này rất hữu ích để đo vị
trí vật lý của thiết bị. Bao gồm cảm biến định hướng và từ kế.
Android cung cấp một framework gọi là sensor framework để truy cập tất cả
các cảm biến có sẵn trên thiết bị và để lấy tất cả dữ liệu cảm biến thô. Sensor
framework cung cấp nhiều loại nhiệm vụ liên quan đến cảm biến. Ví dụ: bằng cách
sử dụng sensor framework, chúng ta có thể thực hiện:

● Nó liệt kê tất cả các cảm biến có sẵn trên thiết bị

● Nó xác định khả năng của từng cảm biến, chẳng hạn như phạm vi tối đa, nhà

sản xuất, yêu cầu năng lượng và độ phân giải.


● Nó có thể thu được dữ liệu cảm biến thô và xác định tốc độ tối thiểu mà bạn

có được dữ liệu cảm biến.


● Đăng ký và hủy đăng sự kiện lắng nghe cảm biến, theo dõi, thay đổi cảm

biến.

Sensor framework sẽ cho phép chúng ta truy cập vào nhiều loại cảm biến,
một số cảm biến này dựa trên phần cứng và một số dựa trên phần mềm. Các cảm
biến dựa trên Phần cứng là các thành phần vật lý được xây dựng trên thiết bị cầm
tay hoặc máy tính bảng và cảm biến dựa trên phần mềm không phải là thiết bị vật lý
nhưng chúng bắt chước các cảm biến dựa trên phần cứng.

Sensor framework Android đã cung cấp các lớp và giao diện sau để truy cập
cảm biến thiết bị và thu thập dữ liệu cảm biến thô.

11
● SensorManager: Bằng cách sử dụng lớp này, chúng ta có thể tạo một thể hiện
của sensor service và lớp này cung cấp phương thức khác nhau để truy cập và
liệt kê các cảm biến, đăng ký và không đăng ký nghe sự kiện cảm biến và có
được thông tin định hướng.
● Sensor: Bằng cách sử dụng lớp này, chúng ta có thể tạo một thể hiện của một
cảm biến cụ thể và lớp này cung cấp các phương thức khác nhau cho phép
bạn xác định khả năng của cảm biến.
● SensorEvent: Hệ thống sử dụng lớp này để tạo một đối tượng sự kiện cảm
biến và nó cung cấp dữ liệu cảm biến thô, loại cảm biến tạo ra sự kiện, độ
chính xác của dữ liệu và dấu thời gian cho sự kiện.
● SensorEventListener: Chúng ta có thể sử dụng giao diện này để tạo hai
phương thức callback nhận thông báo (sự kiện cảm biến) khi giá trị cảm biến
thay đổi hoặc khi độ chính xác của cảm biến thay đổi.

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


2.1. Phát biểu bài toán
2.1.1 Bài toán thực tế

Thị trường ứng dụng sức khỏe và thể dục luôn khá thành công, tạo ra hàng
triệu đô la mỗi năm. Sự gia tăng của công việc từ xa kể từ khi các vụ khóa cửa gây
ra đại dịch đã khiến phần lớn những người đam mê thể dục và sức khỏe giảm thời
gian đến phòng tập thể dục. Vì vậy, hơn bao giờ hết, ngày càng có nhiều người tập
thể dục tại nhà. Điều này đã làm tăng nhu cầu về các ứng dụng thể dục và sức khỏe
di động trên thị trường. Đối với những người hâm mộ sức khỏe và thể dục dành
riêng cho thói quen tập luyện thường xuyên, việc phát triển các ứng dụng thể dục
trên thiết bị di động hiệu quả càng trở nên quan trọng hơn.
2.1.2 Hướng giải quyết
12
Nhóm đề xuất xây dựng một ứng dụng theo dõi, tập luyện sức khỏe để có thể
hỗ trợ cũng như thúc đẩy quá trình cải thiện sức khỏe và vóc dáng. Ứng dụng
này tập trung chủ yếu về các bài tập cho từng mức độ mà người dùng mong muốn.
Ứng dụng này có các tính năng về bài tập, đo mức độ luyện tập cũng như mức Calo
tiêu hao sau đó tính mức độ cân đối dựa trên cân nặng và chiều cao.
Ứng dụng có nhiều tính năng khác nhau để giúp bạn quản lý sức khỏe của
mình. Vì ứng dụng cho phép bạn tự động ghi lại nhiều hoạt động, nên việc tạo ra
một lối sống lành mạnh trở nên dễ dàng và đơn giản hơn bao giờ hết. Làm việc
chăm chỉ và luôn duy trì tình trạng tốt nhất của bạn với ứng dụng. Đặt mục tiêu phù
hợp với mức độ của riêng bạn và theo dõi tình trạng hàng ngày của bạn bao gồm
lượng hoạt động, cường độ tập luyện, trạng thái ngủ, nhịp tim, căng thẳng, mức oxy
trong máu, v.v

2.2. Mô hình tổng quát


Tổng quát các chức năng của app hẹn hò Dating sẽ có các phần :

● Giới thiệu

● Chọn mức độ phù hợp

● Thiết lập thời gian nhắc nhở

● Tạo bài tập

● Chọn bài tập cho từng vùng

● Thống kê

● Xác minh tài khoản

● Cài đặt

13
● Nhận thông báo

● Chặn quảng cáo

● Xem, chỉnh sửa profile

● Theo dõi, đếm số bước chân

Hình 2. 1. Hình ảnh sơ đồ usecase tổng quát


2.3. Sơ đồ chức năng
2.3.1 Chức năng chọn bài tập theo mức độ

14
Khi đã mở thành công app, người dùng có thể chọn mức độ luyện tập phù hợp.
Có 3 mức độ dễ, trung bình, khó.

Hình 2. 2. Hình ảnh sơ đồ chức năng chọn bài tập theo mức độ

2.3.2 Chức năng chọn bài tập theo sở thích

Khi muốn tập một vùng riêng như bắp tay, chân, lưng hay bụng… Người dùng
có thể chọn những bài tập có trên app theo sở thích.

15
Hình 2. 3. Hình ảnh sơ đồ chức năng chọn bài tập theo sở thích

2.3.3 Chức năng thống kê

Sau khi người dùng hoàn thành các bài tập thì app sẽ thống kê số bài tập đã
thực hiện, thời gian tập, tính toán mức calo tiêu hao, tính chỉ số cân bằng BMI để
người sử dụng dễ dàng theo dõi, sức khoẻ, quá trình tập luyện có đạt mục tiêu đề ra
hay không.

16
Hình 2. 4. Hình ảnh sơ đồ chức năng thống kê

2.3.4 Chức năng cài đặt thông tin

Sau khi thay đổi vóc dáng, người dùng có thể chỉnh sửa thông tin về chiều cao,
cân nặng của bản thân. App dựa vào thông tin người dùng cung cấp để tính toán các
chỉ số một cách chính xác.

Hình 2. 5. Hình ảnh sơ đồ chứa năng cài đặt thông tin

2.3.5 Chức năng thông báo


17
Mỗi khi đến thời gian tập luyện mà người dùng đã cài đặt hoặc các thông báo
từ hệ thống, App sẽ gửi thông báo đến bạn ngay cả trong app và thông báo ngoài
điện thoại. Và cũng như các app khác trên thiết bị di động, nếu như bạn đang sử
dụng app, thì sẽ không có thông báo ngoài của điện thoại, còn nếu bạn không sử
dụng app, chúng tôi sẽ gửi cả thông báo trong app cũng như ngoài màn hình thiết bị
của bạn.

Hình 2. 6. Hình ảnh sơ đồ chức năng thông báo

2.3.6 Chức năng tìm kiếm phòng tập trên bản đồ

Khi muốn trực tiếp tham gia các khóa luyện tập tại các trung tâm, thì người
dùng có thể vào mục tìm kiếm phòng tập trên bản đồ. Tại đây app sẽ đưa ra list các
phòng tập gần vị trí bạn.

18
Hình 2. 7. Hình ảnh sơ đồ chức năng tìm kiếm phòng tập trên bản đồ

19
2.4 Phân tích ca sử dụng

2.4.1 Ca sử dụng chọn bài tập theo mức độ

Bảng 2. 1. Bảng ca sử dụng chọn bài tập theo mức độ

User case Bài tập theo mức độ

Actor User

Description Chọn bài tập theo 3 mức độ: dễ, trung bình, khó.

Pre-condition Mở app thành công

Flows 1. Người dùng mở app


2. Chọn bài tập theo mức độ ở trang chủ

2.4.2 Ca sử dụng chọn bài tập theo sở thích

Bảng 2. 2. Bảng ca sử dụng chọn bài tập theo sở thích

User case Bài tập theo sở thích

Actor User

Description Chọn bài tập theo vùng mà người dùng mong muốn.

Pre-condition Cài đặt và mở app thành công

20
Flows 1. Người dùng mở app
2. Chọn tab luyện tập
3. Chọn bài tập theo từng vùng mong muốn.

2.4.3 Ca sử dụng thống kê

Bảng 2. 3. Bảng ca sử dụng thống kê

User case Thống kê

Actor User

Description Thống kê các thông tin liên quan đến bài tập.

Pre-condition Người dùng đã sử dụng app.

Flows 1. Vào màn hình trang chủ


2. Chọn tab thống kê
3. Theo dõi số liệu app đã thống kê như thời gian luyện
tập, lượng calo đốt cháy, chỉ số BMI… dựa vào bài tập
người dùng đã tập

2.4.4 Ca sử dụng cài đặt thông tin

Bảng 2. 4. Bảng ca sử dụng cài đặt thông tin

User case Cài đặt thông tin

Actor User

Description Thay đổi thông tin như cân nặng, chiều cao.

21
Pre-condition

Flows 1. Vào màn hình cài đặt


2. Chọn tab cài đặt thông tin người dùng
3. Thay đổi thông tin chiều cao, cân nặng
4. Thoát ra tab cài đặt.
Khi đó thông tin sẽ được lưu vào database.

2.4.5 Ca sử dụng thông báo

Bảng 2. 5. Bảng ca sử dụng thông báo

User case Thông báo

Actor User

Description Thông báo

Pre-condition Đã cài đặt thời gian luyện tập

Flows 1. App sẽ luôn lắng nghe các sự kiện liên quan đến
người dùng và sau đó hiển thị thông báo đến người sử
dụng.

2.4.6 Ca sử dụng tìm kiếm phòng tập

Bảng 2. 6. Bảng ca sử dụng tìm kiếm phòng tập

User case Tìm kiếm phòng tập

Actor User

22
Description Tìm kiếm phòng tập trên bản đồ

Pre-condition

Flows 1. Vào màn hình tìm kiếm phòng tập


2. Hệ thống sẽ tự động hiện phòng tập xung quanh vị trí
người dùng.

23
2.5. Xây dựng cơ sở dữ liệu

2.5.1 Xây dựng cơ sở dữ liệu

App sẽ sử dụng cơ sở dữ liệu phi quan hệ, cơ sở dữ liệu được thiết kế sẵn
và tùy theo mỗi chức năng của app mà các bảng được thiết kế với những trường
chứa những thuộc tính khác nhau:

Hình 2. 8. Hình ảnh mô hình quan hệ cơ sở dữ liệu

24
2.5.2 Bảng workout

Bảng 2. 7. Bảng bài tập (workout)

ST Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả


T

1 Id Text Khóa chính Khoá chính

2 Title Text Bắt buộc Mô tả bài tập

3 Description Text Bắt buộc Chi tiết bài


tập

4 timeDefault Text Bắt buộc Thời gian bài


tập

5 countDefault Int Không bắt Đếm số


buộc lượng bài tập

6 Video Text Bắt buộc Video bài tập

7 video_female Text Không bắt Link video


buộc bài tập

8 Anim Text Bắt buộc Mô tả hiệu


ứng bài tập

9 anim_female Text Không bắt Mô tả hiệu


buộc ứng bài tập

10 Type Int Bắt buộc Kiểu bài tập

11 isTwoSides Int Bắt buộc

12 Calories Int Bắt buộc Lượng calo

25
tiêu hao

13 Group Int Bắt buộc

14 title_language Text Bắt buộc Bài tập

15 description_language Text Mô tả ngôn


ngữ

16 is_tranning Int Có thể tập


luyện không

2.5.3 Bảng section

Bảng 2. 8. Bảng section

STT Tên thực thể Kiểu dữ Ràng buộc Mô tả


liệu

1 Id Text Khóa chính Khóa chính của


bảng

2 Title Text Bắt buộc Mô tả section

3 description Text Bắt buộc Mô tả chi tiết


section

4 Thumb Text Bắt buộc Vùng tập

5 thumb_female Text Bắt buộc

6 Level Int Bắt buộc Mức độ

7 Type Int Bắt buộc Kiểu bài tập

8 Status Int Bắt buộc

26
9 workoutsId Text Bắt buộc

10 title_language Text

11 description_languag Text
e

2.5.4 Bảng challenge

Bảng 2. 9. Bảng challege

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính Khóa chính của bảng

2 Week Int Bắt buộc

3 Day Int Bắt buộc

4 sectionId Int Bắt buộc

5 Status Int

27
2.5.6 Bảng daily_section

Bảng 2. 10. Bảng daily_section

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính Khóa chính của bảng

2 section_id Int Bắt buộc Id section của ngày

3 Level Int Bắt buộc Độ khó

4 is_rest_day Int Bắt buộc Kiểm tra đã hoàn


thành bài tập chưa

5 Day Int Bắt buộc Ngày

2.5.7 Bảng steps

Bảng 2. 11. Bảng steps

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Date Int Bắt buộc Ngày theo dõi

2 Steps Int Bắt buộc Số bước chân


2.6. Xây dựng giao diện App

● Màn hình bắt đầu

28
Hình 2. 9. Hình ảnh giao diện bắt đầu với app

Màn hình bắt đầu bao gồm:


1. Màn hình 1: Giới thiệu khẩu hiệu của App
2. Màn hình 2: Chọn kế hoạch bắt đầu.
3. Màn hình bước 3: Thiết lập nhắc nhở ban đầu.

29
● Màn hình trang chủ

Màn hình trang chủ gồm:


- Lựa chọn mức độ luyện tập:

Hình 2. 10. Hình ảnh giao diện lực chọn mức độ

+ Button “Xem tất cả” : Cho phép người dùng xem và chọn các mức độ luyện
tập.
+ Button “Bắt đầu”: Hiển thị các bài tập cần luyện tập trong ngày đó.
- Tạo bài tập theo sở thích, nhu cầu:

30
Hình 2. 11. Hình ảnh giao diện tạo bài tập

+ Button “Thêm bài tập” : Cho phép người dùng xem và chọn các bài tập mong
muốn.

● Màn hình luyện tập

- Màn hình luyện tập hiển thị các bài tập theo từng vùng. Khi chọn một vùng,
hiển thị ra các bài tập.

31
Hình 2. 12. Hình ảnh giao diện luyện tập từng vùng

- Màn hình luyện tập theo thói quen hiển thị thời gian luyện tập sáng, tối. Khi
chọn sáng hoặc tối thì hiển thị ra bài tập.

Hình 2. 13. Hình ảnh giao diện luyện tập theo thói quen

● Màn hình thống kê

32
Hình 2. 14. Hình ảnh giao diện thống kê

Màn hình thống kê hiển thị thể hiện trong hình … gồm:
- Tổng số (bài tập, kcal, phút).
- Mục tiêu tuần (ngày đã luyện tập trong tuần).
- Biểu đồ calo đốt cháy (ước tính Kcal).
- Cân nặng (tính toán, hiển thị biểu đồ sự thay đổi cân nặng).
- Chỉ số BMI(kg/m2).
Button “Chỉnh sửa” : cho phép thay đổi chiều cao, cân nặng.

● Màn hình cài đặt

33
Hình 2. 15. Hình ảnh giao diện cài đặt

Màn hình cài đặt được thể hiện trong hình… bao gồm các cài đặt về:
- Thông tin người dùng, nhắc nhở.
- Âm thanh: tắt tiếng, hướng dẫn bằng giọng nói, lời của huấn luyện viên.
- Chương trình: đặt thời gian nghỉ, thời gian đếm ngược.
- Giọng nói: kiểm tra giọng nói.
- Chung: ngôn ngữ, khởi động lại chương trình.
- Nâng cao: phòng tập gym, bước chân.

34
Hình 2. 16. Hình ảnh giao diện đếm bước chân

CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM


3.1. Hướng dẫn cài đặt

● Bước 1: Tải bản cài đặt với hệ điều hành di động Android.

● Bước 2: Nhấn vào bản vừa tải để cài đặt và nhấn Tiếp tục, xác nhận khi
chương trình yêu cầu.

● Bước 3: Hoàn thiện và sử dụng app.

3.2. Kiểm thử các chức năng


3.2.1 Kiểm thử chức năng luyện tập (theo mức độ / theo từng vùng)
3.2.1.1 Kiểm thử chức năng luyện tập

35
Hình 3. 1. Hình ảnh chức năng chọn bài Hình 3. 2. Hình ảnh chức năng chọn bài
tập theo mức độ tập theo từng vùng

Màn hình chức năng đăng chọn bài tập theo mức độ / theo từng vùng Hình 3.1:
Chọn bất kỳ trong 3 mức độ: người bắt đầu, trung gian, nâng cao hoặc chọn bất kỳ
một trong các vùng. Sau đó chọn button “bắt đầu” để bắt đầu luyện tập.

Kết quả đạt được:

36
Hình 3. 3. Hình ảnh chức năng tập luyện

● Khi nhấn vào button chọn: Hiển thị trang mức độ luyện tập đã chọn.

● Khi bắt đầu: Màn hình chuyển đến các bài tập.

- Thời gian đếm chính xác.


- Nhấn tạm dừng 1 lần: bài tập tạm dừng. Nhấn 2 lần: bài tập tiếp tục.
- Nhấn nút chuyển: chuyển sang bài tập tiếp theo. Khi trong bài tập cuối
thì không chuyển được.
- Nhấn nút quay lại: trở về bài tập trước. Khi trong bài tập đầu tiên thì
không quay lại được.
3.2.1.2 Kiểm thử chức năng luyện tập theo ngày
Màn hình chức năng luyện tập theo ngày như Hình 3.4 :

37
Hình 3. 4. Hình ảnh chức năng luyện tập từng ngày

- Không luyện tập bài tập hoặc tập ít hơn 2 bài tập đầu tiên trong ngày, sau đó
thoát: Hệ thống không ghi nhận đã hoàn thành bài tập trong ngày và hiển thị
phần trăm bài tập đã hoàn thành trong ngày.
- Tập từ 3 bài tập trở lên trong ngày, sau đó thoát: Hệ thống ghi nhận đã hoàn
thành bài tập trong ngày.
- Hoàn thành bài tập, sau đó thoát: Hệ thống ghi nhận đã hoàn thành bài tập
trong ngày.
3.2.2 Kiểm thử chức năng thống kê
3.2.2.1. Kiểm thử chức năng thống kê tổng số

38
Hình 3. 5. Hình ảnh kiểm thử chức năng thống kê

Màn hình tổng số như Hình 3.5:


- Tập thêm bài tập trong ngày.
Kết quả:

● Thông số: bài tập, Kcal, phút tăng chính xác.

3.2.2.2 Kiểm thử chức năng thống kê mục tiêu tuần


Màn hình tổng số như Hình 3.5:
- Luyện tập ngày tiếp theo.
- Thiết lập mục tiêu: Thay đổi số ngày đào tạo hàng tuần và ngày đầu tuần.
Kết quả:

● Ngày tiếp theo được xác nhận hoàn thành bài tập.

● Hiển thị mục tiêu tuần chính xác.

3.2.2.3: Kiểm thử chức năng thống kê ước tính calo.


Màn hình tổng số như Hình 3.6:

39
- Luyện tập thêm số lượng bài tập trong ngày.
Kết quả:

● Biểu đồ hiển thị lượng calo đốt cháy chính xác.

Hình 3. 6. Hình ảnh kiểm thử chức năng thống kê calo

3.2.2.4: Kiểm thử chức năng thống kê cân nặng.


Màn hình tổng số như Hình 3.7:

40
Hình 3. 7. Hình ảnh kiểm thử chức năng thống kê cân nặng

- Chỉnh sửa cân nặng theo từng ngày.


Kết quả:

● Biểu đồ tăng giảm theo đúng cân nặng.

● Cân nặng lớn nhất, nhỏ nhất và giá trị trung bình chính xác.

● Tính toán cân nặng tăng hay giảm chính xác tính từ thời điểm hiện tại so
với 30 ngày trước.

● Chỉnh sửa cân nặng về 0kg: biểu đồ không nhận giá trị cân nặng 0kg.

41
3.2.2.5 Kiểm thử chức năng thống kê chỉ số BMI.

Màn hình tổng số như Hình 3.8:

Hình 3. 8. Hình ảnh kiểm thử chức năng thống kê chỉ số BMI
H
- Thay đổi chiều cao, cân nặng
Kết quả:

● Tính toán chính xác chỉ số BMI theo công thức: (cân nặng) / (chiều cao *
2)
● Nhận giá trị cân nặng = 0kg, chiều cao = 0m. Biểu đồ hiển thị chỉ số

chính xác.

42
3.2.3 Kiểm thử chức năng cài đặt

Hình 3. 9. Hình ảnh kiểm thử cài đặt

- Cài đặt thông tin của tôi: Thay đổi thông tin.
- Nhắc nhở: thiết lập nhắc nhở.
- Tùy chọn âm thanh: Bật / tắt âm thanh.
- Chương trình: Cài đặt lại thời gian nghỉ và thời gian đếm ngược.
- Kiểm tra giọng nói: Bật kiểm tra.
- Ngôn ngữ: Chuyển đổi ngôn ngữ từ tiếng Anh sang tiếng Việt và ngược lại.
- Khởi động lại chương trình.
- Phòng tập gym: Tìm kiếm phòng tập quanh vị trí hiện tại.
● Kết quả: Các chức năng hoạt động ổn định, chính xác.
3.2.4 Kiểm thử chức năng Thông báo

43
Chức năng thông báo được thể hiện trong Hình 3.9:
Sau khi thiết lập thời gian nhắc nhở. Đến thời gian đã thiết lập, Hệ thống sẽ gửi
thông báo về cho bạn. Mặc định nếu bạn đang sử dụng app thì sẽ có thông báo thẳng
vào app, còn nếu ứng dụng đang không được sử dụng thì sẽ có thêm thông báo
ngoài màn hình.
Kết quả: Thông báo hiển thị đến người dùng kèm theo âm thanh nếu có.
3.2.5 Kiểm thử chức năng đếm bước chân

Hình 3.10: Màn hình Count Steps

Mô tả: Mở app, mang theo thiết bị đi bộ hoặc chạy.


Kết quả: Số bước chân hiển thị trên app tăng.

44
KẾT LUẬN
1. Kết quả đạt được

● Sau một thời gian tập trung triển khai đề tài, nhóm đã hoàn thành được app
Theo dõi, luyện tập sức khoẻ với giao diện đẹp, các thao tác sử dụng dễ dàng, thân
thiện với người dùng.

● Phần mềm có thể ứng dụng thực tiễn đối với tất cả mọi người.

● Nắm được các bước xây dựng một app hẹn hò đúng quy trình.

● Bên cạnh đó, nhóm cũng được mở rộng thêm các kiến thức chuyên ngành
mới nhờ việc tìm hiểu một số kiến thức lập trình để áp dụng vào việc phát triển ứng
dụng này. Nhờ vậy, kỹ năng tự học và vận dụng các kỹ năng mới của nhóm được
nâng cao hơn.

● Khi thực hiện và hoàn thành dự án, nhóm cũng đã biết thêm được nhiều kinh
nghiệm quý giá khi xây dựng app nói riêng và phát triển phần mềm. Những kỹ năng
này sẽ nền tảng để giúp nhóm em nâng cao trình độ bản thân, kinh nghiệm trong
thực tế để có thể làm việc ngoài các doanh nghiệp sau này.
2. Hạn chế của đề tài

Phần mềm xây dựng app theo dõi và luyện tập sức khoẻ tuy đã hoàn thành
xong vẫn không tránh khỏi những thiếu sót cũng như những hạn chế nhất định:

● Kỹ năng phân tích hệ thống còn nhiều hạn chế

● Các chức năng vẫn chưa được đầy đủ và hoàn hảo như mong đợi

3. Hướng phát triển

● Tiếp tục bổ sung những chức năng mà app chưa có để app có thể ứng dụng
rộng rãi trong mọi cửa hàng.
45
● Tiếp tục hoàn thiện chương trình hi vọng có thể đáp ứng được mọi nhu cầu
của người sử dụng.

46
TÀI LIỆU THAM KHẢO
Các trang web tham khảo:
[1] https://www.samsung.com/vn/apps/samsung-health/ (Lần truy cập cuối cùng: 14 giờ 15
phút ngày 18/12/2022)
[2] https://docs.oracle.com/en/java/ (Lần truy cập cuối cùng: 14 giờ 16 phút ngày 18/12/2022)
[3] https://www.sqlite.org/docs (Lần truy cập cuối cùng: 15 giờ 16 phút ngày 18/12/2022)
[4] https://www.dienmayxanh.com/kinh-nghiem-hay/top-ung-dung-theo-doi-suc-khoe-y-
te-tot-nhat-hi-1244302 (Lần truy cập cuối cùng: 16 giờ 17 phút ngày 18/12/2022)
[5] https://nanoweb.vn/thiet-ke-app-suc-khoe-cham-soc-suc-khoe-thoi-dai-4-0-
nd219499.html (Lần truy cập cuối cùng: 16 giờ 17 phút ngày 18/12/2022)
[6] https://sapp.vn/thiet-ke-app-suc-khoe/ (Lần truy cập cuối cùng: 16 giờ 19 phút ngày
18/12/2022)
[8] http://wab-component.com/cong-cu-tao-ung-dung-android/ (Lần truy cập cuối cùng: 17 giờ 25
phút ngày 18/12/2022)
[9] https://snapcraft.io/android-studio (Lần truy cập cuối cùng: 17 giờ 36 phút ngày 18/12/2022)

47

You might also like