• Tidak ada hasil yang ditemukan

Xây dựng ứng dụng hỗ trợ lên thực đơn khoa học theo lượng calo

Protected

Academic year: 2023

Membagikan "Xây dựng ứng dụng hỗ trợ lên thực đơn khoa học theo lượng calo"

Copied!
64
0
0

Teks penuh

Nội dung giảng dạy: Xây dựng ứng dụng hỗ trợ lập thực đơn khoa học dựa trên lượng calo. Đề tài tốt nghiệp: Xây dựng ứng dụng hỗ trợ lập thực đơn khoa học dựa trên lượng calo 1.

GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 6

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID STUDIO, SQLITE 13

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

GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 1.1. Giới thiệu về hệ điều hành Android

Kiến trúc cơ bản của hệ điều hành Android

  • Thư viện
  • Thực thi
  • Nền tảng Android
  • Tầng ứng dụng

SQLite một công cụ cơ sở dữ liệu quan hệ mạnh mẽ và nhẹ có sẵn cho tất cả các ứng dụng. "Trình quản lý thông báo" cho phép tất cả các ứng dụng hiển thị cảnh báo tùy chỉnh trên thanh trạng thái.

Hình 1.2.1. Kiến trúc hệ điều hành Android  1.2.1. Nhân Linux
Hình 1.2.1. Kiến trúc hệ điều hành Android 1.2.1. Nhân Linux

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID STUDIO, SQLITE

Giới thiệu ứng dụng Android Studio

Cài đặt môi trường lập trình Android 1. Cài đặt JAVA JDK

  • Cài đặt Android Studio a. Cấu hình yêu cầu
  • Máy ảo Android Genymotion a. Yêu cầu

Ở bước này bạn có thể tạo lối tắt cho ứng dụng hoặc không nhấn Install để bắt đầu cài đặt. Bước 5: Đợi hệ thống cài đặt các gói cần thiết cho đến khi hoàn tất và nhấn Next để tiếp tục. Dung lượng ổ cứng trống: ít nhất 2 GB để cài đặt Genymotion và máy ảo chạy Genymotion (đây chỉ là yêu cầu tối thiểu, vì nếu bạn sử dụng nhiều máy ảo cùng lúc và cài đặt nhiều ứng dụng, phần mềm thì dung lượng trống có thể tăng gấp 4 lần). được yêu cầu không gian).

Bước 2: Tùy theo mong muốn của người dùng, các bạn có thể Next ngay và cài đặt Genymotion ngay tại vị trí gợi ý hoặc chọn Duyệt để tìm vị trí khác. Bước 5: Rất có thể Genymotion sẽ tự động cài đặt thêm một số phần mềm hỗ trợ và hỏi bạn có muốn cài VirtualBox hay không. Nếu máy tính của bạn đã có phần mềm VirtualBox mới nhất thì không sao. Nếu không chọn Yes để tiếp tục cài đặt.

Bước 6: Tại đây bạn sẽ thấy một giao diện cài đặt VirtualBox khác ngoài cửa sổ cài đặt Genymotion (sẽ bị tạm dừng). Bước 10: Bây giờ cửa sổ cài đặt Genymotion cuối cùng sẽ xuất hiện, Finish để kết thúc quá trình.

Hình 2.2.1.1. Thêm đường dẫn mới tới thư mục JDK
Hình 2.2.1.1. Thêm đường dẫn mới tới thư mục JDK

Thành phần trong một dự án ANDROID

  • Thư mục Res

Nói cách khác, đây là một tệp được sử dụng để định cấu hình các thuộc tính cho ứng dụng của bạn mà hệ điều hành có thể hiểu và xử lý khi ứng dụng được khởi chạy. Tên gói đóng vai trò là mã định danh duy nhất cho ứng dụng. Nó mô tả các thành phần ứng dụng—các hoạt động, dịch vụ, bộ thu luồng và nhà cung cấp nội dung tạo nên ứng dụng.

Nó xác định tiến trình nào sẽ lưu trữ các thành phần ứng dụng. Nó khai báo các quyền mà ứng dụng phải có để truy cập vào các phần được bảo vệ của API và liên lạc với các ứng dụng khác. Nó cũng khai báo các quyền mà các ứng dụng khác phải có để hoạt động với các thành phần của ứng dụng.

Nó chứa các lớp Instrumentation cung cấp hồ sơ và thông tin khác trong khi ứng dụng đang chạy. Gói bố cục: Đây là thư mục lưu trữ các tệp XML trên giao diện màn hình ứng dụng của chúng tôi.

Thành phần giao diện 1. View group

  • View a. Khái niệm

