Tải bản đầy đủ (.pdf) (53 trang)

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

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 (2.37 MB, 53 trang )

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 QT 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, q 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 q trình thực hiện đề tài
này.

Trong q 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 q 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 hồn tồ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 tồ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 số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. Tồ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 hố 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 ngồ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

1.4.2 Lịch sử hình thành Hình 1. 5. Hình ảnh Android Studio
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 q 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à ln 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 qt
Tổng qt 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


×