xây dựng ứng dụng “ẩm thực đà thành” trên nền tảng android
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 3736 949, Fax. (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn 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 ỨNG DỤNG “ẨM THỰC ĐÀ THÀNH” TRÊN NỀN TẢNG ANDROID Mã số : 11TLT - 089 Ngày bảo vệ : 15-16/06/2013 SINH VIÊN : HỨA BÁCH TRUNG LỚP : 11TLT CBHD : TH.S LÊ THỊ MỸ HẠNH ĐÀ NẴNG, 06/2013 LỜI CẢM ƠN Em xin chân thành cảm ơn 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 đã truyền đạt những kiến thức quý báu cho em trong những năm em theo học tại trường và nhất là tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài tốt nghiệp này. Đặt biệt, em xin chân thành cảm ơn cô Lê Thị Mỹ Hạnh, thuộc bộ môn Công Nghệ Phần Mềm, ngành Công Nghệ Thông Tin, trường Đại Học Bách Khoa. Người đã trực tiếp, tận tình hướng dẫn, động viên và giúp đở em trong suốt thời gian thực hiện đề tài. Để có được kết quả như ngày hôm nay, em rất biết ơn Ông Bà, Cha Mẹ và những người thân trong gia đình đã động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất về vật chất lẫn tinh thần trong suốt quá trình học tập cùng như quá trình thực hiện đề tài tốt nghiệp này. Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn khó tránh khỏi những thiếu sót. Do đó, em rất mong nhận được sự thông cảm và góp ý bảo tận tình của Quý Thầy Cô vá các bạn. Một lần nữa, em xin chân thành cảm ơn! Đà Nẵng, ngày ……. tháng 06 năm 2013 Sinh viên thực hiện Hứa Bách Trung NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN Đà Nẵng, ngày ……. tháng 06 năm 2013 Cán bộ hướng dẫn Th.S Lê Thị Mỹ Hạnh LỜI CAM ĐOAN Em xin cam đoan : 1 Những nội dung trong luận văn này là do em thực hiện dưới sự hướng dẫn trực tiếp của Cô Th.S Lê Thị Mỹ Hạnh 2 Mọi tham khảo dùng trong luận văn này đề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ố. 3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm. Sinh viên, MỤC LỤC MỞ ĐẦU 1 I. Bối cảnh của đề tài 1 II. Mục đích và ý nghĩa của đề tài 1 II.1. Mục đích của đề tài 1 II.2. Ý nghĩa của đề tài 1 III. Nhiệm vụ của đề tài 2 IV. Nội dung nghiên cứu 2 CƠ SỞ LÝ THUYẾT 3 I. Hệ điều hành Android 3 I.1. Lịch sử của Android 3 I.2. Kiến trúc của Android 4 I.2.1. Tầng ứng dụng 4 I.2.2. Application framework 4 I.2.3. Library 5 I.2.4. Android Runtime 6 I.2.5. Linux Kernel 6 I.3. Android Emulator 6 I.4. Các thành phần của một ứng dụng Android 7 I.5. Cấu trúc một Project 10 II. Công cụ để tạo một ứng dụng Android 10 II.1. Eclipse IDE 10 II.2. Android SDK 11 III. Các thành phần giao diện trong Android 11 III.1. View 11 III.2. ViewGroup 12 III.2.1. LinearLayout 12 III.2.2. FrameLayout 13 III.2.3. AbsoluteLayout 13 III.2.4. RetaliveLayout 14 III.2.5. TableLayout 14 III.3. Button 15 III.4. ImageButton 16 III.5. ImageView 16 III.6. ListView 17 III.7. TextView 18 III.8. EditText 18 III.9. CheckBox 19 III.10. Acvivity & Intend 19 III.10.1. Activity 19 III.10.2. Intent 20 IV. SQLite 22 V. GPS 23 VI. Google Map 23 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 24 I. Phân tích yêu cầu 24 I.1. Đặc tả bài toán 24 I.2. Các chức năng chính của hệ thống 24 I.2.1. Đồng bộ facebook 24 I.2.2. Tìm kiếm quán ăn 24 I.2.3. Xem thông tin quán ăn 24 I.2.4. Quán ăn ưa thích 24 I.2.5. Chỉ đường quán ăn 25 I.2.6. Bản đồ quán ăn 25 I.2.7. Học nấu ăn 25 II. Các biểu đồ hệ thống 26 II.1. Biểu đồ ca sử dụng 26 II.1.1. Biểu đồ ca sử dụng tổng quát 26 II.1.2. Xem quán ăn 27 II.1.3. Đồng bộ facebook 28 II.1.4. Xem bản đồ 28 II.1.5. Học nấu ăn 29 II.2. Biểu đồ hoạt động 30 II.2.1. Tìm kiếm 30 II.2.2. Bản đồ 31 II.2.3. Tìm đường 32 II.2.4. Đăng nhập facebook 33 II.2.5. Xem thông tin quán ăn 34 II.3. Biểu đồ tuần tự 35 II.3.1. Tìm kiếm 35 II.3.2. Bản đồ 36 II.3.3. Tìm đường 37 II.3.4. Đăng nhập facebook 38 III. Cơ sở dữ liệu sqlite 39 III.1. Bảng tblATDT 39 III.2. Bảng tblNauAn 39 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 40 I. Hướng dẫn cài đặt 40 II. Minh họa chạy chương trình 40 KẾT LUẬN 47 I. Kết quả đạt được 47 II. Đánh giá kết quả 47 III. Hướng phát triển 47 DANH MỤC HÌNH ẢNH Hình 11: Cấu trúc hệ thống Android 4 Hình 12: Android emulator 7 Hình 13: Vòng đời của Activity 8 Hình 14: Cấu trúc một giao diện ứng dụng Android 12 Hình 15: Bộ trí các widget sử dụng LinearLayout 13 Hình 16: Bố trí các widget trong FrameLayout 13 Hình 17: Bố trí widget trong RelativeLayout 14 Hình 18: Bố trí widget trong TableLayout 15 Hình 19: ImageButton 16 Hình 20: ImageView và ImageButton 17 Hình 21: Minh họa cho một ListView 18 Hình 25: Truyền dữ liệu giữa 2 Acticity 21 Hình 26: Các thuộc tính của Intent 21 Hình 27: Các Action đã được định nghĩa sẵn trong Intent 22 Hình 27: SQLite Manager 22 Hình 28. Biểu đồ ca sử dụng tổng quát 26 Hình 29. Biểu đồ ca sử dụng xem quán ăn 27 Hình 30. Biểu đồ ca sử dụng đồng bộ facebook 28 Hình 31. Biểu đồ ca sử dụng xem bản đồ 28 Hình 32. Biểu đồ ca sử dụng học nấu ăn 29 Hình 33. Biểu đồ hoạt động Tìm kiếm 30 Hình 34. Biểu đồ hoạt động Bản đồ 31 Hình 35. Biểu đồ hoạt động Tìm đường 32 Hình 36. Biểu đồ hoạt động Đăng nhập facebook 33 Hình 37. Biểu đồ hoạt động Xem thông tin quán ăn 34 Hình 38. Biểu đồ tuần tự Tìm kiếm 35 Hình 39. Biểu đồ tuần tự Bản đồ 36 Hình 40. Biểu đồ tuần tự Tìm đường 37 Hình 41. Biểu đồ tuần tự Đăng nhập facebook 38 Hình 42. Giao diện màn hình chính 40 Hình 43. Giao diện màn hình Tìm Kiếm 41 Hình 44. Giao diện màn hình Yêu Thích 41 Hình 45. Giao diện màn hình danh sách quán ăn 42 Hình 46. Giao diện màn hình chi tiết quán ăn 42 Hình 47. Giao diện màn hình tìm đường đi 43 Hình 48. Giao diện màn hình chia sẻ quán ăn 43 Hình 49. Giao diện màn hình bình luận quán ăn 44 Hình 50. Giao diện màn hình chủ dạy hướng dẫn nấu ăn 44 Hình 51. Giao diện màn hình danh sách các món được hướng dẫn nấu 45 Hình 52. Giao diện màn hình chi tiết hướng dẫn nấu ăn 45 Hình 53. Giao diện màn hình bản đồ quán ăn 46 DANH MỤC BẢNG BIỂU Bảng 1. Mô tả các usecase trong biểu đồ ca sử dụng tổng quát 27 Bảng 2. Mô tả các usecase trong biểu đồ ca sử dụng xem quán ăn 27 Bảng 3. Mô tả các usecase trong biểu đồ ca sử dụng đồng bộ facebook 28 Bảng 4. Mô tả các usecase trong biểu đồ ca sử dụng xem bản đồ 29 Bảng 5. Mô tả usecase trong biểu đồ ca sử dụng học nấu ăn 29 Bảng 6. Cơ sở dữ liệu bảng tblATDT 39 Bảng 7. Cơ sở dữ liệu bảng tblNauAn 39 SVTH: Hứa Bách Trung – Lớp 11TLT Trang 1 MỞ ĐẦU I. Bối cảnh của đề tài Nền công nghệ thông tin đang thực sự đi vào giai đoạn phát triển bậc nhất từ trước đến nay. Nếu trước kia, sự ra đời của máy tính xách tay mang lại sự thuận tiện cho người sử dụng, thì sau sự ra đời của chiếc điện thoại thông minh đánh dấu sự phát triển vượt bậc của công nghệ thông tin. Mọi sản phẩm công nghệ đều nằm trong chiếc điện thoại thông minh. Thật dễ dàng cho cuộc sống các bạn khi có cho bản thân chiếc điện thoại như thế. Thế giới điện thoại phát triển không ngừng, những chiếc điện thoại chạy hệ điều hành Android đầu tiên ra đời đã đánh dấu bước tiến lớn của Google trong thị trường này. Số lượng sử dụng điện thoại này càng tăng do có nhiều tính năng và giá cả khá mềm. Ngày nay việc thưởng thức ẩm thực càng ngày càng trở nên khắc khe hơn đối với thực khách,những quán ăn cũng trở nên phong phú và mở rộng nhiều nơi khắp thành phố. Việc tìm được một quán ăn ưng ý hay chỉ là nhớ ra quán ăn ở vị trí nào cũng hết sức khó khăn hơn. Với những suy nghĩ đó em quyết định chọn đề tài Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android,giúp giải quyết được khó khăn trong việc tìm kiếm quán ăn chỉ với thiết bị cầm tay. II. Mục đích và ý nghĩa của đề tài II.1. Mục đích của đề tài Luận văn tốt nghiệp trên ý tưởng đề tài với hai mục đích chính như sau : Thứ nhất là tìm hiểu về kỹ thuật lâp trình ứng dụng với Android SDK Thứ hai là xây dựng ứng dụng trên thiết bị di động Android có khả năng triển khai ứng dụng vào thực tế,đem lại sự tiện lợi cho người sử dụng có thể tra cứu mọi nơi. Với những kiến thức đã học được tại trường, kết hợp với sự tìm hiểu công nghệ của cá nhân. Em hy vọng luận văn tốt nghiệp của em sẽ đạt được kết quả như mong đợi. II.2. Ý nghĩa của đề tài Trước hết, ứng dụng “Ẩm thực Đà Thành” được xây dựng như một đề tài thể hiện việc áp dụng những kiến thức quý báu đã được các Thầy, Cô của trường Đại học Bách Khoa – Đại học Đà Nẵng đã nhiệt tình truyền đạt lại cho em. Và đặc biệt là sự theo dõi Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android SVTH: Hứa Bách Trung – Lớp 11TLT Trang 2 và tận tình giúp đỡ của Cô Lê Thị Mỹ Hạnh trong suốt thời gian em thực hiện đề tài này. Trong thời đại công nghệ thông tin phát triển như vũ bão ngày nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải cố gắn nghiên cứu và tìm hiểu để áp dụng vào thực tiễn. Điều này củng được thể hiện qua sự cố gắng của em khi quyết định thực hiện đề tài này với công nghệ được coi là mới hiện nay và được phát triển mạnh mẽ trong tương lai. Ứng dụng có thể nói như là một phụ kiện đi kèm theo các bà nội trợ để hổ trợ cho các bà làm tốt hơn trong việc chuẩn bị bữa cơm cho gia đình. III. Nhiệm vụ của đề tài Ứng dụng “Ẩm thực Đà Thành” là một ứng dụng chạy trên nền Android. Dưới đây là các chức năng chính mà em dự định thực hiện trong ứng dụng như sau: Người dùng có thể tìm kiếm các địa điểm quán ăn trên địa bàn thành phố Đà Nẵng Người dùng có thể xem tất cả các quán ăn,thông tin chi tiết quán ăn. Thêm quán ăn vào danh sách yêu thích. Người dùng có thể xem chỉ dẫn đường đi từ vị trí đang đứng tới quán ăn muốn đến. Có thể gọi điện trực tiếp từ ứng dụng. Ứng dụng có chức năng hiển thị các quán ăn lên bản đồ để người dùng định hướng và chọn quán ăn ngay trên bản đồ. Ứng dụng có chức năng hướng dẫn nấu một số món ăn theo từng loại cụ thể. Có thể chia sẻ quán ăn và bình luận về quán ăn đang xem. IV. Nội dung nghiên cứu Tìm hiểu công nghệ Android và kỹ thuật cần thiết để lập trình ứng dụng điện thoại Android. Phân tích các yêu cầu cần thiết của đề tài. Phân tích thiết kế hệ thống. Xây dựng cơ sở dữ liệu. Xây dựng ứng dụng với đầy đủ các chức năng cần thiết. Viết báo cáo tổng kết đề tài và đề ra hướng phát triển. [...]... - Xem hướng dẫn nấu ăn SVTH: Hứa Bách Trung – Lớp 11TLT Trang 25 Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android II Các biểu đồ hệ thống II.1 Biểu đồ ca sử dụng II.1.1 Biểu đồ ca sử dụng tổng quát Hình 28 Biểu đồ ca sử dụng tổng quát SVTH: Hứa Bách Trung – Lớp 11TLT Trang 26 Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android Mục tiêu Tìm kiếm Xem món ăn yêu thích Chức... Trong Android đối tượng EditText được sử dụng như một TextField hoặc một TextBox . đầu tiền của liên minh này đó là Android, một nền tảng di động được xây dựng trên nhân Linux phiên bản 2.6. Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android SVTH: Hứa Bách Trung –. phép các ứng dụng khác truy xuất và ngược lại. Nếu ứng dụng rất đơn giản thì không nhất thiết phải tạo ra một trình cung cấp nội dung. Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android. SQLite: cở sở dữ liệu dùng cho tất cả các ứng dụng Xây dựng ứng dụng “Ẩm thực Đà Thành” trên nền tảng Android SVTH: Hứa Bách Trung – Lớp 11TLT Trang 6 I.2.4. Android Runtime Cung cấp các chức năng