1. Trang chủ
  2. » Thể loại khác

ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN

40 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 2,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Đặc tính mở của Android: Android được xây dựng để cho phép các nhà phát triển để tạo ra cácứng dụng di động hấp dẫn, tận dụng tất cả tính năng một chiếc điệnthoại đã cung cấp.. Androi

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG VIỆT – HÀN

KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG

ĐẾM BƯỚC CHÂN THÔNG MINH

Sinh viên thực hiện : ĐẶNG QUANG TÀI

NGUYỄN THỊ TRÚC LY

Giảng viên hướng dẫn: ThS TRẦN ĐÌNH SƠN

Lớp : 19IT1

Đà Nẵng, tháng 5 năm 2021

Trang 2

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG VIỆT – HÀN

KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG

ĐẾM BƯỚC CHÂN THÔNG MINH

Sinh viên thực hiện : ĐẶNG QUANG TÀI

NGUYỄN THỊ TRÚC LY

Giảng viên hướng dẫn: ThS TRẦN ĐÌNH SƠN

Lớp : 19IT1

Trang 3

Đà Nẵng, tháng 5 năm 2021

Trang 4

thành nhất tới thầy giáo – ThS.Trần Đình Sơn đã quan tâm giúp đỡ, hướng dẫn

tôi hoàn thành tốt đồ án này trong thời gian qua

Tuy nhiên, đây là lần đầu tiên được tiếp xúc và tìm hiểu về đồ án này cùngvới trình độ kiến thức và lượng kinh nghiệm còn hạn chế, nên không thể tránhkhỏi có những sơ sót Vì vậy, tôi rất mong có sự đóng góp ý kiến và đánh giá chânthành của các thầy, các cô để đồ án này của chúng tôi được có điều kiện bổ sung,nâng cao ý thức của mình, hoàn thiện một cách tốt nhất có thể Tôi xin chân thànhcảm ơn

Trang 5

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 6

MỤC LỤC

Trang

MỞ ĐẦU

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu đề tài 1

1.3 Nội dung thực hiện 1

Chương 1 Cơ sở lý thuyết 2

1.1 Hệ điều hành Android 2

1.1.1 Hệ điều hành Android là gì? 2

1.1.2 Kiến trúc Android 3

1.2 Môi trường Android Stusio 6

1.2.1 Giới thiệu Android studio 6

1.2.2 Cài đặt môi trường Android Studio 7

1.2.3 Cấu trúc dự án Android trong Android Studio 7

1.2.4 Thành phần giao diện trong Android Studio 8

1.2.5 Vòng đời ứng dụng Android 9

1.3 Mô hình thiết kế MVC 11

1.4 Ngôn ngữ lập trình Kotlin 11

1.5 SQLite database 13

1.6 Cảm biến trong Android 13

1.7 Kiến thức tính lượng năng lượng đốt cháy 14

1.7.1 Tỉ lệ trao đổi chất cơ bản (BRM) 14

1.7.2 Giá trị MET 14

Chương 2 Nghiên cứu tổng quan 16

2.1 Các ứng dụng cùng chức năng đã có trên thị trường 16

2.2 Cảm biến đếm bước chân trên điện thoại 16

2.3 GPS 17

2.4 Các thuật toán xử lý dữ liệu 17

2.4.1 Thuật toán tính quãng đường di chuyển 17

2.4.2 Thuật toán tính thời gian di chuyển 18

2.4.3 Thuật toán tính vận tốc trung bình di chuyển được 18

2.4.4 Thuật toán tính số năng lượng đốt cháy 18

Chương 3 Phân tích và thiết kế hệ thống 21

3.1 Mô hình tổng quan của ứng dụng nghiên cứu 21

3.2 Khảo sát và đặt tả yêu cầu 21

3.2.1 Yêu cầu chức năng 21

3.2.2 Yêu cầu phi chức năng 21

Trang 7

3.3 Phân tích và thiết kế hệ thống 21

3.3.1 Các chức năng của hệ thống 21

3.4 Biểu đồ usecase 22

