Đăng ký Đăng nhập
Trang chủ Luận văn tốt nghiệp kỹ sư xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di ...

Tài liệu Luận văn tốt nghiệp kỹ sư xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động

.PDF
100
49
62

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 736 949, Fax. (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: [email protected] LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : XÂY DỰNG HỆ THỐNG TRỢ GIÚP ẨM THỰC TRÊN ĐIỆN THOẠI DI ĐỘNG Mã số : 09T3 - 121 Ngày bảo vệ : 18-20/06/2014 SINH VIÊN : NGUYỄN THỦY LỘC LỚP : 09T3 CBHD : ThS. VÕ ĐỨC HOÀNG ĐÀ NẴNG, 06/2014 LỜI CẢM ƠN Em xin chân thành cám ơn thầy ThS. Võ Đức Hoàng đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình thực hiện đồ án tốt nghiệp này. Em cũng xin gởi lời cám ơn chân thành đến toàn thể quý thầy cô trường Đại học Bách khoa Đà Nẵng, đặc biệt là các thầy cô trong khoa Công nghệ Thông Tin trường Đại Học Bách Khoa – Đại Học Đà Nẵng đã tận tình giảng dạy, truyền đạt những kiến thức, kinh nghiệm quý báu trong suốt quá trình học tập vừa qua. Trong suốt quá trình làm đồ án tốt nghiệp chắc chắn không tránh khỏi những thiếu sót, em rất mong sự giúp đỡ và góp ý của quý thầy cô để em hoàn thiện hơn đề tài của mình. Một lần nữa, em xin chân thành cám ơn. Đà Nẵng, ngày 30 tháng 05 năm 2014 Sinh viên, Nguyễn Thủy Lộc – 09T3 Trang i LỜI CAM ĐOAN Tôi xin cam đoan : - Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy ThS. Võ Đức Hoàng. - Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. - Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm. Sinh viên, Nguyễn Thủy Lộc – 09T3 Trang ii NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… …………………………………………………………………………………………………. …………………………………………………………………………………………………. ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… ………………….……………………………………………………………………………… Trang iii NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Trang iv MỤC LỤC MỞ ĐẦU .......................................................................................................... 1 1.1 GIỚI THIỆU ..................................................................................................1 1.1.1 Bối cảnh đề tài ........................................................................................1 1.1.2 Mục đích .................................................................................................1 1.1.3 Ý nghĩa ....................................................................................................2 1.2 PHẠM VI ĐỀ TÀI .........................................................................................2 1.3 TRIỂN KHAI ĐỀ TÀI ...................................................................................2 1.3.1 Các bước thực hiện .................................................................................2 1.3.2 Mục tiêu cần đạt được.............................................................................3 1.4 KẾT QUẢ DỰ KIẾN .....................................................................................3 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ............................................................ 4 1.1 GIỚI THIỆU CÁC NỀN TẢNG DI ĐỘNG ..................................................4 1.1.1 Ios............................................................................................................4 1.1.2 Android ...................................................................................................5 1.1.3 Windowphone .........................................................................................5 1.1.4 BlackBerry ..............................................................................................6 1.2 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID ..................................................6 1.2.1 Giới thiệu ................................................................................................6 1.2.2 Lịch sử phát triển ....................................................................................7 1.2.3 Kiến trúc của hệ điều hành Android .......................................................8 1.3 LẬP TRÌNH ỨNG DỤNG TRONG ANDROID.........................................10 1.3.1 Công cụ hỗ trợ ......................................................................................10 1.3.2 Các thành phần chính trong android project .........................................10 1.3.2.1 1.3.2.2 1.3.3 Các thành phần chính trong android ..................................................... 10 AndroidManifest ..................................................................................... 10 Activity .................................................................................................11 Các phương thức trong chu kỳ sống của một activity ............................ 12 1.3.3.1 1.3.4 Intent .....................................................................................................13 Các thuộc tính của một đối tượng intent ................................................ 14 Sử dụng Intent......................................................................................... 14 1.3.4.1 1.3.4.2 1.3.5 1.3.6 1.3.7 1.3.7.1 1.3.7.2 Adapter trong andoid ............................................................................15 Lưu trữ dữ liệu trong android ...............................................................15 Giao diện trong android ........................................................................15 View ........................................................................................................ 15 ViewGroup .............................................................................................. 16 1.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLITE.................................................19 1.4.1 Giới thiệu ..............................................................................................19 1.4.2 Đặc điểm ...............................................................................................19 1.4.3 Phiên bản...............................................................................................20 1.5 WEB SERVICE ...............................................................................................20 1.5.1 Giới thiệu ..............................................................................................20 Trang v Đặc điểm webservice ............................................................................20 1.5.2 Ưu điểm .................................................................................................. 21 Nhược điểm............................................................................................. 22 1.5.2.1 1.5.2.2 1.6 RESTFUL WEB SERVICE .........................................................................22 1.6.1 Khái niệm ..............................................................................................22 1.6.1.1 1.6.1.2 1.6.1.3 1.6.1.4 1.6.1.5 1.6.2 REST ....................................................................................................... 22 Kiến trúc ................................................................................................. 22 RESTFul Web Service............................................................................. 23 Cơ chế hoạt động .................................................................................... 23 Một số thành phần của RESTful Web Service ........................................ 24 Json và Gson .........................................................................................25 Sơ lược về json........................................................................................ 25 So sánh với XML..................................................................................... 25 Sơ lược về Gson ...................................................................................... 27 1.6.2.1 1.6.2.2 1.6.2.3 1.7 JSP VÀ SERVLET ......................................................................................28 1.7.1 JSP ........................................................................................................28 1.7.2 SERVLET .............................................................................................28 1.7.3 MÔ HÌNH MVC TRONG JAVA WEB JSP SERVLET .....................29 Khái niệm cơ bản về mô hình MVC ........................................................ 29 Mô hình MVC trong ứng dụng web với JSP Servlet ............................... 29 1.7.3.1 1.7.3.2 CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG....................... 30 2.1 PHÂN TÍCH YÊU CẦU ..............................................................................30 2.1.1 Mô tả bài toán .......................................................................................30 2.1.2 Phân tích hiện trạng ẩm thực Việt Nam................................................31 Giới thiệu sơ lược về ẩm thực Việt Nam ................................................ 31 Đặc điểm ................................................................................................. 31 2.1.2.1 2.1.2.2 2.1.3 Phân tích yêu cầu bài toán ....................................................................32 Yêu cầu chức năng.................................................................................. 32 Yêu cầu phi chức năng ........................................................................... 33 2.1.3.1 2.1.3.2 2.1.4 Phân tích tính khả thi ............................................................................33 2.1.5 Công nghệ .............................................................................................33 2.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ..................................................34 2.2.1 Phân tích và thiết kế ứng dụng di động Android .................................34 2.2.1.1 2.2.1.2 2.2.1.3 2.2.1.4 2.2.1.5 2.2.2 Usecase ................................................................................................... 34 Biểu đồ hoạt động ................................................................................... 42 Biểu đồ tuần tự ....................................................................................... 49 Biểu đồ lớp.............................................................................................. 54 Thiết kế cơ sở dữ liệu.............................................................................. 54 2.2.2.1 2.2.2.2 2.2.2.3 Phân tích và thiết kế Web Server ..........................................................58 Web admin .............................................................................................. 58 Sơ đồ lớp ................................................................................................. 65 Thiết kế cơ sở dữ liệu.............................................................................. 65 CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ....................... 67 3.1 KẾT QUẢ ....................................................................................................67 3.1.1 Kết quả triển khai Web Service ............................................................67 Trang vi 3.1.2 Kết quả triển khai Web Admin .............................................................67 3.1.3 Kết quả triển khai ứng dụng trên di động .............................................78 3.2 ĐÁNH GIÁ ..................................................................................................85 3.2.1 Bảng đánh giá kết quả thực hiện ...........................................................85 Ứng dụng trên điện thoại di động .......................................................... 85 Hệ thống Server ...................................................................................... 85 3.2.1.1 3.2.1.2 Những điều đạt được.............................................................................85 3.2.2 3.2.2.1 3.2.2.2 Hệ thống Web server .............................................................................. 86 Ứng dụng trên điện thoại di động .......................................................... 86 3.2.3 Những điều chưa đạt được ....................................................................86 3.3 HƯỚNG PHÁT TRIỂN ...............................................................................86 TÀI LIỆU THAM KHẢO ............................................................................ 87 TÓM TẮT LUẬN VĂN TỐT NGHIỆP...................................................... 88 PHỤ LỤC ......................................................................................................... 1 Trang vii DANH SÁCH HÌNH VẼ Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: Giới thiệu mobile ..................................................................................................... 4 2: Giới thiệu android .................................................................................................... 6 3: Kiến trúc hệ điều hành android ................................................................................ 8 4: Sơ đồ hoạt động activity trong android ................................................................. 11 5: Sơ đồ Intent ............................................................................................................ 13 6: Sơ đồ giao diện trong android................................................................................ 16 7: Framelayout android .............................................................................................. 17 8: Relativelayout android ........................................................................................... 18 9; Tablelayout android ............................................................................................... 18 10: Quản trị SQLite.................................................................................................... 19 11: Kiến trúc REST.................................................................................................... 22 12: Cơ chế hoạt động của REST ................................................................................ 23 13: Use case của ứng dụng android ........................................................................... 34 14: Biểu đồ hoạt động xem văn hóa ẩm thực............................................................. 42 15: Biểu đồ hoạt động cập nhật dữ liệu ..................................................................... 42 16: Biểu đồ hoạt động tìm kiếm món ăn .................................................................... 43 17: Biểu đồ hoạt động gửip hản hồi cho từng món ăn ............................................... 43 18: Biểu đồ hoạt động tạo ghi chú cho từng món ăn ................................................. 44 19: Biểu đồ hoạt động chỉnh sửa ghi chú cho từng món ăn ....................................... 44 20: Biểu đồ hoạt động chia sẻ món ăn trên facebook ................................................ 45 21: Biểu đồ hoạt động xem danh sách món ăn .......................................................... 45 22: Biểu đồ hoạt động thêm món ăn yêu thích .......................................................... 46 23: Biểu đồ hoạt động xóa món ăn yêu thích ............................................................ 46 24: Biểu đồ hoạt động chỉnh sửa hẹn giờ .................................................................. 47 25: Biểu đồ hoạt động đặt giờ .................................................................................... 47 26: Biểu đồ hoạt động xóa hẹn giờ ............................................................................ 48 27: Biểu đồ hoạt động gửi phản hồi cho ứng dụng .................................................... 48 28: Biểu đồ tuần tự xem văn hóa ẩm thực ................................................................. 49 29: Biểu đồ tuần tự cập nhật dữ liệu .......................................................................... 49 30: Biểu đồ tuần tự tìm kiếm món ăn ........................................................................ 49 31: Biểu đồ tuần tự xem danh sách món ăn ............................................................... 50 32: Biểu đồ tuần tự gửi phản hồi cho từng món ăn.................................................... 50 33: Biểu đồ tuần tự tạo ghi chú cho từng món ăn ...................................................... 50 34: Biểu đồ tuần tự chỉnh sửa chi chú cho từng món ăn............................................ 51 35: Biểu đồ tuần tự chia sẻ món ăn trên facebook ..................................................... 51 36: Biểu đồ tuần tự thêm món ăn yêu thích ............................................................... 51 37: Biểu đồ tuần tự xem món ăn yêu thích ................................................................ 52 38: Biểu đồ tuần tự chỉnh sửa hẹn giờ ....................................................................... 52 39: Biểu đồ tuần tự thêm hẹn giờ............................................................................... 52 40: Biểu đồ tuần tự xóa hẹn giờ ................................................................................. 53 41: Biểu đồ tuần tự gửi phản hồi cho ứng dụng ........................................................ 53 42: Biểu đồ lớp........................................................................................................... 54 43: Biểu đồ lớp chi tiết............................................................................................... 54 44: Quan hệ giữa các bảng trong cơ sở dữ liệu.......................................................... 55 45: Sơ đồ usecase web admin .................................................................................... 58 Trang viii Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 46: Biểu đồ hoạt động đăng nhập .............................................................................. 61 47: Biểu đồ hoạt động xem dữ liệu ........................................................................... 61 48: Biểu đồ hoạt động thêm dữ liệu .......................................................................... 62 49: Biểu đồ hoạt động sửa dữ liệu ............................................................................ 62 50: Biểu đồ hoạt động xóa dữ liệu ............................................................................. 63 51: Biểu đồ tuần tự đăng nhập ................................................................................... 63 52: Biểu đồ tuần tự xem dữ liệu................................................................................. 63 53: Biểu đồ tuần tự thêm dữ liệu ............................................................................... 64 54: Biểu đồ tuần tự xóa dữ liệu .................................................................................. 64 55: Biểu đồ tuần tự sửa dữ liệu ................................................................................. 64 56: Sơ đồ lớp web admin ........................................................................................... 65 57: Sơ đồ lớp chi tiết web admin ............................................................................... 65 58: Dữ liệu Json trả về từ Web Service ..................................................................... 67 59: Đăng nhập ............................................................................................................ 67 60: Quản lý món ăn .................................................................................................... 68 61: Thêm món ăn ....................................................................................................... 68 62: Xem, sửa món ăn ................................................................................................. 69 63: Xóa món ăn .......................................................................................................... 69 64: Quản lý loại món ăn ............................................................................................. 70 65: Thêm mới loại món ăn ......................................................................................... 70 66: Xem và sửa loại món ăn ...................................................................................... 71 67: Xóa loại món ăn ................................................................................................... 71 68: Quản lý vùng........................................................................................................ 72 69: Thêm mới vùng .................................................................................................... 72 70: Xem và sửa vùng ................................................................................................. 73 71: Quản lý xuất xứ.................................................................................................... 73 72: Thêm mới xuất xứ................................................................................................ 74 73: Xem và sửa xuất xứ ............................................................................................. 74 74: Xóa xuất xứ.......................................................................................................... 75 75: Quản lý nguyên liệu ............................................................................................. 75 76: Thêm mới nguyên liệu ......................................................................................... 76 77: Xem và sửa nguyên liệu....................................................................................... 76 78: Xóa nguyên liệu ................................................................................................... 77 79: Quản lý bình luận................................................................................................. 77 80: Màn hình main ..................................................................................................... 78 81: Màn hình văn hóa ẩm thực .................................................................................. 78 82: Màn hình dialog chọn vùng ................................................................................. 79 83: Màn hình dialog chọn xuất xứ ............................................................................. 79 84: Màn hình danh sách món ăn ................................................................................ 80 85: Màn hình chi tiết món ăn ..................................................................................... 80 86: Màn hình chi tiết công thức món ăn .................................................................... 81 87: Màn hình ghi chú món ăn .................................................................................... 81 88: Màn hình bình luận món ăn ................................................................................. 82 89: Màn hình hẹn giờ nấu ăn ..................................................................................... 82 90: Màn hình danh sách yêu thích ............................................................................. 83 91: Màn hình danh sách hẹn giờ ................................................................................ 83 Trang ix DANH SÁCH BẢNG BIỂU Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng Bảng 1: Các thuộc tính của đối tượng intent ...................................................................... 14 2: Các hàm thực thi Activity ..................................................................................... 14 3: Các method của HTTP được hỗ trợ....................................................................... 24 4: Đối tượng Json ...................................................................................................... 26 5: Mảng Json ............................................................................................................. 26 6: Ví dụ sử dụng Gson ............................................................................................... 27 7: Mô tả usecase xem văn hóa ẩm thực ..................................................................... 34 8: Mô tả usecase cập nhật dữ liệu .............................................................................. 35 9: Mô tả usecase tìm kiếm món ăn ............................................................................ 35 10: Mô tả usecase xem chi tiết món ăn ..................................................................... 36 11: Mô tả usecase gửi phản hồi cho từng món ăn ..................................................... 36 12: Mô tả usecase tạo ghi chú cho món ăn ................................................................ 37 13: Mô tả usecase chỉnh sửa ghi chú món ăn ............................................................ 37 14: Mô tả usecase chia sẻ món ăn trên facebook ...................................................... 38 15: Mô tả usecase xem danh sách món ăn ................................................................. 38 16: Mô tả usecase thêm món ăn yêu thích................................................................. 39 17: Mô tả usecase xóa món ăn yêu thích ................................................................... 39 18: Mô tả usecase chỉnh sửa hẹn giờ ......................................................................... 40 19: Mô tả usecase xóa hẹn giờ .................................................................................. 40 20: Mô tả usecase đặt giờ .......................................................................................... 41 21: Mô tả usecase gửi phản hồi cho ứng dụng .......................................................... 41 22: Bảng định mức .................................................................................................... 55 23: Loại món ăn ......................................................................................................... 56 24: Bảng Vùng........................................................................................................... 56 25: Xuất xứ ................................................................................................................ 56 26: Nguyên liệu ......................................................................................................... 56 27: Món ăn................................................................................................................. 57 28: Món ăn Nguyên liệu ............................................................................................ 57 29: Hẹn giờ ................................................................................................................ 57 30: Mô tả usecase đăng nhập ..................................................................................... 58 31: Mô tả usecase thêm dữ liệu ................................................................................. 59 32: Mô tả usecase sửa dữ liệu.................................................................................... 59 33: Mô tả usecase xóa dữ liệu ................................................................................... 60 34: Mô tả usecase xem dữ liệu .................................................................................. 60 35: user ...................................................................................................................... 66 36: RateAndBinhLuan ............................................................................................... 66 37: Bảng đánh giá kết quả thục hiện trên điện thoại di động .................................... 85 38: Bảng đánh giá kết quả thực hiện trên hệ thống server ........................................ 85 Trang x Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động MỞ ĐẦU 1.1 GIỚI THIỆU 1.1.1 Bối cảnh đề tài Trong bối cảnh xã hội ngày càng phát triển, chất lượng cuộc sống của con người ngày càng được cải thiện, đi liền với đó là vấn để ăn uống ngày càng được nâng cao, từ chỗ đủ cái ăn, chúng ta hướng đến là làm thế nào để có thể có món ăn ngon, bổ dưỡng. Tất bật với cuộc sống mưu sinh, với nhịp sống nhộn nhịp của xã hội, quỹ thời gian của chúng ta ngày càng eo hẹp đi. Thật khó để có thể dành được một lượng thời gian lân la các quán sách tìm hiểu về các món ăn, hay lang thang Internet tìm hiểu về các chương trình dạy nấu ăn. Từ đó nảy sinh vấn đề làm thế nào để có được một công cụ như một cuốn sổ tay mini chỉ dẫn về nấu ăn, về nghệ thuật ẩm thực có thể mang theo mọi lúc, tiện lợi giúp chúng ta có thể tự mình nấu những món ăn ngon cho chính mình, cho bạn bè, người thân hay gia đình thưởng thức sau những giờ làm việc hút thể lực và chất xám. Đi kèm với đó, sự phát triển của khoa học công nghệ ngày càng nhanh chóng. Điện thoại di động không còn đơn thuần là thiết bị liên lạc, mà trở thành một công cụ giải trí đa phương tiện và một vật không thể thiếu của mọi người. Chính sự phát triển và phổ biến mạnh mẽ của di động nên ngày càng có nhiều ứng dụng cho di động được phát triển. Chính vì những ưu thế trên của điện thoại thông minh, ý tưởng kết hợp sổ tay nấu ăn truyền thống và điện thoại thông minh được nghĩ đến. Một ứng dụng trên điện thoại thông minh có chức năng như một cuốn sổ tay mini hướng dẫn về ẩm thực, gọn nhẹ và dễ mang theo gần như mọi lúc mọi nơi giúp mọi người có thể dễ dàng chế biến các món ăn ngon, đa dạng mà không phải mất nhiều công sức, thì giờ tìm hiểu. Vì những lý do đó tôi quyết định đưa ra ý tưởng làm một cuốn sổ tay mini giới thiệu về ẩm thực Việt Nam trên thiết bị di động để nghiên cứu và triển khai. 1.1.2 Mục đích Tạo ra một ứng dụng giống như một cuốn sổ tay mini về ẩm thực trên điện thoại di động, một ứng dụng tiện lợi, nhỏ gọn có thể bỏ túi mang theo, có thể đem ra dùng trong nhiều trường hợp. Giúp bạn có thể chế biến được những món ăn ngon khi cần thiết hoặc nâng cao trình độ nấu ăn, hiểu biết về văn hóa ẩm thực mà không cần phải bỏ ra nhiều công sức tìm kiếm bên đống sách vở dạy nấu ăn hay những chương trình dạy nấu ăn vốn tiêu tốn rất nhiều thời gian quý báu. Ứng dụng sẽ cung cấp cho người dùng các thông tin về văn hóa ẩm thực các vùng miền, cách chế biến các món ăn hay là nguồn gốc, lịch sử ra đời của các món ăn cùng nhiều tính năng hữu ích khác. Trang 1 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động Xây dựng một website quản lý dữ liệu về thông tin ẩm thực và một webservice cung cấp thông tin về ẩm thực cho ứng dụng di động. 1.1.3 Ý nghĩa - Cung cấp một ứng dụng hữu ích hỗ trợ người dùng về vấn đề ẩm thực, tiết kiệm thời gian, công sức và chi phí mà vẫn có thể dễ dàng chế biến được những món ăn ngon như ý. - Tạo được một website quản lý thông tin dữ liệu ẩm thực và một webservice cung cấp dữ liệu về ẩm thực. - Thông qua quá trình xây dựng ứng dụng, em có thể tổng hợp lại những kiến thức mà mình đã được tích lũy trong thời gian học tập tại trường. - Tích lũy thêm được nhiều kinh nghiệm thực tế, học thêm được nhiều công nghệ mới. 1.2 PHẠM VI ĐỀ TÀI Ứng dụng di động được xây dựng dựa trên nền tảng hệ điều hành di động Android. Ứng dụng có thể cập nhật sữ liệu từ webservice và lưu về bộ nhớ cục bộ trên thiết bị. Kho dữ liệu ẩm thực được xây dựng và phát triển trên mạng Internet, cung cấp web service và các phương thức để sử dụng và khai thác dữ liệu từ kho dữ liệu ẩm thực. 1.3 TRIỂN KHAI ĐỀ TÀI 1.3.1 Các bước thực hiện - Đọc hiểu đề tài, tìm kiếm các tài liệu liên quan. - Phân tích yêu cầu. - Phân tích và thiết kế hệ thống. - Xây dựng cơ sở dữ liệu - Xây dựng Web admin quản lý cơ sỡ dữ liệu - Xây dựng Web service cung cấp dữ liệu - Xây dựng ứng dụng trên thiết bị di động Android - Triển khai hoạt động cho kho dữ liệu và ứng dụng, đồng thời tiến hành kiểm thử đảm bảo chất lượng sản phẩm. - Viết báo cáo tổng kết đề tài và đề ra hướng phát triển. Trang 2 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động 1.3.2 Mục tiêu cần đạt được - Xây dựng thành công Web admin và Web service cho kho dữ liệu ẩm thực. - Xây dựng thành công ứng dụng trên điện thoại di động Android. - Triển khai ứng dụng, phối hợp trao đổi dữ liệu giữa ứng dụng di động và ứng dụng web thành công. 1.4 KẾT QUẢ DỰ KIẾN Với mục đích đề ra thì kết quả cần đạt được trong đề tài luận văn tốt nghiệp này: - Tìm hiểu nền tảng di động Android. - Tìm hiểu Web service. - Phân tích yêu cầu người dùng và thiết kế hệ thống. - Xây dựng và triển khai hệ thống trong thực tế. Trang 3 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU CÁC NỀN TẢNG DI ĐỘNG Ngày này, thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàn các nhãn hiệu, kiểu dáng, tính năng...Đã biến chiếc điện thoại thành một thiết bị giải trí đa phương tiện không thể thiếu. Với lợi thế nhỏ gọn, được mọi người sử dụng đem theo mọi lúc mọi nơi, nhưng cũng vì nhỏ gọn như vậy cũng là một bất lợi về xử lý và tốc độ. Để đảm bảo một chiếc điện thoại thông minh hoạt động tốt thì nó cần có một hệ điều hành quản lý thiết bị. Đi kèm với sự phát triển phần cứng trên thiết bị động thì cuộc chiến của các nhà phát triển các hệ điều hành trên điện thoại di động cũng diễn ra hết sức khốc liệt. Hiện nay, các nền tảng di động lớn được biết đến như sau Hình 1: Giới thiệu mobile 1.1.1 Ios Nền tảng di động iOS với điện thoại di động thông minh iPhone, với thiết kế đẹp, thời trang, cảm ứng mượt mà, màn hình đẹp và sắc nét cùng với tài năng của "thánh" Steve Jobs đã khiến cho iPhone trở thành hiện tượng trên mọi thị trường, đặc biệt là ở Mỹ. Doanh số bán ra của iPhone tăng dần qua các năm, và dần dần thống lĩnh thị trường của nhiều nước. iPhone dù mỗi năm chỉ ra một phiên bản mới nhưng sức nóng đủ lan tỏa khắp làng di động, do đó, iOS vẫn chưa bao giờ "già". iOS là hệ điều hành "đóng" hoạt động trên iPhone, iPad, iPod. iOS đã quyết định rất nhiều đối với sự thành công của Apple, với giao diện bóng bẩy, đẹp mắt, và dễ sử dụng. Tất cả chỉ là chạm và vuốt để thực thi. Cùng với chính sách hợp lý để thu hút các lập trình viên viết ứng dụng, kho ứng dụng Appstore ngày càng lớn khiến cho người dùng càng thêm thích thú, mọi nhu cầu của từng người đều có thể được đáp ứng. Cũng như việc Apple cũng tung ra cập nhật, vá các lỗi liên tục khi phát hiện, khiến cho iOS ngày càng trở nên "thông minh" hơn, an toàn hơn. Nhưng nếu gọi iOS là thống trị năm 2012 thì điều đó cũng là chưa thể. Vì iOS chỉ được cài giới hạn trên thiết bị của Apple gồm những thiết bị như iPhone, iPad, iPod... Thị phần của thiết bị Apple trên thế giới nói chung là không lớn, số liệu các bạn thấy trên các báo đa số chỉ thống kê tại Mỹ, nhưng đã gọi là thống trị thì phải là thống trị trên thị trường di động toàn thế giới. Trang 4 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động 1.1.2 Android Mặc dù sinh sau đẻ muộn, nhưng Android đang có những bước tiến thần tốc, trong thời gian ngắn đã đạt được nhiều điều khiến mọi hệ điều hành di động mơ ước: khoảng 700.000 điện thoại Android được kích hoạt mỗi ngày. Khi mà iOS ngày càng bành trướng mà Symbian lại không đủ sức để cạnh tranh. Các lập trình viên, các nhà sản xuất điện thoại chú ý đến Android. Hệ điều hành di động mở được Google phát triển dựa trên nền tảng Linux. Android ngày càng lớn mạnh về số lượng và chất lượng bởi sự linh hoạt từ nền tảng Google, phù hợp với cả smartphone tầm thấp lẫn giá cao. Hàng loạt các nhà sản xuất điện thoại di động sử dụng Android làm hệ điều hành chính cho các sản phẩm của mình. Như HTC, Samsung, LG, Motorola, Sony Ericsson... Từ điện thoại, cho đến máy tính bảng của các hãng này đều dùng hệ điều hành Android. Các nhà lập trình viết ứng dụng ngày càng nhiều trên Android Market. Kho ứng dụng đang cạnh tranh trực tiếp với AppStore của Apple. Chính vì điều này mà đã khiến Android ngày càng bành trướng trên thị trường khắp các châu lục, và dần dần Android sẽ là hệ điều hành thống trị. Nhưng các bạn có thể thấy, dường như Android đang ở trên đỉnh cao của mình. Chính vì có quá nhiều thiết bị, mỗi thiết bị có cấu hình riêng, nhà sản xuất tùy biến riêng và việc có quá nhiều ứng dụng, nhưng lại không theo một chuẩn cụ thể nào. Khiến Android ngày càng bị phân mảnh và rời rạc. Android được cập nhật quá thường xuyên, dẫn đến tình trạng trên thị trường có nhiều phiên bản cùng tồn tại, được phát hành song song với nhau. Google đang dần muốn kiểm soát và hạn chế sự phân mảnh, nhưng đồng thời cũng làm mất dần tính "mở" vốn là triết lý cơ bản của Android. 1.1.3 Windowphone Windows Phone là hệ điều hành của Microsoft dành cho smartphone kế tục nền tảng Windows Mobile, mặc dù chúng không tương thích với nhau. Khác với Windows Mobile, Windows Phone tập trung vào sự phát triển của Marketplace - nơi các nhà phát triển có thể cung cấp sản phẩm (miễn phí hoặc có phí) tới người dùng. Windows Phone được bán vào tháng 10 năm 2010 và đầu năm 2011 tại Châu Á. Phiên bản mới nhất hiện tại là Windows Phone 8.1 (Tên mã Blue) tiếp nối Windows Phone 8 (Apollo), hiện vẫn ở phiên bản thử nghiệm cho nhà phát triển (Preview for Developers). Với Windows Phone, Microsoft đã phát triển giao diện người dùng mới mang tên Modern (trước đây tên là Metro) - tích hợp khả năng liên kết với các phần cứng và phần mềm của hãng thứ ba một cách dễ dàng. Trang 5 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động 1.1.4 BlackBerry Là dòng máy Smartphone cao cấp và nổi tiếng trên thế giới do hãng Research In Motion cung cấp. Ngoài những tính năng thông thường, điểm tạo nên sự khác biệt của máy BlackBerry là kiểu thiết kế rất đặc trưng; pin tốt và hơn cả là dịch vụ Push Mail nổi tiếng và thương hiệu BlackBerry được xây dựng rất thành công. BlackBery OS 6 được RIM công bố tại sự kiện Wireless Enterprise Symposium (diễn ra từ 27 đến 29/4 tại Mỹ). RIM chưa đưa ra chi tiết về hệ điều hành mới, ngoài một đoạn video quảng cáo khá ấn tượng. Theo những thông tin đầu tiên, nhiều cải tiến từ giao diện, màn hình Home mới, menu pop-up, khả năng chuyển dịch, trình duyệt web mới dựa trên nền tảng WebKit tương thích HTML5. Ngoài ra, BlackBerry OS 6 hỗ trợ khả năng điều khiển trên màn hình cảm ứng đa điểm tốt hơn. 1.2 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.2.1 Giới thiệu Hình 2: Giới thiệu android Android là hệ điều hành trên điện thoại di động phát triển bởi Google và dựa trên nền tảng Linux. Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005). Theo nghiên cứu của công ty nghiên cứu thị trường NPD (National Purchase Diary), thiết bị di động sử dụng hệ điều hành android bán được tại Mỹ trong quý I năm 2012 xếp vị trí đầu tiên với 51%, thứ 2 là iOS ở vị trí với 30.7%. Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình, điều này khiến Android trở thành hệ điều hành di động có môi trường phát triển cực kì rộng lớn. Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache. Trang 6 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động 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ả chức năng một chiếc điện thoại đã cung cấp. Nó được xây dựng để thực sự mở. Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản hoặc bằng cách sử dụng máy ảnh, cho phép các nhà phát triển tạo ra nhiều phong cách khác nhau. Android được xây dựng trên hệ điều hành mở Linux. Vì thế, nền tảng Android luôn được cộng đồng quan tâm và phát triển liên tục. 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ác ứng dụng đều có thể giao tiếp được với nhau, và sử dụng một cách tối đa nhờ vào khả năng của nhà phát triển Android đang dần phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví dụ, một nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điện thoại di động của cá nhân, hoặc chỉ ra địa chỉ hiện tại của một người nào đó khi họ nằm trong một phạm vi cố định… Android cung cấp 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ú. 1.2.2 Lịch sử phát triển - Tháng 10-2003: Android, inc được thành lập tại Palo Alto, California bởi Andy Rubin, Rich Miners, Nick Sears và Chris White. - Tháng 8-2005: Google mua lại Android inc. - Tháng 11-2007: Phát hành Android beta SDK (Software Development Kit). - Tháng 9-2008: Chiếc điện thoại chạy trên hệ điều hành Android lần đầu tiên được giới thiệu, chiếc HTC Dream(G1) chạy Android 1.0. - Tháng 2-2009: Phát hành bản cập nhật Android 1.1 dành riêng cho T-Mobile G1. - Tháng 4-2009: Phát hành bản cập nhật Android 1.5(Cupcake) dựa trên nhân linux 2.6.27. - Tháng 9-2009: Phát hành bộ SDK dành cho Android 1.6 (Donut) dựa trên nhân Linux 2.6.29. - Tháng 10-2009: Phát hành bộ SDK dành cho Android 2.0(Eclair) dựa trên nhân Linux 2.6.29. - Tháng 12-2009: Phát hành bộ SDK 2.0.1. - Tháng 1-2010: Phát hành bộ SDK 2.1. - Tháng 5-2010: Phát hành bộ SDK Android 2.2 (Froyo). Trang 7 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động - Tháng 12-2010: Phát hành bộ SDK Android 2.3 (Gingerbread). - Tháng 2-2011: Phát hành Android 2.3.3 dựa trên nhân Linux 2.6.35. - Tháng 2-2011: Phát hành SDK Android 3.0 dành cho tablet được phát hành dựa trên nhân linux 2.6.36. - Tháng 5-2011: Phát hành bộ SDK Android 3.1. - Tháng 7-2011: Phát hành bộ SDK Android 3.2. - Tháng 12-2011: Phát hành bộ SDK Android 4.0 (Ice Cream Sandwich) . - Tháng 7-2012: Phát hành bộ SDK Android 4.1 (Jelly Bean). - Tháng 12-2012: Phát hành bộ SDK Android 4.2 (Vẫn là Jelly Bean) - Tháng 6-2013: Phát hành bộ SDK Android 4.3 (Vẫn là Jelly Bean) - Tháng 10-2013: Phát hành bộ SDK Android 4.4 (KitKat) 1.2.3 Kiến trúc của hệ điều hành Android Hình 3: Kiến trúc hệ điều hành android Có 5 tầng cơ bản trong hệ điều hành Android: Application, Framework, Android Runtime, Native Libraries, Linux Kernel. Mỗi tầng làm việc đều nhờ sự giúp đỡ của tầng dưới. Trang 8 Xây dựng hệ thống trợ giúp ẩm thực trên điện thoại di động Tầng Application: bao gồm tất cả các ứng dụng có trong thiết bị chạy Android như: phone, contact, game, browser,… và một số ứng dụng chạy ngầm.Người dùng có quyền gỡ bỏ hay cài đặt các ứng dụng tùy thích ở tầng này. Tất cả các ứng dụng được viết bằng cách sử dụng ngôn ngữ lập trình Java. Tầng Application Framework: tầng Google xây dựng cho các nhà phát triển xây dựng ứng dụng của họ trên Android,bằng cách gọi các API có sẵn mà Google đã viết để sử dụng các tính năng của phần cứng mà không cần hiểu cấu trúc bên dưới. Tầng Native Libraries: Android bao gồm một bộ thư viện C/C++, được sử dụng bởi các thành phần khác nhau của hệ thống Android. Những khả năng tiếp xúc với các nhà phát triển thông qua các khuôn khổ ứng dụng Android. Một số các thư viện lõi được liệt kê dưới đây: System C library: thực hiện các hệ thống thư viện chuẩn C (LIBC – Library C), điều chỉnh cho nhúng dựa trên Linux các thiết bị Media Libraries: dựa trên OpenCORE PacketVideo's; sự hỗ trợ các thư viện phát lại và ghi âm của âm thanh và phổ biến nhiều định dạng video, cũng như các tập tin hình ảnh tĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG Surface Manager: quản lý quyền truy cập vào hệ thống con hiển thị và hoàn toàn phù hợp chất 2D và 3D lớp từ nhiều ứng dụng đồ họa LibWebCore: một trình duyệt web hiện đại, động cơ có quyền hạn cả hai trình duyệt web của Android và một xem nhúng SGL: các công cụ đồ họa 2D tiềm ẩn 3D libraries:một việc thực hiện dựa trên OpenGL ES 1,0 API; các thư viện, hoặc sử dụng phần cứng tăng tốc 3D (nếu có) hoặc bao gồm, cao tối ưu rasterizer phần mềm 3D SQLite: một quan hệ cơ sở dữ liệu mạnh mẽ và nhẹ có sẵn cho tất cả các ứng dụng Tầng Runtime: Android bao gồm một tập hợp các thư viện cơ bản mà cung 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ôn ngữ lập trình Java. Tất cả các ứng dụng Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa trên register-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java để chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp. Tầng Linux Kernel: đây là nhân của hệ điều hành Android, mọi xử lý hệ thống đều phải thông qua tầng này. Linux Kernel cung cấp các trình điều khiển thiết bị phần cứng như: camera, USB, bluetooth… Kernel hoạt động như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của hệ thống. Trang 9
- Xem thêm -

Tài liệu liên quan