Professional Documents
Culture Documents
Nhóm 65 App sức khoẻ 1
Nhóm 65 App sức khoẻ 1
---🙠🕮🙢---
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
Mã số: 5
Hà Nội, 2022
MỤC LỤC
MỤC LỤC 1
LỜI CẢM ƠN 3
LỜI MỞ ĐẦU 1
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
KẾT LUẬN 42
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.
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 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
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
KẾT LUẬN
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
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.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
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.
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
Đ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.
● 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ó 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à
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.
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
● Giới thiệu
● Thống kê
● Cài đặt
13
● Nhận thông báo
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 độ
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
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ê
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.
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
Actor User
Description Chọn bài tập theo 3 mức độ: dễ, trung bình, khó.
Actor User
Description Chọn bài tập theo vùng mà người dùng mong muốn.
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.
Actor User
Description Thống kê các thông tin liên quan đến bài tập.
Actor User
Description Thay đổi thông tin như cân nặng, chiều cao.
21
Pre-condition
Actor User
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.
Actor User
22
Description Tìm kiếm phòng tập trên bản đồ
Pre-condition
23
2.5. 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:
24
2.5.2 Bảng workout
25
tiêu hao
26
9 workoutsId Text Bắt buộc
10 title_language Text
11 description_languag Text
e
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
5 Status Int
27
2.5.6 Bảng daily_section
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
28
Hình 2. 9. Hình ảnh giao diện bắt đầu với app
29
● Màn hình trang chủ
+ 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 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
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.
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
● 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.
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.
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.
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ê
● Ngày tiếp theo được xác nhận hoàn thành bài tập.
39
- Luyện tập thêm số lượng bài tập trong ngày.
Kết quả:
40
Hình 3. 7. Hình ảnh kiểm thử chức năng thống kê 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.
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
- 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
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:
● Các chức năng vẫn chưa được đầy đủ và hoàn hảo như mong đợi
● 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