ScrollView: Một phần mở rộng của FrameLayout, lớp ScrollView xử lý việc cuộn các phần tử con của nó trên màn hình. Điều phối viênLayout: Lớp Điều phối viên, gần đây đã được thêm vào thư viện hỗ trợ thiết kế, sử dụng đối tượng Hành vi để xác định cách các phần tử Chế độ xem con sẽ được sắp xếp và di chuyển khi người dùng tương tác với ứng dụng của bạn. Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối tượng View và ViewGroup.

TextView Cho phép người dùng hiển thị một đoạn văn bản trên màn hình mà không cho phép người dùng chỉnh sửa nó. EditText Cho phép người dùng chèn, xóa hoặc sửa đổi một đoạn văn bản trong đó. Nút Dùng để thiết lập các sự kiện khi người dùng sử dụng nó.

Spinner là chế độ xem hiển thị quá trình xử lý diễn ra bên dưới ứng dụng, tạo cảm giác chân thực cho người dùng. QuickcontactBage Hiển thị hình ảnh đính kèm với một đối tượng, bao gồm số điện thoại, tên, email và hỗ trợ gọi điện, nhắn tin, email hoặc nhắn tin tức thời (IM).

Vòng đời ứng dụng android

  • Khái niệm
  • Các loại Intent

Ở chế độ này, hệ thống có thể xóa hoạt động khi thiết bị hết bộ nhớ. Ý định cho phép các thành phần ứng dụng yêu cầu chức năng từ các thành phần ứng dụng Android khác. Mã của bạn có thể gửi ý định tới hệ thống Android bằng phần tử mục tiêu được chỉ định.

Một đối tượng Intent có thể chứa dữ liệu thông qua một đối tượng của lớp Bundle. Một ứng dụng có thể chỉ định phần tử đích trực tiếp trong Intent (đích phải rõ ràng) hoặc yêu cầu hệ thống Android đánh giá các phần tử đã đăng ký trên dữ liệu đích để chọn một phần tử gửi yêu cầu (Intent không rõ ràng). Để đạt được điều này, có thể gửi ý định rõ ràng trực tiếp đến ứng dụng.

Thành phần nhận có thể truy xuất đối tượng ý định thông qua hàm getIntent(). Khi một hoạt động phụ kết thúc, hàm onActivityResult() sẽ được gọi cho hoạt động phụ đó và hành động có thể được thực hiện dựa trên kết quả.

Hình 2.5.1. Vòng đời của một Activity  2.6. Lớp Intent
Hình 2.5.1. Vòng đời của một Activity 2.6. Lớp Intent

Share prefenrences 1. Khái niệm

  • Cách sử dụng

Tạo một đối tượng Editor từ biến SharedPreferences đã tạo ở trên. Mục đích của người này là để có thể mở được file Shared_preferences_name.xml và đưa dữ liệu vào đó. Sau khi đăng dữ liệu, hàm commit() hoặc apply() sẽ được gọi để xác nhận các thay đổi.

Hiệu ứng trong android 1. Hiệu ứng cơ bản

  • Cách sử dụng

Lưu ý bước này là tùy chọn, bạn có thể bỏ qua nếu không cần thiết. Chúng ta có thể bắt đầu hoạt ảnh bất cứ khi nào chúng ta muốn bằng cách gọi phương thức startAnimation() trên bất kỳ thành phần UI nào mà chúng ta muốn tạo hoạt ảnh.

SQLite

  • Giới thiệu SQLite
  • Cấu hình SQLite

Tạo một dự án mới trong Android Studio, tạo một lớp Java mới và đặt tên là DataSqlite. Lúc này Class sẽ báo lỗi do thiếu một số phương thức. Mặt khác, tạo một Constructor và hai phương thức onCreate và onUpgrade cho lớp để giải quyết lỗi. Ví dụ: Lấy dữ liệu từ bảng thucPhamFinal.sqlite đã có sẵn thông tin tên thật.

Fragment 1. Tổng quan

  • Sử dụng

Nó hỗ trợ tối ưu hóa rất nhiều cho các loại màn hình khác nhau, dễ dàng được kiểm soát bởi hoạt động chính và có thể được tái sử dụng, kết hợp và sắp xếp theo ý muốn. Fragment là một thành phần Android độc lập có vòng đời và giao diện riêng do một hoạt động quản lý và hoạt động giống như một hoạt động phụ. Vòng đời của một mảnh bị ảnh hưởng trực tiếp bởi vòng đời của hoạt động chứa mảnh đó.

Khi một Fragment được gắn vào một hoạt động, các lệnh gọi lại onAttach(), onCreate(), onCreateView(), onActivityCreated(), onStart(), onResume() sẽ được gọi. Dưới đây tôi sẽ nói về trường hợp các mảnh được thêm vào ngăn xếp cuối cùng sau). Do đó, việc quản lý vòng đời của một mảnh rất giống với việc quản lý vòng đời của một hoạt động.