3.4.1 Biểu đồ usecase tổng quát 22

3.4.2 Biểu đồ usecase chế độ thử thách 23

Chương 4 Triển khai xây dựng website 24

4.1 Các công cụ, phần mềm sử dụng 24

4.2 Thiết kế, xây dựng giao diện ứng dụng 24

4.2.1 Thiết kế wireframe 24

4.2.2 Giao diện đã hoàn thành 26

Chương 5 Kết luận và hướng phát triển 31

5.1 Kết quả 31

5.2 Hạn chế 31

5.3 Hướng phát triển 31

5.4 Kết luận 31

Trang 8

DANH MỤC HÌNH

Trang

Hình 1.1 Hệ điều hành Android 2

Hình 1.2 Mô hình kiến trúc nền tảng Android 4

Hình 1.3 Android Studio 6

Hình 1.4 Cấu trúc dự án Android 7

Hình 1.5 Activity Stack 9

Hình 1.6 Các trạng thái của chu kỳ 10

Hình 1.7 Bảng giá trị MET 15

Hình 2.1 Ứng dụng “Trình theo dõi bước – Đo bước chân” 16

Hình 2.2 Ứng dụng “Bộ đếm bước – Đo bước chân và đo calo” 16

Hình 2.3 Hàm tính tỉ lệ đốt cháy 19

Hình 2.4 Hàm chuyển đổi kcal/ngày sang kcal/phút 19

Hình 2.5 Hàm tính năng lượng đốt cháy 19

Hình 2.6 Hàm lấy giá trị MET 20

Hình 3.1 Biểu đồ usecase tổng quát 22

Hình 3.2 Biểu đồ usecase chế độ thử thách 23

Hình 4.1 Thiết kế màn hình “home” 24

Hình 4.2 Thiết kế màn hình “lịch sử hoạt động” 25

Hình 4.3 Thiết kế màn hình “cập nhật thông tin” 25

Hình 4.4 Thiết kế màn hình “chế độ thử thách” 26

Hình 4.5 Giao diện “home” 27

Hình 4.6 Giao diện “lịch sử hoạt động” 28

Hình 4.7 Giao diện “cập nhật thông tin” 29

Hình 4.8 Giao diện “chế độ thử thách” 30

Hình 4.9 Giao diện trang “tin tức” 30

Trang 9

MỞ ĐẦU 1.1 Lý do chọn đề tài

Khoa học công nghệ ngày càng phát triển, những chiếc điện thoại di độngcũng thay đổi theo, đem đến nhiều lợi ích quan trọng cho người sử dụng như: giữliên lạc đơn giản hơn, chụp ảnh dễ dàng, sắc nét, thanh toán nhanh… Bên cạnh đó,điện thoại di động còn giúp chúng ta trong việc theo dõi và quản lý sức khỏe hằngngày Có sức khỏe chúng ta mới có thể tận hưởng cuộc sống một cách trọn vẹnnhất Nó giúp ta có một cuộc sống vui vẻ, hạnh phúc, thực hiện ý tưởng, ước mơ,nguyện vọng của cuộc đời mình Hiểu được tầm quan trọng của sức khỏe cũngnhư những tiện ích mà điện thoại di động mang lại, chúng tôi đã tìm hiểu, nghiêncứu và áp dụng những kiến thức đã có để xây dựng nên ứng dụng di động đếmbước chân Nhằm theo dõi tình trạng sức khỏe người dùng bằng cách đếm số bướcchân và đưa ra thông tin vận động bao gồm số bước chân, lượng calo tiêu thụ, sốbước chân tiêu chuẩn,… để từ đó đưa ra những lời khuyên trong việc giữ gìn,chăm sóc sức khỏe cho người dùng

1.3 Nội dung thực hiện

- Nghiên cứu, phân tích nhu cầu thực tế, học hỏi các ứng dụng cùng chứcnăng trên thị trường

- Phác họa, liệt kê những chức năng, giao diện phù hợp với nhu cầu

- Tìm hiểu về ngôn ngữ lập trình di động Kotlin

