Xây dựng ứng dụng gọi xe nha trang trên thiết bị di động

82 526 1
Xây dựng ứng dụng gọi xe nha trang trên thiết bị di động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN VĂN BÉ XÂY DỰNG ỨNG DỤNG “GỌI XE NHA TRANG” TRÊN THIẾT BỊ DI ĐỘNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Ngành: Công nghệ thông tin Nha Trang – 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN VĂN BÉ XÂY DỰNG ỨNG DỤNG “GỌI XE NHA TRANG” TRÊN THIẾT BỊ DI ĐỘNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Ngành: Công nghệ thông tin CÁN BỘ HƯỚNG DẪN: ThS TRẦN MINH VĂN Nha Trang – 2016 LỜI MỞ ĐẦU Ngày nay, việc sử dụng điện thoại thông minh phổ biến toàn giới Nhiều công ty phần mềm lớn doanh nghiệp khởi nghiệp tận dụng tính di động điện thoại thông minh với lợi hệ điều hành iOS, Android… đời sản phẩm ứng dụng lạ như: Uber Grab với ứng dụng đặt xe mô hình nhờ xe/quá giang để tiết kiệm chi phí; hay ShipS với mô hình giao hàng dành cho người nhàn rỗi muốn kiếm thêm thu nhập công việc Với mục đích tiếp cận mô hình này, để học hỏi kiến thức cách để tạo ứng dụng vậy, thực đề tài “Xây dựng ứng dụng ‘Gọi Xe Nha Trang’ thiết bị di động” Phần mềm viết ngôn ngữ Java, sử dụng công cụ phát triển Android Studio phát triển tảng Android 4.0.3 Ngoài ra, kết hợp phần mềm Web Service phát triển dựa ngôn ngữ PHP sử dụng Yii Framework Phần mềm “Gọi Xe Nha Trang” giúp kết nối người sử dụng ứng dụng với người lái xe để gọi đặt xe muốn di chuyển từ địa điểm đến địa điểm khác với mức cước phí rẻ phí phương tiện khác taxi, với tiện lợi nhanh chóng Phần mềm giúp cho người nhàn rỗi, mà đặc biệt người lái xe thồ, có thêm thu nhập công việc Tôi xin chân thành cảm ơn thầy Trần Minh Văn, giảng viên môn Hệ thống thông tin, thuộc khoa Công nghệ thông tin, trường Đại học Nha Trang tận tình hướng dẫn giúp đỡ để hoàn thành đề tài Vì lần xây dựng ứng dụng Android, nên phần mềm nhiều thiếu sót Vì mong nhận nhiều góp ý từ thầy cô để phần mềm hoàn thiện Sinh viên thực Nguyễn Văn Bé MỤC LỤC CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Nội dung CHƯƠNG GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 2.1 Android gì? 2.2 Lịch sử Android 2.3 Các phiên Android 2.3.1 Android 1.0 – 9/2008 2.3.2 Android 1.1 – 2/2009 2.3.3 Android 1.5 (Cupcake) – 4/2009 2.3.4 Android 1.6 (Donut) – 9/2009 2.3.5 Android 2.0 / 2.1 (Éclair) – 9/2009 2.3.6 Android 2.2 (Froyo) – 5/2010 2.3.7 Android 2.3 (Gingerbread) – 12/2010 2.3.8 Android 3.0 (Honeycomb) – 2/2011 2.3.9 Android 4.0 (Ice Cream Sandwich) – 10/2011 2.3.10 Android 4.1 / 4.2 / 4.3 (Jelly Bean) – 7/2012 10 2.3.11 Android 4.4 (Kitkat) – 10/2013 10 2.3.12 Android 5.0 (Lollipop) – 11/2014 11 2.3.13 Android 6.0 (Marshmallow) – 10/2015 11 2.3.14 Android N Developer Preview – 5/2016 12 2.4 Thị phần Android so với tảng di động khác 12 2.5 Kiến trúc hệ điều hành Android 12 2.5.1 Nhân Linux (Linux Kernel) 13 2.5.2 Thư viện Android (Android Libraries) Android Runtime 13 2.5.3 Khung ứng dụng (Application Framework) 15 2.5.4 Ứng dụng (Applications) 15 2.6 Đại cương lập trình ứng dụng cho Android 15 2.6.1 Thành phần Ứng dụng 16 2.6.2 Kích hoạt Thành phần 20 2.6.3 Tệp Bản kê khai 21 CHƯƠNG GIỚI THIỆU VỀ RESTFUL WEB SERVICE 22 3.1 Service gì? 22 3.2 Web service gì? 22 3.2.1 Một vài định nghĩa Web service 22 3.2.2 Đặc điểm Web service 23 3.2.3 Ưu nhược điểm Web service 24 3.2.4 Các kiến trúc Web service 25 3.2.5 Các loại Web service 25 3.3 Big web service 26 3.3.1 Giới thiệu 26 3.3.2 Cách thức hoạt động 26 3.3.3 Các thành phần 26 3.3.3.1 WSDL – Web Service Description Language 26 3.3.3.2 UDDI – Universal Description, Discovery, and Integration 27 3.3.3.3 SOAP – Simple Object Access Protocol 28 3.3.4 Khi sử dụng Big web service? 28 3.4 RESTful web service 29 3.4.1 REST gì? 29 3.4.2 Các ràng buộc REST 29 3.4.2.1 Client-Server 29 3.4.2.2 Stateless 29 3.4.2.3 Cache 30 3.4.2.4 Uniform Interface 30 3.4.2.5 Layered System 31 3.4.2.6 Code-On-Demand 31 3.4.3 Các ràng buộc giao diện hệ thống REST 31 3.4.3.1 Tài nguyên định danh tài nguyên 31 3.4.3.2 Đại diện điều khiển tài nguyên qua đại diện 31 3.4.3.3 Các thông điệp tự mô tả 32 3.4.3.4 Hypermedia as the engine of application state (HATEOAS) 32 3.4.4 Lợi ích RESTful web service 34 3.4.5 Một vài khẳng định REST để tránh quan niệm sai lầm 34 3.4.5.1 REST không phụ thuộc vào giao thức 34 3.4.5.2 REST không ánh xạ CRUD với phương thức HTTP 35 3.4.5.3 REST REST HATEOAS 35 3.4.5.4 REST so sánh trực tiếp với SOAP 35 CHƯƠNG GOOGLE MAPS, GOOGLE MAPS APIS VÀ CÁC DỊCH VỤ CỦA GOOGLE 36 4.1 Giới thiệu Google Maps 36 4.2 Giới thiệu Google Maps APIs 36 4.3 Google Maps Android API 37 4.4 Google Maps APIs Web Services 38 4.4.1 Giới thiệu 38 4.4.2 Sử dụng Google Maps Web services 38 4.4.3 Giới thiệu Google Maps Directions API 38 4.4.4 Giới thiệu Google Maps Geocoding API 39 4.4.5 Giới thiệu Google Places API Web Service 39 4.5 Giới thiệu Google Cloud Messaging 40 4.5.1 Google Cloud Messaging gì? 40 4.5.2 Các tính Google Cloud Messaging 40 4.5.3 Dòng tiến trình Google Cloud Messaging 42 CHƯƠNG XÂY DỰNG ỨNG DỤNG 44 5.1 Phân tích thiết kế hệ thống 44 5.1.1 Hiện trạng ứng dụng 44 5.1.2 Mục tiêu ứng dụng 44 5.1.3 Những lợi ứng dụng so với ứng dụng khác 45 5.1.4 Đặc tả hệ thống 45 5.1.5 Mô hình thực thể liên kết mở rộng (EER diagram) 47 5.2 Giới thiệu ứng dụng 53 5.2.1 Giới thiệu Web service ứng dụng trang quản lý 53 5.2.2 Giới thiệu ứng dụng “Gọi Xe Nha Trang” dành cho khách hàng 57 5.2.3 Giới thiệu ứng dụng “Gọi Xe Driver” dành cho người lái xe 64 CHƯƠNG KẾT LUẬN 71 6.1 Ưu điểm khuyết điểm ứng dụng xây dựng 71 6.1.1 Ưu điểm 71 6.1.2 Khuyết điểm 71 6.1.3 Hướng khắc phục tương lai 71 6.2 Các kết đạt 72 DANH MỤC CÁC BẢNG Bảng 5.1: Chi tiết bảng user 48 Bảng 5.2: Chi tiết bảng driver 48 Bảng 5.3: Chi tiết bảng fee 49 Bảng 5.4: Chi tiết bảng vehicle_producer 50 Bảng 5.5: Chi tiết bảng vehicle 50 Bảng 5.6: Chi tiết bảng order 50 Bảng 5.7: Chi tiết bảng favorite 51 Bảng 5.8: Chi tiết bảng rating 52 DANH MỤC HÌNH ẢNH Hình 2.1: Hình ảnh biểu trưng hệ điều hành Android Hình 2.2: HTC G1 – Chiếc điện thoại chạy Android Hình 2.3: Hình biểu tượng Android 1.5 Hình 2.4: Hình biểu tượng Android 1.6 Hình 2.5: Hình biểu tượng Android 2.0 – 2.1 Hình 2.6: Hình biểu tượng Android 2.2 Hình 2.7: Hình biểu tượng Android 2.3 Hình 2.8: Hình biểu tượng Android 3.0 Hình 2.9: Hình biểu tượng Android 4.0 Hình 2.10: Hình biểu tượng Android 4.1 / 4.2 / 4.3 10 Hình 2.11: Hình biểu tượng Android 4.4 10 Hình 2.12: Hình biểu tượng Android 5.0 11 Hình 2.13: Hình biểu tượng Android 6.0 11 Hình 2.14: Thị phần tảng di động toàn cầu quý 1/2016 12 Hình 2.15: Kiến trúc lớp Android 13 Hình 3.1: Kiến trúc Big web service 26 Hình 3.2: HATEOAS Twitter API 33 Hình 3.3: Các hành động có trang đấu giá eBay 33 Hình 3.4: HATEOAS eBay API 34 Hình 4.1: Các tính Google Cloud Messaging 40 Hình 4.2: Dòng tiến trình Google Cloud Messaging 42 Hình 5.1: Mô hình thực thể liên kết mở rộng 47 Hình 5.2: Giao diện trang quản trị 53 Hình 5.3: Giao diện vừa mở ứng dụng 58 Hình 5.4: Giao diện đăng nhập đăng ký 58 Hình 5.5: Giao diện ứng dụng 59 Hình 5.6: Giao diện sau nhấn PICKUP 59 Hình 5.7: Giao diện tìm kiếm địa điểm 60 Hình 5.8: Giao diện kết tìm đường người lái xe 61 Hình 5.9: Thông tin chi tiết người lái xe 62 Hình 5.10: Giao diện xem vị trí người lái xe theo thời gian thực 62 Hình 5.11: Giao diện sau hoàn tất chuyến 63 Hình 5.12: Giao diện lịch sử đặt xe danh sách yêu thích 64 Hình 5.13: Giao diện ban đầu “Gọi Xe Driver” 65 Hình 5.14: Giao diện đăng nhập ứng dụng 65 Hình 5.15: Giao diện hình ứng dụng 66 Hình 5.16: Chi tiết thu nhập ngày 67 Hình 5.17: Thông báo xuất có đơn hàng 68 Hình 5.18: Giao diện chi tiết đơn đặt hàng 68 Hình 5.19: Giao diện người lái xe chấp nhận đơn hàng 69 Hình 5.20: Thống kê làm sau hoàn tất đơn hàng 70 CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề Hiện địa bàn thành phố Nha Trang nhiều người lái xe thồ hoạt động Nhiều người lái xe thồ thường ngồi ví trí cố định để chờ khách đến, có nhiều người lái xe thồ dọc quanh đường lớn thành phố để tìm kiếm khách hàng cách chào gọi Có thể thấy hai phương pháp hiệu tốn chi phí tiền xăng cho việc chạy lòng vòng để tìm khách hàng Bên cạnh đó, có phận sinh viên muốn kiếm thêm thu nhập sau học để trang trải tiền học phí chi phí sinh hoạt hàng ngày Hầu hết sinh viên làm thêm với nghề gia sư, phục vụ quán cà phê, tiếp thị… Thế nghề phải làm theo cố định, có tối muộn đến nhà khiến họ gặp nhiều khó khăn việc xếp lịch học Vì vậy, để giải vấn đề cần có ứng dụng giúp cho người lái xe thồ dễ dàng có thêm khách hàng, giúp cho bạn sinh viên kiếm thêm thu nhập mà chủ động thời gian Đó lý ứng dụng “Gọi Xe Nha Trang” phát triển 1.2 Mục tiêu đề tài  Rèn luyện kỹ lập trình ứng dụng: sở liệu, web service, lập trình thiết bị di động Android  Viết chương trình ứng dụng cộng đồng giúp kết nối người lái xe thồ khách hàng địa bàn thành phố Nha Trang thông qua thiết bị di động 1.3 Nội dung Về lý thuyết:  Tìm hiểu phân tích thiết kế hệ thống thông tin  Tìm hiểu lập trình sở liệu  Tìm hiểu xây dựng ứng dụng Web Service RESTful  Tìm hiểu xây dựng ứng dụng thiết bị di động Android  Tìm hiểu dịch vụ Google Maps 59 Hình 5.5: Giao diện ứng dụng Tại đây, khách hàng di chuyển đồ để chọn điểm điểm đến theo biểu tượng cột mốc hình Khi di chuyển cột mốc đến vị trí cần tìm, khách hàng nhấn nút PICKUP góc trái bên để xác định điểm đi, nhấn DESTINATION góc phải bên để xác định điểm đến Ví dụ, khách hàng muốn điểm gần cầu Hà Ra, khách hàng phải di chuyển đồ cho cột mốc trùng với địa điểm, sau nhấn nút PICKUP, kết hình 5.6: Hình 5.6: Giao diện sau nhấn PICKUP 60 Như hình 5.6, ta thấy sau nhấn nút PICKUP, có marker (đánh dấu) vị trí điểm đi, đồng thời địa điểm lên màu trắng trước có chữ Pickup Ngoài ra, để không tốn thời gian di chuyển đồ, khách hàng tìm kiếm địa điểm cách nhấn vào hai màu trắng nằm ngang phía tên ứng dụng “Gọi Xe Nha Trang” Hình 5.7: Giao diện tìm kiếm địa điểm Tại đây, khách hàng lựa chọn địa điểm từ danh sách lịch sử lần đặt xe trước (history), chọn từ danh sách địa điểm lân cận (nearby place), gõ từ khóa tìm kiếm vào khung Place name Sau tìm kiếm xong, khách hàng nhấn vào địa điểm cần tìm Khi ứng dụng di chuyển đồ đến vị trí địa điểm đó, khách hàng định điểm hay điểm đến cách nhấn nút PICKUP hay DESTINATION giới thiệu Khi chọn đủ điểm điểm đến, ứng dụng tiến hành thực việc tìm đường tìm kiếm người lái xe, sau hiển thị kết hình 5.8: 61 Hình 5.8: Giao diện kết tìm đường người lái xe Trên hình 5.8, ta thấy ứng dụng vài lựa chọn đường với độ dài quảng đường thời gian lý thuyết Ở đây, đường lựa chọn để từ điểm gần cầu Hà Ra đến gần chợ Đầm theo đường 2/4 Khách hàng lựa chọn đường khác theo đường Bờ Kè Nam cách chạm vào đường đồ, độ dài quảng đường thời gian dự tính thay đổi Bên cạnh đó, hình 5.8 có thông tin giá tiền dự tính cho chuyến Giá tiền tính dựa vào người lái xe lựa chọn (là biểu tượng người lái xe mô-tô màu cam) Đồng thời, khách hàng xem thông tin chi tiết người lái xe cách nhấn vào nút màu xanh bên phải tên người lái xe 62 Hình 5.9: Thông tin chi tiết người lái xe Trên hình 5.9 thông tin chi tiết người lái xe Ở đây, khách hàng xem thông tin người lái xe, nhấn vào hình ảnh xe để xem to hơn, xem đánh giá người lái xe mục REVIEW thêm người lái xe vào danh sách yêu thích cách nhấn nút FAVORITE Sau lựa chọn người lái xe, khách hàng nhấn nút ORDER A BIKE NOW phía hình 5.8 để tiến hành đặt hàng Hoặc người lái xe không sử dụng ứng dụng, nút nút gọi điện cho người lái xe Sau đặt xe thành công người lái xe chấp nhận, khách hàng xem vị trí người lái xe theo thời gian thực hình 5.10: Hình 5.10: Giao diện xem vị trí người lái xe theo thời gian thực 63 Trong trình xem vị trí người lái xe, khách hàng gọi cho người lái xe cách nút CALL DRIVER phía hình 5.10 Nút phía nút CALL bên phải nút tự động xem vị trí người lái xe Khi nhấn nút này, ứng dụng tự động di chuyển đồ đến vị trí người lái xe Sau hoàn tất chuyến đi, khách hàng đánh giá người lái xe hình 5.11: Hình 5.11: Giao diện sau hoàn tất chuyến Ngoài ra, giao diện hình ban đầu, khách hàng nhấn vào nút menu (biểu tượng ba dấu gạch ngang) góc trái phía hình 5.5 để xem lịch sử đặt xe, danh sách yêu thích đăng xuất 64 Hình 5.12: Giao diện lịch sử đặt xe danh sách yêu thích 5.2.3 Giới thiệu ứng dụng “Gọi Xe Driver” dành cho người lái xe Để dễ dàng giao tiếp với khách hàng người lái xe có ứng dụng riêng “Gọi Xe Driver” Muốn sử dụng ứng dụng này, người bình thường phải liên hệ, đăng ký với người quản trị để tạo tài khoản dành riêng cho người lái xe Tổng kết chức ứng dụng bao gồm:  Đăng nhập vào ứng dụng  Xem thống kê thu nhập người lái xe theo ngày, theo tuần, bao gồm thông tin như: tổng số tiền thu nhập tuần (xem tuần gần nhất), tổng số tiền ngày chi tiết đơn đặt hàng ngày  Xem đánh giá khách hàng người lái xe  Xem thông tin chi tiết người lái xe  Chuyển đổi chế độ free (đang rãnh) busy (đang bận)  Nhận thông báo có đơn đặt hàng  Xem thông tin chi tiết đơn đặt hàng như: tên khách hàng, địa điểm đến, vị trí địa điểm đường chọn đồ… 65  Tự động cập nhật vị trí người lái xe lên server theo thời gian (nếu người lái xe chọn chế độ free) Giới thiệu chức năng: Khi mở ứng dụng lên, giao diện hình 5.13: Hình 5.13: Giao diện ban đầu “Gọi Xe Driver” Sau đó, ứng dụng vào hình đăng nhập hình 5.14: Hình 5.14: Giao diện đăng nhập ứng dụng 66 Tại đây, người lái xe dùng tài khoản đăng ký với người quản trị để đăng nhập vào ứng dụng Khi đăng nhập thành công, ứng dụng vào hình chính: Hình 5.15: Giao diện hình ứng dụng Như hình 5.15, hình ứng dụng có ba thẻ EARNINGS, RATINGS ACCOUNT:  Thẻ EARNINGS thẻ thống kê thu nhập người lái xe theo tổng cộng tuần gần Ở tuần có thống kê tổng số tiền thu (TOTAL EARNINGS) biểu đồ cột thể thu nhập theo ngày tuần Khi nhấn vào cột, ứng dụng hiển thị chi tiết thu nhập ngày hôm đó, bao gồm: tổng thu ngày, số lượng đơn hàng nhận chi tiết đơn hàng hình 5.16: 67 Hình 5.16: Chi tiết thu nhập ngày  Thẻ thứ hai RATINGS thẻ chứa đánh giá khách hàng người lái xe  Thẻ cuối ACCOUNT thẻ chứa thông tin chi tiết người lái xe Ngoài ra, giao diện hình có nút tải lại (reload) góc trái phía cùng, dùng để tải lại thông tin người lái xe thống kê đơn hàng hay đánh giá khách hàng Bên cạnh nút chế độ phía Có hai chế độ free busy: - Khi chế độ free, ứng dụng tự động cập nhật thông tin vị trí người lái xe lên server cho phép khách hàng tìm kiếm người lái xe Có nghĩa là chế độ người lái xe muốn làm việc - Khi chế độ busy, ứng dụng tắt cập nhật thông tin vị trí khách hàng tìm thấy người lái xe Tức chế độ người lái xe bận làm việc khác, hay không muốn đón khách Khi có đơn hàng đặt xe cho người lái xe, ứng dụng hiển thị thông báo qua thông báo điện thoại (Notification) hiển thị hình người lái xe mở ứng dụng hình 5.17: 68 Hình 5.17: Thông báo xuất có đơn hàng Như hình 5.17, thông báo hiển thị với hai lựa chọn từ chối (DECLINE) xem chi tiết đơn hàng (VIEW DETAIL) Nếu người lái xe không chọn hai lựa chọn sau 60 giây, ứng dụng tự động từ chối đơn hàng Nếu người dùng nhấn vào xem chi tiết đơn hàng, ứng dụng hiển thị chi tiết đơn hàng đặt xe hình 5.18: Hình 5.18: Giao diện chi tiết đơn đặt hàng 69 Giao diện chi tiết hình 5.18 bao gồm vài thông tin như: tên khách hàng, địa điểm đến, khoảng cách giá trả Người lái xe gọi cho khách hàng để xác nhận đơn hàng cách nhấn nút gọi màu xanh bên phải tên khách hàng Trên đồ hiển thị vị trí đón khách hàng, vị trí đích chở đến vị trí người lái xe (vòng tròn nhỏ màu xanh nước biển) Ở có hai lựa chọn để người lái xe lựa chọn từ chối đơn hàng (DECLINE) chấp nhận thực (ACCEPT) Nếu người lái xe không trả lời đơn hàng sau 60 giây ứng dụng tự động từ chối đơn hàng Còn người dùng nhấn chấp nhận ứng dụng chuyển sang hai lựa chọn khác hình 5.19 Và lúc người lái xe tắt hình ứng dụng sẵn sàng đón khách hàng để thực công việc Hình 5.19: Giao diện người lái xe chấp nhận đơn hàng Sau thực xong công việc, người lái xe phải nhấn nút FINISH để hoàn thành đơn hàng Khi ứng dụng quay giao diện hình với thống kê đơn hàng làm hình 5.20 Nếu trình thực công việc mà có cố xảy ra, người lái xe gọi cho khách hàng để thông báo từ chối đơn hàng lúc 70 Hình 5.20: Thống kê làm sau hoàn tất đơn hàng 71 CHƯƠNG KẾT LUẬN 6.1 Ưu điểm khuyết điểm ứng dụng xây dựng 6.1.1 Ưu điểm  Hệ thống hoạt động ổn định, thực tốt chức giới thiệu  Giao diện thân thiện dễ sử dụng  Hoạt động thiết bị chạy android từ 4.0.3 trở lên  Hỗ trợ đa ngôn ngữ, tiếng Việt tiếng Anh 6.1.2 Khuyết điểm  Mặc dù cố gắng để xây dựng RESTful Web service theo hướng dẫn Yii Framework, khó để xây dựng hệ thống REST hoàn chỉnh Trong ràng buộc khó thực HATEOAS Vì coi Web service xây dựng HTTP Web service với cấu trúc URL sử dụng HTTP Method gần giống REST  Vì sử dụng hosting miễn phí nên tốc độ truyền tải chậm, dẫn đến trải nghiệm người dùng giảm xảy cố phía hosting  Hai ứng dụng “Gọi Xe Nha Trang” “Gọi Xe Driver” tồn nhiều lỗi tiềm ẩn xảy ý muốn  Ở ứng dụng “Gọi Xe Nha Trang”, chưa cung cấp chức xem thông báo từ quản trị (hay gọi tin tức mới, tin tức quảng cáo)  Ở ứng dụng “Gọi Xe Driver”, chưa cung cấp chức thay đổi thống kê thêm đơn hàng khác để dễ dàng theo dõi thu nhập hơn; chưa cung cấp chức thay đổi thông tin người lái xe ứng dụng; người lái xe dễ bấm nhầm nút từ chối, chấp nhận hay hoàn tất nhận đơn hàng 6.1.3 Hướng khắc phục tương lai  Bổ sung thêm chức thiếu phần khuyết điểm  Nâng cấp ứng dụng với chức khác để đáp ứng yêu cầu người sử dụng 72  Nâng cấp hosting có khả  Nâng cấp sở liệu để hoàn thiện ứng dụng  Sửa lỗi có trình sử dụng ứng dụng đại trà 6.2 Các kết đạt  Hoàn thành ứng dụng với đầy đủ yêu cầu đề  Nắm lập trình ứng dụng với Android  Có thêm kiến thức Web service REST  Sử dụng Google Maps Google Maps API  Biết thêm lập trình RESTful Web service Yii Framework 73 TÀI LIỆU THAM KHẢO Tiếng Anh: Reto Meier (2012), PROFESSIONAL Android™ Application Development, John Wiley & Sons, Inc., Canada Roy Thomas Fielding (2000), Architectural Styles and the Design of Networkbased Software Architectures, University of California, Irvine Wei-Meng Lee (2012), Beginning Android™ Application Development, John Wiley & Sons, Inc., Canada Các đường link tham khảo:  https://developer.android.com/training/index.html  http://www.tomsguide.com/us/android-version-history,news-21211.html  https://en.wikipedia.org/wiki/Main_Page  http://theopentutorials.com/post/uncategorized/types-of-web-services-bigand-restful/  http://code5s.com/category/windows/web-services  https://sites.google.com/site/quanghd/home/asp-net-web-service  https://community.oracle.com/blogs/mkarg/2010/02/14/what-hateoasactually-means  https://techmaster.vn/posts/33627/hoc-lap-trinh-web-online-can-ban  http://www.slideshare.net/  https://hypr.nz/2015/08/26/constraints-of-rest-software-architecture.html  http://stackoverflow.com/questions/19884295/soap-vs-restdifferences/19884975#19884975  http://stackoverflow.com/questions/19843480/s3-rest-api-and-postmethod/19844272#19844272  https://developers.google.com/maps/documentation/  http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html [...]...2 Về cài đặt, thực nghiệm: Xây dựng ứng dụng cộng đồng kết nối người lái xe và khách hàng tại thành phố Nha Trang trên thiết bị di động có các tính năng sau:  Xây dựng cơ sở dữ liệu quản lý thông tin về người lái xe  Khách hàng có thể tìm kiếm người lái xe thông qua bản đồ, gọi xe  Tính toán khoảng cách di chuyển, cước phí  Người lái xe xác định khách hàng qua bản đồ 3 CHƯƠNG... mới, một hoạt động khác để soạn e-mail, và một hoạt động khác để đọc e-mail Mặc dù các hoạt động cùng nhau tạo thành một trải nghiệm người dùng gắn kết trong ứng dụng e-mail, mỗi hoạt động lại độc lập với nhau Như vậy, một ứng dụng khác có thể khởi động bất kỳ hoạt động nào trong số này (nếu ứng dụng e-mail cho phép nó) Ví dụ, một ứng dụng máy ảnh có thể khởi động hoạt động trong ứng dụng e-mail có... thống khởi động một thành phần, nó sẽ khởi động tiến trình cho ứng dụng đó (nếu tiến trình không đang chạy) và khởi tạo các lớp cần thiết cho thành phần Ví dụ, nếu ứng dụng của bạn khởi động hoạt động trong ứng dụng máy ảnh có chức năng chụp ảnh, hoạt động đó sẽ chạy trong tiến trình thuộc về ứng dụng máy ảnh chứ không chạy trong tiến trình của ứng dụng của bạn Vì thế, không như ứng dụng trên hầu hết... tố apk Một tệp APK chứa tất cả nội dung của một ứng dụng Android và là tệp mà các thiết bị dựa trên nền tảng Android sử dụng để cài đặt ứng dụng Sau khi được cài đặt lên một thiết bị, từng ứng dụng Android sẽ ở bên trong hộp cát bảo mật1 của chính nó:  Hệ điều hành Android là một hệ thống Linux đa người dùng trong đó mỗi ứng dụng là một người dùng khác nhau Sandbox: là một kỹ thuật nhằm ngăn chăn các... (các ứng dụng cũng phải được ký bằng cùng chứng chỉ)  Một ứng dụng có thể yêu cầu quyền truy cập dữ liệu của thiết bị chẳng hạn như danh bạ của người dùng, tin nhắn SMS, thiết bị lưu trữ gắn được (thẻ SD), máy ảnh, Bluetooth và nhiều nữa Tất cả quyền ứng dụng đều phải được cấp bởi người dùng tại thời điểm cài đặt Đó là cách mà một ứng dụng Android tồn tại trong hệ thống 2.6.1 Thành phần của Ứng dụng. .. trực tiếp trên văn bản đã chọn 12  DOZE: tính năng giúp giám sát thiết bị và điều chỉnh hoạt động ứng dụng cho phù hợp để tăng tuổi thọ pin 2.3.14 Android N Developer Preview 3 – 5/2016  Instant Apps: Trải nghiệm ứng dụng nhanh kể cả khi chưa cài ứng dụng  Đa nhiệm đa cửa sổ  Trả lời ngay trên thanh thông báo  Hỗ trợ Java 8, Unicode 9 2.4 Thị phần của Android so với các nền tảng di động khác... định nghĩa hành vi chung của ứng dụng của bạn Có bốn loại thành phần ứng dụng khác nhau Mỗi loại có một mục đích riêng và có một vòng đời riêng, xác định cách thành phần được tạo lập và hủy Sau đây là bốn loại thành phần ứng dụng:  Hoạt động (Activity) - Một hoạt động biểu di n một màn hình đơn với một giao di n người dùng Ví dụ, một ứng dụng e-mail có thể có một hoạt động với chức năng hiển thị một... báo các thành phần của ứng dụng, chẳng hạn như:  Xác định bất kỳ quyền (permission) của người dùng nào mà ứng dụng yêu cầu, chẳng hạn như quyền truy cập Internet hay quyền truy cập đọc vào danh bạ của người dùng  Khai báo mức API tối thiểu mà ứng dụng yêu cầu dựa trên những API mà ứng dụng sử dụng  Khai báo các tính năng phần cứng và phần mềm được sử dụng hoặc yêu cầu bởi ứng dụng, chẳng hạn như máy... dựa trên sự kiện - Hàm nhận quảng bá được triển khai như một lớp con của BroadcastReceiver và mỗi quảng bá được chuyển giao như một đối tượng Intent Một khía cạnh độc đáo trong thiết kế hệ thống Android đó là bất kỳ ứng dụng nào cũng có thể khởi động một thành phần của ứng dụng khác Ví dụ, nếu bạn muốn người dùng chụp ảnh bằng máy ảnh của thiết bị, có thể có một ứng dụng khác có chức năng đó và ứng dụng. .. thể sử dụng nó thay vì phát triển một hoạt động để tự chụp ảnh Bạn không cần tích hợp hay thậm chí là liên kết với mã từ ứng dụng của máy ảnh Thay vào đó, bạn đơn giản có thể khởi động hoạt động đó trong ứng dụng máy ảnh có chức năng chụp ảnh Khi hoàn thành, ảnh thậm chí được trả về ứng dụng của bạn để bạn có thể sử dụng nó Đối với người dùng, có vẻ như máy ảnh là một bộ phận thực sự trong ứng dụng của

Ngày đăng: 28/11/2016, 15:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan