Đăng ký Đăng nhập
Trang chủ Xây dựng phần mềm đặt món ăn trực tuyến hmlfood cho điện thoại di động trên nền ...

Tài liệu Xây dựng phần mềm đặt món ăn trực tuyến hmlfood cho điện thoại di động trên nền tảng hệ điều hành android

.PDF
80
637
68

Mô tả:

LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn trường Đại Học Công Nghệ Thông Tin và Truyền Thông- Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho phép em hoàn thành đồ án tốt nghiệp này. Em xin chân thành cảm ơn sự giúp đỡ và đóng góp ý kiến nhiệt tình của các thầy - cô giáo trong bộ môn Mạng máy tính và truyền thông - Khoa Công Nghệ Thông Tin- Đại học Công Nghệ Thông Tin và Truyền Thông - Đại Học Thái Nguyên. Đặc biệt em xin bày tỏ lòng cảm ơn sâu sắc nhất đến Thầy giáo Đỗ Đình Cường, đã nhiệt tình giúp đỡ em trong suốt quá trình học tập và nghiên cứu. Và sau cùng em xin gửi lời cảm ơn đến gia đình, bạn bè những người luôn bên cạnh động viên và giúp đỡ em trong thời gian làm đồ án. Sinh viên thực hiện Hoàng Thị Mỹ Lê 1 LỜI CAM ĐOAN Em xin hứa toàn bộ việc làm đồ án do em làm và có sự tham khảo ở các tài liệu tham khảo. Đồ án của em không trùng lặp với các đồ án mà em và thầy giáo hướng dẫn đã biết. Thái Nguyên, tháng 06 năm 2016 Sinh viên Hoàng Thị Mỹ Lê 2 MỤC LỤC LỜI CẢM ƠN ......................................................................................................... 1 LỜI CAM ĐOAN.................................................................................................... 2 MỤC LỤC .............................................................................................................. 3 DANH MỤC HÌNH ẢNH ....................................................................................... 5 LỜI NÓI ĐẦU ........................................................................................................ 7 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................ 8 1.1 Công nghệ xây dựng server ........................................................................... 8 1.2 Công nghệ phát triển ứng dụng android ....................................................... 10 1.2.1 Giới thiệu chung về hệ điều hành android............................................ 10 1.2.2 Kiến trúc của android .......................................................................... 11 1.2.3 Công nghệ phát triển ứng dụng android............................................... 14 1.3.4 Công nghệ giao tiếp giữa ứng dụng android và web server ................ 15 CHƯƠNG 2: KHẢO SÁT PHÂN TÍCH THIẾT KẾ ............................................. 20 2.1 Nhu cầu sử dụng phần mềm đặt món ăn trực tuyến ở Việt Nam và nước ngoài hiện nay............................................................................................................. 20 2.2 Phần mềm ngoài thị trường.......................................................................... 21 2.2.1 Food panda.......................................................................................... 21 2.2.2 Vietnammm......................................................................................... 22 2.2.3 Eat.vn.................................................................................................. 23 2.2.4 chonmon.vn......................................................................................... 24 2.2.5 Kết Luận ............................................................................................. 25 2.2.6. Thị trường kinh doanh món ăn trực tuyến........................................... 26 2.3 Khảo sát hệ thống ........................................................................................ 28 2.3.1 Mô hình đặt món ăn trực tuyến của khách hàng................................... 28 2.3.2 Khảo sát quy trình ship hàng của nhà hàng .......................................... 29 2.4 Yêu cầu đặt ra và giải quyết yêu cầu............................................................ 33 2.4.1. Yêu cầu đặt ra .................................................................................... 33 3 2.4.2. Giải quyết yêu cầu.............................................................................. 33 2.5. Phân tích thiết kế hệ thống.......................................................................... 34 2.5.1 Các tác nhân và Usecase...................................................................... 34 2.5.2 Đặc tả UC............................................................................................ 35 2.5.3 Biểu đồ hoạt động ............................................................................... 39 2.5.4 Biểu đồ trình tự ................................................................................... 47 2.5.5 Biểu đồ lớp.......................................................................................... 51 CHƯƠNG III: XÂY DỰNG DEMO CHƯƠNG TRÌNH....................................... 52 3.1 Giao diện chính ........................................................................................... 52 3.2 Một số chức năng chính............................................................................... 55 3.2.1 Giao diện khách hàng tương tác .......................................................... 55 3.2.2 Giao diện admin .................................................................................. 62 KẾT LUẬN........................................................................................................... 78 TÀI LIỆU THAM KHẢO ..................................................................................... 79 4 DANH MỤC HÌNH ẢNH Hình 1.1 Mô hình web server ..................................................................................8 Hình 1.2 Cấu trúc stack hệ thống Android .............................................................11 Hình 2.1 Mô hình đặt món của khách hàng............................................................28 Hình 2.2 Sơ đồ vật lý của nhà hàng .......................................................................31 Hình 2.3 Biểu đồ UC tổng quát..............................................................................35 Hình 2.4 Biểu đồ hoạt động đăng nhập ..................................................................39 Hình 2.5 Biểu đồ hoạt động đăng xuất...................................................................40 Hình 2.6 Biểu đồ hoạt động đăng Ký.....................................................................40 Hình 2.7 Biểu đồ hoạt động xem thông tin shop ....................................................41 Hình 2.8 Biểu đồ hoạt động xem thông tin menu ...................................................42 Hình 2.9 Biểu đồ hoạt động đặt hàng.....................................................................43 Hình 2.10 Biểu đồ hoạt động thêm thông tin menu ................................................44 Hình 2.11 Biểu đồ hoạt động sửa menu .................................................................45 Hình 2.12 Biểu đồ hoạt động xóa menu .................................................................46 Hình 2.13 Biểu đồ trình tự chức năng đăng nhập ...................................................47 Hình 2.14 Biểu đồ trình tự chức năng đăng xuất ....................................................47 Hình 2.15 Biểu đồ trình tự chức năng đăng ký.......................................................48 Hình 2.16 Biểu đồ trình tự chức năng xem danh sách menu...................................48 Hình 2.17 Biểu đồ trình tự chức năng thêm mới menu...........................................49 Hình 2.18 Biểu đồ trình tự chức năng sửa menu ....................................................49 Hình 2.19 Biểu đồ trình tự chức năng xóa menu ....................................................50 Hình 2.20 Biểu đồ trình tự chức năng đặt hàng......................................................50 Hình 2.21 Biểu đồ lớp ...........................................................................................51 Hình 3.1 Giao diện chính.......................................................................................52 Hình 3.2 Giao diện chọn thành phố .......................................................................53 Hình 3.3 Giao diện chọn quận, huyện ....................................................................54 Hình 3.4 Giao diện list shop ..................................................................................55 Hình 3.5 Thông tin chi tiết shop ............................................................................56 5 Hình 3.6 List Menu ...............................................................................................57 Hình 3.7 Giao diện Comment ................................................................................58 Hình 3.8 Chọn menu và số lượng ..........................................................................59 Hình 3.9 List menu order.......................................................................................60 Hình 3.10 Thông tin khách hàng order...................................................................61 Hình 3.11 Giao diện Admin...................................................................................62 Hình 3.12 Giao diện Register.................................................................................63 Hình 3.13 Giao diện Login ....................................................................................64 Hình 3.14 Giao diện List Menu khi chưa được insert.............................................65 Hình 3.15 Giao diện Insert Menu...........................................................................66 Hình 3.16 Giao diện List Menu khi được Insert và update .....................................67 Hình 3.17 Dialog lựa chọn delete or update ...........................................................68 Hình 3.18 Giao diện update menu..........................................................................69 Hình 3.19 Giao diện xem danh sách List Order và update thông tin shop ..............70 Hình 3.20 Giao dien update thông tin Shop ...........................................................71 Hình 3.21 Giao diện khách hàng đã đặt hàng.........................................................72 Hình 3.22 Giao diện danh sách order đã đặt hàng ..................................................73 Hình 3.23 Giao diện khi Login với tài khoản quản trị viên hệ thống ......................74 Hình 3.24 Giao diện các cửa hàng đã đăng ký với hệ thống ...................................75 Hình 3.25 Giao diện khi muốn xóa 1 cửa hàng khỏi hệ thống ................................76 Hình 3.26 Giao diện khi thêm khu vực ..................................................................77 6 LỜI NÓI ĐẦU 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… kéo theo đó là cuộc cạnh tranh vô cùng khốc liệt của các nhà sản xuất hệ điều hành mobile. Google Android – hệ điều hành mặc dù ra đời muộn hơn những hệ điều hành khác nhưng lại đang là hệ điều hành số 1 trên thị trường hệ điều hành di động hiện nay với thị phần ( 56,1% vào quí 1/2012). Tất cả các ứng dụng như: định vị GPS, multimedia, lướt web và kết nối internet, ứng dụng văn phòng, tích hợp mạng xã hội hay chơi game… đều xuất hiện trên điện thoại thông minh chạy hệ điều hành Android. Sự đa dạng về mức giá cũng như số mẫu mã kiểu dáng khiến Android trở thành một trong những nền tảng smartphone phổ biến nhất tại Việt Nam năm 2011. Xây dựng ứng dụng trên Smartphone là lĩnh vực có tốc độ phát triển nhanh nhất trong ngành công nghệ thông tin với 1,4 tỉ thuê bao và dự báo sẽ có khoảng 452 triệu Smartphone được bán ra vào năm 2012 và 6,7 triệu ứng dụng sẽ được download trước năm 2014. Với xu thế và tính tất yếu của lĩnh vực lập trình ứng dụng nói chung và lập trình Android nói riêng đã mang đến luồng gió mới trong ngành công nghệ thông tin. Kể từ năm 2011, đặt món ăn trực tuyến đã trở thành một thị trường hấp dẫn và “ngon miệng” tại Việt Nam. Khởi đầu từ là sự tiện lợi khi đặt món ăn với cộng đồng người nước ngoài tại Việt Nam, sau đó trở thành trào lưu và được đón nhận nồng nhiệt từ các bạn trẻ và nhân viên văn phòng. Hiện nay, với sự phát triển của các trang thương mại điện tử, việc mua và bán các sản phẩm trên môi trường kinh doanh online ngày càng trở nên phổ biến, việc đặt món ăn trực tuyến đã xác lập vị trí trong thói quen mua sắm của nhiều người dùng Internet. Chính vì vậy em đã chọn đề tài: “Xây dựng phần mềm đặt món ăn trực tuyến HMLFOOD cho điện thoại di động trên nền tảng hệ điều hành Android” làm đề tài cho đồ án tốt nghiệp. Thông qua đề tài này em tìm hiểu được thêm những kiến thức mới về lập trình Android và trau dồi khả năng lập trình của mình. 7 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Công nghệ xây dựng server Web server là một dịch vụ công nghệ thông tin xử lý các yêu cầu thông qua HTTP, các giao thức mạng cơ bản khác để phân phối thông tin trên world wide web.Các chức năng chính của web server là để lưu trữ, xử lý và cung cấp các trang web cho người dùng. Những dạng dữ liệu thường xuyên truyền tải giữa một web server với một ứng dụng client là các trang tài liệu HTML có thể bao gồm hình ảnh, kịch bản, file khác. Ứng dụng client có thể là một trình duyệt web, một ứng dụng có thể đọc và truy xuất đến web server. Ứng dụng client truy cập đến server bằng cách thực hiện một yêu cầu một tài nguyên nào đó trên server bằng cách sử dụng HTTP, khi server nhận được yêu cầu sẽ thực hiện xử lý yêu cầu và đáp ứng nội dung tài nguyên cần yêu cầu(nếu có) cho client. Hình 1.1 Mô hình web server Hiện nay có nhiều cách để xây dựng và chạy một web server được phân loại bằng ngôn ngữ sử dụng, xử lý trên web server bao gồm: Web server PHP sử dụng ngôn ngữ lập trình PHP để xử lý các yêu cầu từ client và MySQL để lưu trữ cơ sở dữ liệu. Ưu điểm của web server PHP là: Sử dụng ngôn ngữ lập trình PHP là một ngôn ngữ mã nguồn mở, rất phổ biến và dễ dàng viết mã. Bên cạnh đó là sử dụng hệ quản trị cơ sở dữ liệu MySQL là một quản trị cơ sở dữ liệu dễ quản lý, tốc độ xử lý cao và dễ dàng sử dụng. Tuy nhiên còn một số những nhược điểm của Web server PHP như: PHP là một ngôn ngữ dạng yếu và chỉ 8 chạy được trên ứng dụng web. Hệ quản trị cơ sở dữ liệu MySQL bảo mật chưa cao, quán trình phục hồi chậm chạp, không hỗ trợ truy vấn con và các thủ tục lưu trữ, bẫy lỗi, … Web server Java sử dụng ngôn ngữ java để xử lý các yêu cầu từ client và Oracle Database để lưu trữ cơ sở dữ liệu. Ưu điểm của web server Java là: sử dụng ngôn ngữ lập trình Java là một ngôn ngữ mã nguồn mở, rõ ràng và tách biệt, dễ dàng viết mã, ngôn ngữ hướng đối tượng rõ ràng, nhiều thư viên hỗ trợ lập trình. Hệ quản trị cơ sở dữ liệu sử dụng là Oracle Database là một hệ quản trị cơ sở dữ liệu lớn, được tích hợp các công cụ quản trị, tính bảo mật cao và thời gian đáp ứng nhanh. Ngoài những ưu điểm trên thì Web server Java cũng có những nhược điểm như: ngôn ngữ lập trình java còn chập chạp, cần phải cấu hình nhiều để có thể chạy tốt, hệ quản trị cơ sở dữ liệu Oracle chưa được phổ biến, phí bản quyền tương đối cao, không tương thích với các công nghệ của Microsoft. Web server .Net sử dụng ngôn ngữ lập trình C# để xử lý các yêu cầu từ client và SQLServer để lưu trữ cơ sở dữ liệu. Ưu điểm của web sercer .Net là: sử dụng ngôn ngữ lập trình C# là ngôn ngữ lập trình đơn giản hướng đối tượng, rõ ràng, tách biệt, mạnh mẽ, dễ dàng viết mã, nhiều thư viện hỗ trợ lập trình. Hệ quản trị cơ sở dữ liệu hay được sử dụng là SQLServer là một hệ quản trị cơ sở dữ liệu lớn, mạnh mẽ, cấu trúc chặt chẽ, duy nhất, tính bảo mật cao, dễ dàng sử dụng. Web server .Net còn có một số nhược điểm như: ngôn ngữ C# chỉ hỗ trợ trên môi trường windown, SQLServer bảo mật cao nên phải cấu hình chính sác mới có thể sử dụng. Từ những ưu điểm và nhược điểm kể trên của ba cách xây dựng web server em chọn cách xây dựng web server trên nền ASP.Net sử dụng ngôn ngữ lập trình C# để viết mã và hệ quản trị cơ sở dữ liệu SQLServer 2005 để lưu trữ dữ liệu. Để thực hiện các truy vấn cơ sở dữ liệu trong SQLServer để xử lý và gửi phản hổi cho client em sử dụng cộng nghệ LINQ. LINQ (Language Integrated Query) là một thư viện cung cấp cho ngôn ngữ lập trình C# và Visual Basi. Thư viện này cung cấp khả năng truy vấn database ngay trên ngôn ngữ lập trình. Khi sử dụng, LinQ sẽ mô phỏng lại cơ sở dữ liệu của bạn và lưu trong trương trình, sau đó 9 mỗi thực thể sẽ được xây dựng thành mỗi class như mô hình MVC, từ đó ta có thể truy xuất database thông qua những class đó.LINQ có thể viết truy vấn cơ sở dữ liệu cho rất nhiều các đối tượng, thực thể dữ liệu từ database.Công nghệ này giúp giảm gánh nặng thao tác trên nhiều ngôn ngữ lập trình và cải thiện năng suất lập trình. LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping) có bên trong .NET Framework 3.5, nó cho phép mô hình hóa một cơ sở dữ liệu dùng các lớp .NET. LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP). Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn. 1.2 Công nghệ phát triển ứng dụng android 1.2.1 Giới thiệu chung về hệ điều hành android Android là một nền tảng mã nguồn mở toàn diện được thiết kế cho các thiết bị di động. Nó là sự liên minh giữa ông lớn Google và Open Handset Alliance – các tập đoàn sản xuất thiết bị cầm tay nổi tiếng như Intel, SamSung, Toshiba… Với mục tiêu là tăng tốc việc đổi mới trong di động và cung cấp cho người tiêu dung nhiều tiện ích phong phú, ít tốn kém. Android chính là công cụ để làm điều đó. Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấp thấp của Linux đến tất cả các thư viện gốc và tử các ứng dụng khung cho đến các ứng dụng hoàn chỉnh là hoàn toàn mở. Trong lịch sử phát triển, ban đầu Android thuộc sở hữu của công ty Android Inc. Sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform. Cuối năm 2007 liên minh Open HandsetAlliance được thành lập và được công bố, Android chính thức trở thành mã nguồn mở. Phiên bản đầu tiên được phát hành vào tháng 11 năm 2007. 10 1.2.2 Kiến trúc của android Hình 1.2 Cấu trúc stack hệ thống Android a, Tầng ứng dụng Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như: Các ứng dụng cơ bản được cài đặt đi liền với hệ điều hành như: gọi điện thoại (phone), quản lý danh bạ (contacts), duyệt web (browser), nhắn tin (sms), lịch làm việc (calendar), đọc email (email-client), bản đồ (map), quay phim chụp ảnh (camera)…. Các ứng dụng được cài thêm như các phần mềm (stock), các trò chơi (game), từ điển, …. Các chương trình có các đặc điểm là:  Viết bằng Java, phần mở rộng là apk.  Khi mỗi ứng dụng được chạy, nó có phiên bản Virtual Machine được dựng lên phục vụ cho nó. Nó có thể là một Active Program: chương trình có giao diện với người sử dụng hoặc là một background: chương trình chạy nền hay là dịch vụ.  Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời điểm, có thể có nhiều chương trình chạy một lúc, tuy nhiên, với mỗi ứng dụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi. Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn. 11  Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống. Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền. b, Application framework Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên. Gồm các thành phần:  Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp các công cụ điều khiển Activity.  Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như gọi điện thoại.  XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực.  Location Manager: Cho phép xác định vị trí của điện thoại dựa vào hệ thống định vị toàn cầu GPS và Google Maps.  Window Manager: Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng.  Notication Manager: Quản lý việc hiển thị các thông báo ( như báo có tin nhắn,có email mới….). c, Library Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android. Điều này được thể hiện thông qua nền tảng ứng dụng Android. Một số các thư viện cơ bản gồm:  Hệ thống thư viện C : triển khai BSD-derived có nguồn gốc từcáchệ thống thư việnchuẩnC(libc), được sử dụng chỉ bởi hệ điều hành.  Media Libraries– Dựa trên gói Video OpenCORE; cácthư việnhỗ trợphátvàghi âmcủacác định dạng âm thanh và video phổ biến, cũng như cácfilehình ảnhtĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG 12  Surface Manager– Quản lý việc truy xuất vào hệ thống hiển thị  LibWebCore- Đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như để các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX..  SGL– Các cơ sở công cụ đồ họa 2D.  3D libraries- Thực hiện dựa trên OpenGL ES 1.0 APIs; Thư viện sử dụng hoặc là tăng tốc phần cứng 3D (nếu có) hoặc bao gồm tối ưu hóa phần mềm3D.  SQLite- Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng d, Android Runtime Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạt động. Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường. Thứ nhất là các thư viện lõi (Core Library) , chứa các lớp như JAVA IO, Collections, File Access. Thứ hai là một máy ảo java (Dalvik Virtual Machine) . Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển. e, Linux kernel Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process). Tầng này có các thành phần chủ yếu :  Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng...)  Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từ camera trả về.  Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth. 13  USB driver : Quản lý hoạt động của các cổng giao tiếp USB  Keypad driver : Điều khiển bàn phím  Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi  Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng audio thành tín hiệu số và ngược lại  Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện.  M-System Driver : Quản lý việc đọc ghi... lên các thiết bị nhớ như thẻ SD, flash  Power Madagement : Giám sát việc tiêu thụ điện năng. 1.2.3 Công nghệ phát triển ứng dụng android Hiện nay, trên thực tế tồn tại ba công nghệ phát triển ứng dụng cho hệ điều hành android gồm: sử dụng java thuần túy để phát triển ứng dụng, sử dụng C++ để phát triển ứng dụng game, sử dụng công nghệ Cross platform hoặc Hybrid để viết ứng dựng từ một ngôn ngữ có thể chạy trên nhiều nền tảng hệ điều hành khách nhau. Sử dụng java thuần để phát triển ứng dụng android là công nghệ viết ứng dụng cơ bản và được google khuyên sử dụng. Vì đây là nền tảng cơ bản của android, việc biên dịch để thực thi ứng dụng trên hệ điều hành android đã được tích hợp và tương thích trong các phần mềm lập trình. Đa số các ứng dụng trên android hiện nay đều được viết từ nền tảng này. Ngoài ra nền tảng này còn được google và các nhà phát triển ứng dụng liên tục cập nhật những bộ thư viện mới hỗ trợ người lập trình rất tốt. Những phần mềm sử dụng nền tảng công nghệ này như: Android Studio, Elclipse,… Sử dụng C++ để phát triển ứng dụng game là công nghệ tận dụng tốc độ xử lý nhanh và tối ưu bộ nhớ của ngôn ngữ C++ để phát triển các ứng dụng game. Với công nghệ này người lập trình sẽ viết mã trên C++ sau đó sử dụng công cụ NDK để chuyển đổi mã sang java để chạy trên hệ điều hành android. Sử dụng công nghệ Cross platform hoặc Hybrid là một cách tiếp cận mới cho các ứng dụng trên di động. Với công nghệ này, ứng dụng chỉ cần viết một lần có thể 14 chạy được trên nhiều hệ điều hành khác nhau. Công nghệ này sử dụng một số ngôn ngữ như js (HTML5), C#(unity,xamarin) …  Cùng với sự tìm hiểu và những hiểu biết của mình về các công nghệ phát triển ứng dụng cho android thì em lựa chọn công nghệ sử dụng java thuần để phát triển ứng dụng trên android của đề tài. Vì đây là nền tảng được hỗ trợ rất nhiều từ google nhất là từ khi phần mềm lập trình Android Studio của hãng được phát hành. Bên cạnh đó thư viện hỗ trợ được viết bởi các hãng cũng khá phong phú và tiện dụng. Tài liệu hướng dẫn sử dụng và học tập trên nền tảng này cũng rất nhiều. 1.3.4 Công nghệ giao tiếp giữa ứng dụng android và web server Đề tài thực hiện của em gồm hai thành phần chính là server và client trên android vì vậy mà vấn đề làm sao để ứng dụng android có thể hiểu và giao tiếp qua lại với web server là một trong những vẫn đề then chốt của đề tài. Công nghệ thông dụng, phổ biến và dễ dàng để kết nối truyền thông giữa client và server là HTTP (Hypertext Transfer Protocol). Đây là giao thức chạy trên nền web dùng để truyền tải nội dung giữa web server và client. Cơ chế hoạt động chính của HTTP là Requet và Response. Client gửi Request đến cho server, server xử lý và trả về Response cho client. Giao thức này sẽ đảm bảo vấn đề kết nối của ứng dụng client android với web server. Vấn đề làm sao để client và server hiểu nhau thì hiện nay có một số công nghệ hỗ trợ vấn đề này như: JSON, SOAP, WSDL, … - JSON: JSON (JavaScript Object Noattion) là một định dạng hoán vị dữ liệu nhanh. Chúng dễ dàng cho chúng ta đọc và viết. Dễ dàng cho thiết bị phân tích và phát sinh. Chúng là cơ sở dựa trên tập hợp của Ngôn Ngữ Lập Trình JavaScript, tiêu chuẩn ECMA-262 phiên bản 3 - tháng 12 năm 1999. JSON là một định dạng kiểu text mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ họ hàng C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ khác. Những đặc tính đó đã tạo nên JSON một ngôn ngữ hoán vị dữ liệu lý tưởng. JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến, theo tôi thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số. JSON được xây dựng trên 2 cấu trúc: 15  Là tập hợp của các cặp tên và giá trị name-value. Trong những ngôn ngữ khác nhau, đây được nhận thấy như là một đối tượng (object), bản ghi (record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list), hay mảng liên hợp.  Là một tập hợp các giá trị đã được sắp xếp. Trong hầu hết các ngôn ngữ, thì được nhận thấy như là một mảng, véc tơ, tập hợp hay là một dãy sequence. Đây là một cấu trúc dữ liệu phổ dụng. Hầu như tất cả các ngôn ngữ lập trình hiện đại đều hổ trợ chúng trong một hình thức nào đó. Ví dụ: { "username" : "hoangmyle", "email" : "[email protected]", "website" : "hoangmyle.vn", "title" : "Ứng dụng đặt món ăn trực tuyến HMLFOOD" } SOAP: - SOAP – Một tiêu chuẩn của W3C, là giao thức sử dụng XML để định nghĩa dữ liệu dạng thuần văn bản (plain text) thông qua HTTP. SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu. Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào. - Một thông điệp SOAP được chia thành hai phần là header và body. Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP. WSDL: - WSDL là một ngôn ngữ dựa trện XML để định vị và mô tả các dịch vụ WEB. UDDI: - UDDI là danh sách các dịch vụ, nơi mà các công ty có thể đăng ký và tìm kiếm cho các dịch vụ WEB. - Ví dụ về Web Service dạng Json: 16 a) Cách gọi Web Service trong Android - Để gọi được WebService trong Android ta phải có bộ thư viện KSOAP - Các tham số cần có khi gọi WebService: +INTERNET: + URL: + METHOD_NAME: 17 b) Cách lấy dữ liệu từ Web Service dưới dạng json và xml trong Andoid Bước 1: tạo bảng cơ sở dữ liệu Bước 2 : Tạo một thư mục tên là webservice, đặt trong thư mục gốc của website. Tiếp đến trong thư mục webservice, tạo 1 file đặt tên là connection.php. File này có trách nhiệm tạo kết nối đến cơ sở dữ liệu. 18 Bước 3: Viết code php xuất dạng json như sau Bước 4: Viết code android load dữ liệu hiện thị 19 CHƯƠNG 2: KHẢO SÁT PHÂN TÍCH THIẾT KẾ 2.1 Nhu cầu sử dụng phần mềm đặt món ăn trực tuyến ở Việt Nam và nước ngoài hiện nay Trên thị trường ẩm thực, mô hình kinh doanh gọi món trực tuyến đang nở rộ trong những năm gần đây chính là cánh cửa cơ hội tiếp cận thị trường thương mại điện tử đầy tiềm năng. Theo số liệu từ Báo cáo thương mại điện tử 2013 của Bộ Công Thương, dự báo doanh số thương mại điện tử B2C của Việt Nam sẽ tăng trưởng 80% từ 2.2 tỷ USD (2013) đến 4 tỷ USD trong năm 2015. Với tốc độ tăng trưởng vượt bậc này, cho đến nay, thương mại điện tử không chỉ nổi lên như một trào lưu mà còn là xu hướng tất yếu xuất hiện ở nhiều lĩnh vực khác nhau tại Việt Nam. Sự nở rộ của hai mô hình kinh doanh như trang web gọi món (gọi món ăn đến bất cứ nơi nào vào bất kỳ thời gian nào) và đặt chỗ nhà hàng trực tuyến (đặt chỗ trước khi đến nhà hàng thưởng thức) cũng góp phần thay đổi quy trình phân phối hàng hoá và phương thức kinh doanh trên thị trường ẩm thực. Hai loại hình kinh doanh này đều hoạt động trên cơ sở hệ thống trang web có liên kết hợp tác với nhiều nhà hàng trong khu vực và khách hàng có thể sử dụng dịch vụ trực tuyến tùy theo mục đích của mình. Ưu điểm chung của hai dịch vụ này là khách hàng có thể tham khảo nhiều lựa chọn từ một trang web duy nhất nhằm tiết kiệm thời gian tìm kiếm, theo dõi ưu đãi của nhà hàng thường xuyên và tiếp cận thêm nhiều lựa chọn ẩm thực mới. Nghiên cứu tiến hành trên 474 đối tượng người tiêu dùng Mỹ (2011) của Tiến sĩ Sheryl E. Kimes ghi nhận hơn một nửa đối tượng tham gia khảo sát đã từng đặt nhà hàng trực tuyến, 60% trong số này đặt chỗ nhà hàng qua một hệ thống của trang web đặt chỗ trực tuyến thay vì đặt trực tiếp tại trang web của nhà hàng. Những đối tượng tham gia phỏng vấn này cũng xem các trang web trực tuyến là công cụ hữu ích để tìm kiếm, tham khảo thông tin và chọn lựa nhà hàng. Tại Việt Nam, trong khi các trang đặt chỗ nhà hàng trực tuyến vẫn còn nhen nhóm 20
- Xem thêm -

Tài liệu liên quan