- Tìm hiểu về cấu tạo, nguyên lý hoạt động của các cảm biến và các thuậttoán xử lý dữ liệu đầu ra

- Xây dựng, hoàn thiện và trang trí phần giao diện của ứng dụng

- Lập trình, hoàn thành phần chức năng chính của ứng dụng

- Chạy thử và cải thiện, bổ sung chức năng của ứng dụng

- Hoàn thành báo cáo đồ án cơ sở, gặp giáo viên hướng dẫn để kiểm duyệt vàtiến hành bảo vệ

Trang 10

Chương 1 Cơ sở lý thuyết

tự do Đây chính là một trong những yếu tố đã giúp cho Android trở thành nềntảng xây dựng điện thoại thông minh phát triển nhất trên thế giới Hiện tại,Android đã chiếm 65% so với thị phần điện thoại thông minh trên toàn thế giớivào quý 3 năm 2012 Theo điều tra thì đã có khoảng 500 triệu thiết bị được kíchhoạt và có đến 1.3 triệu lượt được hoạt mỗi ngày Vào tháng 10/2020 thì android

đã có hơn 700.000 ứng dụng và số lượng tải từ Google Play ước tính lên khoảng

25 tỷ lượt Mặc dù có sự ra đời của iOS của Apple thì khiến Android có phần nàoảnh hưởng Tuy nhiên, Android vẫn đứng ở vị trí đầu tiên trong thị phần thế giới

Trang 11

- Đặc tính mở của Android:

 Android được xây dựng để cho phép các nhà phát triển để tạo ra cácứng dụng di động hấp dẫn, tận dụng tất cả tính năng một chiếc điệnthoại đã cung cấp Nó được xây dựng để được thực sự mở Ví dụ, mộtứng dụng có thể gọi bất kỳ chức năng lõi của điện thoại như thực hiệncuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh, chophép các nhà phát triển để tạo ra nhiều ứng dụng phong phú hơn chongười dùng Android được xây dựng trên mã nguồn mở Linux Kernel.Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa

bộ nhớ và tài nguyên phần cứng trong một môi trường di động

 Android không phân biệt giữa các ứng dụng lõi của điện thoại và cácứng dụng của bên thứ ba Tất cả có thể được xây dựng để có thể truycập bằng khả năng của một thiết bị di động cung cấp cho người sửdụng với một dải rộng các ứng dụng và dịch vụ Với các thiết bị xâydựng trên Android, người dùng có thể hoàn toàn thích ứng với điệnthoại đến lợi ích của họ Với Android, một nhà phát triển có thể xâydựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ

và được cảnh báo khi họ đang có trong vùng phụ cận cho họ một cơhội để kết nối

 Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích

và có thể được sử dụng để xây dựng các ứng dụng phong phú Ví dụ,Android cho phép các thiết bị giao tiếp với nhau tạo điều kiện chođồng đẳng rich-to-peer trong ứng dụng xã hội Ngoài ra, Android baogồm một tập hợp đầy đủ công cụ đã được xây dựng công phu, với việccung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào cácứng dụng

1.1.2 Kiến trúc Android

Android là một hệ điều hành nguồn mở dựa trên nhân Linux, được xâydựng theo ngăn xếp (stack) cho nhiều mảng rộng của thiết bị và các yếu tố hìnhthức nhất định Nhìn vào hình ảnh minh họa ở trên chúng ta sẽ dễ nhìn nhận vàhiểu hơn về kiểu thiết kế này Mỗi ngăn xếp (System Apps, Java APIFramework…) sẽ chứa một mảng các thành phần bên trong

Trang 12

Hình 1.2 Mô hình kiến trúc nền tảng Android

