Chương 1 TỔNG QUAN ĐỀ TÀI 1. Giới thiệu đề tài Hàng ngày, do bận rộn, chúng ta thường không quan tâm và để ý đến các thói quen ăn uống, để xem liệu mình ăn uống có khoa học hay chưa, có đủ chất hay không? Và đôi khi, chúng ta cũng lầm tưởng rằng mình đang có một thói quen ăn uống tốt. Tuy nhiên, việc tìm hiểu xem trong một ngày, những thứ chúng ta ăn có cung cấp đủ hàm lượng dinh dưỡng cần thiết cho cơ thể không lại là điều mà rất nhiều người chưa để ý tới, hoặc họ chưa biết cách tính toán xem làm thế nào để biết hôm nay mình đã ăn thừa hay thiếu chất? Chính vì vậy, ngày nay, khi cuộc sống ngày càng được cải thiện, vấn đề quản lý dinh dưỡng đã trở thành một nhu cầu thiết yếu đối với con người. Mục đích đề tài Mục đích của đề tài là xây dựng ứng dụng tư vấn dinh dưỡng và sức khỏe chạy trên các thiết bị di động trên nền tảng Android, nhằm mục đích xây dựng và phát triển một ứng dụng hỗ trợ phục vụ cho các đối đối tượng có nhu cầu tư vấn về dinh dưỡng và sức khỏe một cách nhanh chóng và chính xác.
Một trong các mục đích khác là ứng dụng cung cấp hệ thống hỗ trợ riêng cho người tập thể hình trên website online. Mục tiêu đề tài 1. Lý thuyết Nghiên cứu công cụ đồ họa như: photoshop, corel draw Nghiên cứu lập trình trên hệ điều hành android. Nghiên cứu ngôn ngữ lập trình java.
Nghiên cứu xây dựng giao diện với xml trong android. Nghiên cứu hệ quản trị cơ sở dữ liệu MySQL, SQLite Administator Nghiên cứu html, css, javascript. Thực tiễn Mục tiêu của đề tài là xây dựng ứng dụng cung cấp thông tin tư vấn sức khỏe và dinh dưỡng trên các thiết bị di động với kho dữ liệu phong phú được lưu trữ trên server. Bên cạnh đó, ứng dụng có cung cấp hệ thống hỗ trợ riêng cho người tập thể hình trên website online.
Xây dựng phần mềm phải đảm bảo được những yêu cầu sau: Do thời gian thực hiện cũng như năng lực có hạn nên ứng dụng được xây dựng chỉ tập trung vào những phần sau: Hệ thống được cài đặt trên các thiết bị di động cài đặt hệ điều hành Android Xây dựng hệ thống kết nối client – server Hệ thống hỗ trợ tính năng nhiều người truy cập cùng lúc một lúc Cho phép người dùng tìm kiếm tư vấn về sức khỏe cũng như thành phần dinh dưỡng của các loại thực phẩm hằng ngày. Cho phép tính toán Basal metabolic rate (BRM) hay còn gọi là lượng năng lượng tiêu thụ của người dùng. Cho phép người dùng truy cập website online hỗ trợ dành cho người tập gym. Cách thức hoạt động Để bắt đầu sử dụng, người sử dụng không cần phải sử dụng tài khoản: Ứng dụng hiện ra các tư vấn về sức khỏe và người sử dụng sẽ chọn loại tư vấn mình muốn tìm.
Sau khi chọn, ứng dụng sẽ hiển thị danh sách các tư vấn cụ thể và chính xác nhất. Khi người dùng muốn tra cứu thành phần dinh dưỡng của các loại thực phẩm, ứng dụng sẽ hiển thị danh sách từng loại thực phẩm kèm theo đó là chi tiết thành phần dinh dưỡng của từng thực phẩm. Ứng dụng cũng cho phép người dùng tìm kiếm theo tên thực phẩm. Người sử dụng có thể tính lượng năng lượng tiêu thụ BRM của mình bằng cách nhập các thông tin: chiều cao, cân nặng, giới tính.
Người sử dụng có thể truy cập hướng dẫn Gym cho nam hoặc nữ, ứng dụng sẽ hiển thị website online hướng dẫn tập gym với các bài tập cụ thể. Các bước nghiên cứu Phân tích yêu cầu Lựa chọn công nghệ Nghiên cứu cơ sở lý thuyết của công nghệ đã chọn Áp dụng lý thuyết vào xây dựng ứng dụng thực tiễn Kiểm tra, tham khảo các ứng dụng khác để tối ưu hóa ứng dụng 1. Bố cục đề tài Tổng quan về đề tài Công nghệ sử dụng Phân tích và thiết kế hệ thống Hướng dẫn sử dụng Kết luận 4 Chương 2 CÔNG NGHỆ SỬ DỤNG 2. Hệ điều hành Android 2.
Giới thiệu về nền tảng Android Hình 2.1: Hệ điều hành Android Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở, một hiệp hội gồm các công ty phần cứng, phần mềm và 5 viễn thông, với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008.
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng ngôn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012 đã có khoảng 700.000 ứng dụng trên Android.
Số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt.Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, có giá rẻ chạy trên các thiết bị công nghệ cao. Kết quả là điện thoại và máy tính bảng Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày.2:Sự tăng trưởng của các nền tảng di động. * Các thành phần trong ứng dụng Android Android project là một hệ thống thư mục file chứa toàn bộ source code, tài nguyên… mà mục đích cuối cùng là để đóng gói thành một file .apk duy nhất. Trong một thư mục project, có một số thành phần (file, thư mục con) được tạo ra mặc định, còn lại phần lớn sẽ được tạo ra sau nếu cần trong phát triển ứng dụng.
Các thành phần trong một Android project Src/: Chứa toàn bộ source code (file .aidl) Bin/: Thư mục chứa file Output sau khi build. Đây là nơi bạn có thể tìm thấy file .apk Gen/: Chứa file .java tạo ra bởi ADT plug-in, như là file R.java hoặc các giao diện tạo ra từ file AIDL. 8 Res/: Chứa các tài nguyên (resource) cho ứng dụng chẳng hạn như file hình ảnh, file layout, các chuỗi (string)…Dưới đây là các thư mục con của nó. Anim/: Chứa các file .xml dùng cho việc thiết lập các hiệu ứng động(animation).
Color/: Chứa các file .xml dùng định nghĩa màu sắc. Drawable/: Chứa hình ảnh (png, jpeg, gif), file .xml định nghĩa cách vẽ các loại hình dạng khác nhau (shape). Layout/: Chứa file .xml dùng để dựng giao diện người dùng. Menu/: Chứa file .xml quy định application menu.
Raw/: Chứa các file media, chẳng hạn như .ogg Values/: Chứa file .xml định nghĩa các giá trị. Khác với các resource trong thư mục khác, resource ở thư mục này khi định danh trong lớp R thì sẽ không sử dụng file name để định danh mà sẽ được định danh theo quy định bên trong file. Xml/: Dùng chứa các file .xml linh tinh khác, chẳng hạn như file .xml quy định app widget, search metadata,… Libs/: Chứa các thư viện riêng.xml/: File kiểm soát các thành phần trong ứng dụng như: activity, service, intent, receiver… tương tác với nhau, cách ứng dụng tương tác với ứng dụng khác, cũng như đăng kí các quyền hạn về sử dụng tài nguyên trong máy.properties/: Tùy chỉnh các thiết lập cho hệ thống build, nếu bạn sử dụng Eclipse thì file này không cần thiết.xml/: Chỉ sử dụng khi dùng dòng lệnh để kiến tạo project.properties/: File này chứa các thiết lập cho project, chẳng hạn như build target, min SDK version…(tốt hơn hết là không nên chỉnh sửa file này bằng tay) 2. Ngôn ngữ Java Java là công nghệ xây dựng các phần mềm ứng dụng có vị trí rất lớn trong những năm cuối thế kỉ 20 đầu thế kỉ 21.Nó được coi là công nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
Ngôn ngữ Java xuất hiện đầu tiên năm 1992 như là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsoftsystems. Sau này không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó có máy ảo Java với bộ thông dịch có vai trò trung tâm. Thông dịch Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch.Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy. Độc lập nền Một chương trình viết bằng ngôn ngữ Java có thể chạy trên các máy tính có hệ điều hành khác nhau (Window, Unix, Linux, …) miễn sao ở đó có cài đặt máy ảo java (Java Virtual Machine).
Hướng đối tượng Hướng đối tượng trong Java tương tự như C++, nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng trong Java không có tính đa kế thừa 10 (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi tiết trong phần sau.
Đa nhiệm - đa luồng (MultiTasking - Multithreading) Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau. Khả chuyển Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính dùng hệ điều hành nào có máy ảo Java (Viết một lần, chạy mọi nơi).