Hoạt động (Tiếp tục): Khi đoạn được gắn vào hoạt động, nó sẽ hiển thị và tương tác. Trong trạng thái pha, trạng thái phân đoạn được duy trì trong trường hợp phân đoạn xuất hiện trở lại.

Hình 29.2. Vòng đời của Activity và Fragment
Hình 29.2. Vòng đời của Activity và Fragment

Tạo và hiển thị fragment

  • Tổng kết

Tạm dừng: Nếu hoạt động chứa đoạn mã bị một hoạt động khác che phủ nhưng không được che phủ hoàn toàn, người dùng vẫn có thể nhìn thấy hoạt động được che đậy nhưng không thể tương tác thì cả hoạt động và đoạn mã đều chuyển sang trạng thái Tạm dừng. Dừng: Tương tự như các hoạt động, các clip sẽ dừng khi chúng bị một mục che phủ hoàn toàn. Và nếu người dùng không nhìn thấy nó nữa thì đoạn mã sẽ bị xóa khi hoạt động bị hủy.

Vòng đời của mảnh bị ảnh hưởng trực tiếp bởi vòng đời của hoạt động máy chủ. Ví dụ: khi một hoạt động bị tạm dừng thì tất cả các mảnh trong đó cũng vậy và khi hoạt động đó bị hủy thì tất cả các mảnh cũng vậy. Các đoạn được xác định trong tệp xml của hoạt động (định nghĩa tĩnh) hoặc đoạn có thể được thay đổi khi chạy (định nghĩa động).

CHƯƠNG TRÌNH THỰC NGHIỆM 3.1. Giới thiệu

  • Khái niệm về calories 1. Khái niệm
    • Chức năng của calo
    • Lượng calo cần thiết hàng ngày cho từng người
    • Bảng dinh dưỡng của các thực phẩm
  • Bài toán lên thực đơn hàng ngày theo lượng calo một cách khoa học Phát biểu bài toán
  • Phân tích bài toán
    • Ngữ cảnh của hệ thống
    • Mô hình chức năng
    • Cơ sở dữ liệu
  • Cài đặt chương trình
    • Thiết bị và môi trường lập trình
    • Ứng dụng hỗ trợ lên thực đơn khoa học theo lượng calo 1. Giao diện chương trình

Lưu trữ thông tin về danh sách các thực phẩm phổ biến ở Việt Nam bao gồm: mã thực phẩm, tên thực phẩm, calo thực phẩm. Người dùng lên thực đơn mỗi ngày mua từ thực phẩm dự trữ, căn cứ vào lượng calo cần thiết để chọn loại thực phẩm cho ngày hôm đó phù hợp với lượng calo cần thiết. Người dùng có thể xem thực đơn các loại thực phẩm đã chọn trong một ngày.

Thông tin được lưu trữ Danh mục vật lý Danh mục thực phẩm được lưu trữ. Sau khi danh mục thực phẩm được tạo, người dùng có thể xem các danh mục thực phẩm đã nhập. Chức năng lập kế hoạch thực đơn: người dùng chọn nhập thực phẩm từ danh sách thực phẩm đã tạo và trọng lượng của nó dựa trên lượng calo cần thiết và hiển thị thực đơn đã tạo.

Người dùng lựa chọn thực phẩm trong thực đơn dựa trên danh mục thực phẩm được tạo sẵn phù hợp với lượng calo ban đầu đã nhập. Sử dụng SQLite để tạo CSL với hai bảng dữ liệu: Thực phẩm và Menu.

3.2.4. Bảng dinh dưỡng của các thực phẩm.
3.2.4. Bảng dinh dưỡng của các thực phẩm.

Gambar

Hình 1.1.1. Thanh thông báo ở phiên bản thời kỳ đầu(trái) so với phiên bản  Android 8.1(phải)
Hình 1.1.2. Màn hình chính của Android 1.0(trái) so với Android 8.1(phải)
Hình 1.1.3. Gmail trên Android thời kỳ đầu
Hình 1.1.4. Hình ảnh Store của Android 1.0(trái) và Android 8.1(phải)
+7

Referensi

Dokumen terkait

Phát triển bài: * Hoạt động 1: Hướng dẫn HS làm quen với việc sử dụng máy tính bỏ túi để thực hiện các phép tính cộng, trừ, nhân, chia.. - GV yêu cầu học sinh thực hiện theo

Những bài toán về số trang sách cũng rất nhiều cho các loại trình độ khác nhau.. Dưới đây giới thiệu một số bài toán theo trình độ HSG tiểu học và THCS sát với thực tế đời