- Applications:

 Hệ điều hành Android tích hợp sẳn một số ứng dụng cơ bản như emailclient, SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một sốứng dụng khác Ngoài ra tầng này cũng chính là tầng chứa các ứngdụng được phát triển bằng ngôn ngữ Java

 Người phát triển ứng dụng được phép sử dụng đầy đủ bộ API đượcdùng trong các ứng dụng tích hợp sẳn của Android Kiến trúc ứng dụngcủa Android được thiết kế nhằm mục đích đơn giản hóa việc tái sửdụng các component Qua đó bất kì ứng dụng nào cũng có thể công bốcác tính năng mà nó muốn chia sẻ cho các ứng dụng khác (VD: Ứngdụng email có muốn các ứng dụng khác có thể sử dụng tính năng gởimail của nó) Phương pháp tương tự cho phép các thành phần có thểđược thay thế bởi người sử dụng

Trang 13

 Tầng này bao gồm một tập các services và thành phần sau:

 Một tập phong phú và có thể mở rộng bao gồm các đối tượng Viewđược dùng để xây dựng ứng dụng như: list, grid, text box, button vàthậm chí là một trình duyệt web có thể nhúng vào ứng dụng

 Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từcác ứng dụng khác hoặc chia sẽ dữ liệu của chúng

 Resource Manager: Cung cấp khả năng truy xuất các tài nguyên code như hình ảnh hoặc file layout

non- Notification Manager: Cung cấp khả năng hiển thị custom alert trênthanh status bar

 Activity Manager: Giúp quản lý vòng đời của một ứng dụng

- Libraries:

 System C library: một thể hiện được xây dựng từ BSD của bộ thư viện

hệ thống C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bịchạy trên nền Linux

 Media libraries: Bộ thư viện hổ trợ trình diễn và ghi các định dạng âmthan và hình ảnh phổ biến

 Surface manager: Quản lý hiển thị nội dung 2D và 3D

 LibWebCore: Một web browser engine hiện đại được sử dụng trongtrình duyệt của Android lần trong trình duyệt nhúng web view được sửdụng trong ứng dụng

 SGL: Engine hổ trợ đồ họa 2D

 3D libraries: Một thể hiện được xây dựng dựa trên các APIs củaOpenGL ES 1.0 Những thư viện này sử dụng các tăng tốc 3D bằngphần cứng lẫn phần mềm để tối ưu hóa hiển thị 3D

 FreeType: Bitmap and vector font rendering

 SQLite: Một DBMS nhỏ gọn và mạnh mẽ

- Android Runtime:

 Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõicung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngônngữ lập trình Java Mọi ứng dụng của Android chạy trên một tiến trìnhcủa riêng nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvikthực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các côngnghệ đặc trưng của thiết bị di động Nó được xây dựng với mục đíchlàm cho các thiết bị di động có thể chạy nhiều máy ảo một cách hiệuquả Trước khi thực thi, bất kì ứng dụng Android nào cũng đượcconvert thành file thực thi với định dạng nén Dalvik Executable (.dex)

Trang 14

Định dạng này được thiết kế để phù hợp với các thiết bị hạn chế về bộnhớ cũng như tốc độ xử lý Ngoài ra máy ảo Dalvik sử dụng bộ nhânLinux để cung cấp các tính năng như thread, low-level memorymanagement.

- Linux Kernel:

 Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 chonhững dịch vụ hệ thống cốt lõi như: security, memory management,process management, network stack, driver model Bộ nhân này làmnhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phầnứng dụng

1.2 Môi trường Android Stusio

1.2.1 Giới thiệu Android studio

Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng

để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như cácloại điện thoại smartphone, các tablet Android Studio được đóng gói với một bộcode editor, debugger, các công cụ performance tool và một hệ thống build/deploy(trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoạihoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng pháttriển các ứng dụng từ đơn giản tới phức tạp.Việc xây dựng một ứng dụng mobile(hoặc tablet) bao gồm rất nhiều các công đoạn khác nhau Đầu tiên chúng ta sẽviết code ứng dụng sử dụng máy tính cá nhân hoặc laptop Sau đó chúng ta cầnbuild ứng dụng để tạo file cài đặt Sau khi build xong thì chúng ta cần copy file càiđặt này vào thiét bị mobile (hoặc table) để tiến hành cài đặt ứng dụng và chạykiểm thử (testing) Bạn thử tưởng tượng nếu với mỗi lần viết một dòng code bạnlại phải build ứng dụng, cài đặt trên điện thoại hoặc tablet và sau đó chạy thử thì

sẽ vô cùng tốn thời gian và công sức Android Studio được phát triển để giải quyếtcác vấn đề này Với Android Studio tất cả các công đoạn trên được thực hiện trêncùng một máy tính và các quy trình được tinh gọn tới mức tối giản nhất

Trang 15

Hình 1.3 Android Studio

1.2.2 Cài đặt môi trường Android Studio

- Cấu hình tối thiểu cài đặt Android Studio trên Windows:

 Hệ điều hành: Windows 7 32-64 bit trở lên

 Bộ nhớ trong: tối thiểu 2GB RAM, yêu cầu 8GB RAM

 Ổ cứng: tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE và1.5GB cho Android SDK và image giả lập hệ thống)

 Tỉ lệ màn hình: tối thiểu 1280×800

- Cấu hình tối thiểu cài đặt Android Studio trên Mac:

 Hệ điều hành: MAC OS X 10.8.5 trở lên, hỗ trợ tới 10.11.4 (ElCapitan)

 Bộ nhớ trong: tối thiểu 2GB RAM, yêu cầu 8GB RAM

 Ổ cứng: tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE và1.5GB cho Android SDK và image giả lập hệ thống)

 Tỉ lệ màn hình: tối thiểu 1280×800

- Các bước cài đặt:

 Truy cập internet để tải Android Studio về hệ điều hành của máy

 Sau khi tải về vào file Setup để tiến hành cài đặt

Trang 16

1.2.3 Cấu trúc dự án Android trong Android Studio

Hình 1.4 Cấu trúc dự án Android

- Thư mục Java: Thư mục này sẽ chứa tất cả các file mã nguồn java (.java)

mà chúng ta sẽ tạo trong quá trình phát triển ứng dụng, bao gồm cả mãJUnit test code Bất cứ khi nào tạo bất kỳ project/ứng dụng mới nào, filelớp MainActivity.java sẽ tự động tạo trong package làcom.tutlane.helloworld

- Thư mục res: Đây là một thư mục quan trọng sẽ chứa tất cả các resourcekhông phải code, chẳng hạn như ảnh bitmap, UI strings, XML layouts

- Thư mục drawable (res/drawable): Nó sẽ chứa các dạng ảnh khác nhau Tốtnhất là nên thêm tất cả các hình ảnh vào thư mục drawable ngoại trừ cácbiểu tượng ứng dụng/laucher

- Thư mục layout (res/layout): Thư mục này sẽ chứa tất cả các file XMLlayout đã sử dụng để xác định giao diện người dùng của ứng dụng

- Thư mục mipmap (res/mipmap): Thư mục này sẽ chứa các biểu tượng ứngdụng/laucher được sử dụng để hiển thị trên màn hình chính Các loại biểutượng sẽ có tỷ trọng khác nhau như hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi, để

sử dụng dựa trên kích thước của thiết bị

- Thư mục values (res/values): Thư mục này sẽ chứa một số file XML khácnhau, chẳng hạn như strings, colors, styles

- Thư mục Manifests: Thư mục này sẽ chứa một file Manifest(AndroidManifest.xml) cho ứng dụng Android File manifest này sẽ chứathông tin về ứng dụng , chẳng hạn như android version, access permissions,

Trang 17

metadata, v.v và các component của ứng dụng File manifest sẽ hoạt độngnhư một trung gian giữa hệ điều hành Android và ứng dụng.

- Gradle Scripts: Trong Android, Gradle là công cụ build hệ thống và Gradleđược tích hợp sẵn vào Android Studio, và được điều khiển một cách tựđộng thông qua Android Studio Trong gradle có build.gradle (Project) vàbuild.gradle (Module) được sử dụng để build các cấu hình áp dụng cho tất

cả các module ứng dụng hoặc dành riêng cho một mô-đun ứng dụng

1.2.4 Thành phần giao diện trong Android Studio

Android Layout là một lớp điều khiển việc sắp xếp các thành phần con của

nó xuất hiện trên màn hình Bất cứ thành phần nào đó là mộtView (hoặc thừa kế

từ View) đều có thể là con của một Layout Tất cả các lớp Layout đều mở rộng từlớp ViewGroup (mà kế thừa từView), do đó bạn cũng có thể tạo một lớp Layouttùy biến của mình, bằng cách tạo một lớp mở rộng từ ViewGroup

Những dòng chữ hiển thị trên thiết bị Android (TextView), cho đến nhữngkhung nhập liệu (EditText), những hình ảnh (ImageView), danh sách có thể cuộnlên, cuộn xuống (ListView, GridView, RecycleView) hay những cái button(Button) các bạn thể click… đều là những View trong android, những view nàyđều có một chức năng riêng Trong bài viết này tôi sẽ cùng các bạn tìm hiểu một

số view cơ bản trong android cũng như một số thuộc tính của nó để giúp các bạn

có thể thiết kế những giao diện đơn giản khi mới lập trình di động với nền tảngnày

1.2.5 Vòng đời ứng dụng Android

- Chu kỳ sống thành phần: Các thành phần ứng dụng có một chu kỳ sống,tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc, đôilúc chúng có thể là active (visible hoặc invisible) hoặc inactive

- Activity Stack: Bên trong hệ thống các activity được quản lý như mộtactivity stack Khi một Activity mới được start, nó được đặt ở đỉnh củastack và trở thành activity đang chạy activity trước sẽ ở bên dưới activitymới và sẽ không thấy trong suốt quá trình activity mới tồn tại Nếu ngườidùng nhấn nút Back thì activity kết tiếp của stack sẽ di duyển lên và trởthành active

Trang 18

Hình 1.5 Activity Stack

- Các trạng thái của chu kỳ sống:

Hình 1.6 Các trạng thái của chu kỳ

 Running (đang kích hoạt): Khi màn hình là Foreground ( Activitynằm trên cùng ứng dụng và cho phép người sử dụng tương tác)

 Paused (tạm dừng) : Activity bị mất focus nhưng mà vẫn nhìn thấyđược Activity này (Ví dụ bạn mở một Activity mới lên dưới dạngDialog) Trường hợp này nó vẫn có khả năng bị hệ thống tự động xửtrong tình huống bộ nhớ quá ít

Trang 19

 Stopped (dừng – không phải Destroyed): Activity mất tiêu điểm vàkhông nhìn thấy được (ví dụ bạn mở một Activity mới lên mà Fullmàn hình chẳng hạn) Trong trường hợp này nó có thể bị hệ thống xửtrong bất kỳ tình huống nào.

1.3 Mô hình thiết kế MVC

MVC là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hình thiết

kế sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần, tươngứng mỗi từ Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình

- Model (M): là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng

Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View vàController Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khichỉ đơn giản là một file XML bình thường Model thể hiện rõ các thao tácvới cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,…

- View (V): đây là phần giao diện (theme) dành cho người sử dụng Nơi màngười dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thaotác truy vấn như tìm kiếm hoặc sử dụng thông qua các website Thôngthường, các ứng dụng web sử dụng MVC View như một phần của hệthống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng cóchức năng ghi nhận hoạt động của người dùng để tương tác với Controller.Tuy nhiên, View không có mối quan hệ trực tiếp với Controller, cũngkhông được lấy dữ liệu từ Controller mà chỉ hiển thị yêu cầu chuyển choController mà thôi

- Controller (C): bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đếnthông qua view Từ đó, Controller đưa ra dữ liệu phù hợp với người dùng.Bên cạnh đó, Controller còn có chức năng kết nối với model

1.4 Ngôn ngữ lập trình Kotlin

Kotlin là ngôn ngữ lập trình dành cho các ứng dụng đa nền tảng hiện đại,tương thích hoàn toàn với Android và được phát triển bởi JetBrains, công ty đứngsau IntelliJ Java IDE (bộ công cụ và ứng dụng dành cho nhà phát triển) màAndroid Studio dựa trên Tuy nhiên, đây không phải là ngôn ngữ lập trình riêngbiệt mà được xem là một phương pháp mới để sử dụng và phát triển code củaJava Kotlin hoạt động liền mạch với Java, nhờ đó giúp các nhà phát triển yêuthích Java dễ dàng sử dụng thêm một ngôn ngữ lập trình tuyệt vời là Kotlin cũngnhư tận dụng thêm các thư viện hữu ích từ ngôn ngữ này Cũng giống như nhiềungôn ngữ lập trình khác, Kotlin chạy trên Java Virtual Machine (JVM) và sử dụngcác công cụ và thư viện sẵn có trên Java Từ lúc giới thiệu vào năm 2011 cho đến

Trang 20

khi phát hành phiên bản 1.0, JetBrains đã luôn chú trọng đến tính tương hợp vớiJava.

- Ưu điểm:

 Code ngắn gọn, giảm thiểu các đoạn không cần thiết, cấu trúc ngắn,trực quan, dễ học, dễ làm, dễ sử dụng, tiết kiệm thời gian Theo ướctính của Ovechkin thì với việc sử dụng Kotlin, code base có thể đượcthu nhỏ hơn từ 15-25%

 An toàn, tránh lỗi NullPointerException NullPointerException xảy rakhi code tham chiếu đến một biến, nhưng biến lại không có giá trị khiứng dụng đang chạy Kết quả là ứng dụng sẽ không có bất kỳ tùy chọnnào ngoại trừ việc báo lỗi Và tất nhiên, với Kotlin, đảm bảo các nhàphát triển sẽ không gặp phải vấn đề này

 Khả năng tương tác cao, tương thích 100% và đẩy mạnh sử dụng cácthư viện hiện có trong JVM, bao gồm cả SAM support

 Tool làm việc thân thiện, có thể lựa chọn các Java IDE để làm việchoặc làm việc với command line

- Nhược điểm:

 Thêm thời gian chạy Runtime: Thư viện tiêu chuẩn của Kotlin vàruntime sẽ làm tăng kích thước tập tin apk của bạn Mặc dù nó chỉtương đương với khoảng 800KB, nhưng nếu ứng dụng của bạn đã lớnsẵn rồi thì 800KB phụ có thể làm nó phình to và khiến người dùng nghĩlại trước khi tải về ứng dụng của bạn

 Không hẳn là code dễ đọc đối với beginer: Mặc dù cú pháp ngắn gọncủa Kotlin là một trong những thế mạnh lớn nhất của ngôn ngữ, nhưngbạn có thể thấy một số khó khăn ban đầu, đơn giản bởi vì có rất nhiềuthứ đang được thực hiện trong một số lượng nhỏ code đó Java có thểdài dòng hơn, nhưng ngược lại tất cả mọi thứ đều rõ ràng, có nghĩa lànhững người không quen code Java có xu hướng dễ dàng hơn để hiểu

so Kotlin.Ngoài ra, nếu sử dụng không hợp lý, quá tải toán tử củaKotlin có thể dẫn đến số code đó có thể khó khăn để đọc

 Thiếu hỗ trợ chính thức: Kotlin có thể được trợ tốt trong AndroidStudio, nhưng cần ghi nhớ rằng Kotlin không được xác nhận chínhthức là của Google Ngoài ra, tính năng tự động hoàn tác và biên dịchtrong Android Studio có xu hướng chạy hơi chậm khi bạn làm việc vớiKotlin so với một dự án thuần Java

Ngày đăng: 27/11/2021, 08:39

HÌNH ẢNH LIÊN QUAN

Hình Cơ sở lý thuyết.1 Hệ điều hành Android - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.1 Hệ điều hành Android (Trang 10)
Hình Cơ sở lý thuyết.2 Mô hình kiến trúc nền tảng Android - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.2 Mô hình kiến trúc nền tảng Android (Trang 12)
Hình Cơ sở lý thuyết.3 Android Studio - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.3 Android Studio (Trang 15)
Hình Cơ sở lý thuyết.4 Cấu trúc dự án Android - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.4 Cấu trúc dự án Android (Trang 16)
Hình Cơ sở lý thuyết.6 Các trạng thái của chu kỳ - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.6 Các trạng thái của chu kỳ (Trang 18)
Hình Cơ sở lý thuyết.5 Activity Stack - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.5 Activity Stack (Trang 18)
1.7 Kiến thức tính lượng năng lượng đốt cháy 1.7.1 Tỉ lệ trao đổi chất cơ bản (BRM) - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
1.7 Kiến thức tính lượng năng lượng đốt cháy 1.7.1 Tỉ lệ trao đổi chất cơ bản (BRM) (Trang 22)
Hình Cơ sở lý thuyết.7 Bảng giá trị MET - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Cơ sở lý thuyết.7 Bảng giá trị MET (Trang 22)
Hình Nghiên cứu tổng quan.9 Ứng dụng “Bộ đếm bước – Đo bước chân và đo calo” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Nghiên cứu tổng quan.9 Ứng dụng “Bộ đếm bước – Đo bước chân và đo calo” (Trang 23)
Hình Nghiên cứu tổng quan.8 Ứng dụng “Trình theo dõi bước – Đo bước chân” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Nghiên cứu tổng quan.8 Ứng dụng “Trình theo dõi bước – Đo bước chân” (Trang 23)
Hình Nghiên cứu tổng quan.12 Hàm tính năng lượng đốt cháy - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Nghiên cứu tổng quan.12 Hàm tính năng lượng đốt cháy (Trang 27)
Hình Nghiên cứu tổng quan.13 Hàm lấy giá trị MET - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Nghiên cứu tổng quan.13 Hàm lấy giá trị MET (Trang 28)
- Màn hình news: cập nhật tin tức sức khoẻ, vận động của người dùng. - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
n hình news: cập nhật tin tức sức khoẻ, vận động của người dùng (Trang 30)
Hình Phân tích và thiết kế hệ thống.15 Biểu đồ usecase chế độ thử thách - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Phân tích và thiết kế hệ thống.15 Biểu đồ usecase chế độ thử thách (Trang 31)
- Màn hình Home: Gồm các textview chứa các tiêu đề, tên thông số và dữ liệu của thông số, bên cạnh đó chứa các hình ảnh để tăng độ trực quan, sinh động của ứng dụng. - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
n hình Home: Gồm các textview chứa các tiêu đề, tên thông số và dữ liệu của thông số, bên cạnh đó chứa các hình ảnh để tăng độ trực quan, sinh động của ứng dụng (Trang 32)
Hình Triển khai xây dựng website.17 Thiết kế màn hình “lịch sử hoạt động” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.17 Thiết kế màn hình “lịch sử hoạt động” (Trang 33)
Hình Triển khai xây dựng website.18 Thiết kế màn hình “cập nhật thông tin” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.18 Thiết kế màn hình “cập nhật thông tin” (Trang 34)
Hình Triển khai xây dựng website.19 Thiết kế màn hình “chế độ thử thách” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.19 Thiết kế màn hình “chế độ thử thách” (Trang 35)
Hình Triển khai xây dựng website.20 Giao diện “home” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.20 Giao diện “home” (Trang 36)
Hình Triển khai xây dựng website.21 Giao diện “lịch sử hoạt động” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.21 Giao diện “lịch sử hoạt động” (Trang 37)
Hình Triển khai xây dựng website.22 Giao diện “cập nhật thông tin” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.22 Giao diện “cập nhật thông tin” (Trang 38)
Hình Triển khai xây dựng website.23 Giao diện “chế độ thử thách” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.23 Giao diện “chế độ thử thách” (Trang 39)
Hình Triển khai xây dựng website.24 Giao diện trang “tin tức” - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN
nh Triển khai xây dựng website.24 Giao diện trang “tin tức” (Trang 40)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w