1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói

80 2,6K 7

Đ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

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 8,75 MB

Nội dung

Đề tài xây dựng một ứng dụng cung cấp một số chức năng hỗ trợ người tham gia xe buýt như tìmđường đi chính xác, trực quan trên bản đồ, xem thông tin lộ trình xe buýt, giá, khoảngcách, tì

Trang 1

Tiếp theo, tôi cũng xin chân thành cám ơn quý Thầy, Cô trong khoa Công NghệThông Tin, đặc biệt là chuyên nghành Mạng Máy Tính và Truyền Thông đã tạo rấtnhiều điều kiện để tôi học tập.

Cuối cùng con xin gửi lời biết ơn tới gia đình, nơi đã sinh thành, nuôi dưỡng vàđộng viên con rất nhiều trong thời gian qua

Mặc dù tôi đã có nhiều cố gắng để hoàn thành luận văn bằng tất cả sự nhiệt tình

và năng lực của mình, tuy nhiên do trình độ lý luận cũng như kinh nghiệm thực tiễncòn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu sót, tôi rất mong nhậnđược những đóng góp quý báu của quý Thầy, Cô để tôi có thể có thêm kinh nghiệm rút

ra cho bản thân

TP.HCM, ngày 22 tháng 12 năm 2013

Sinh viên thực hiện

Đỗ Minh Tuấn

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan rằng đây là luận văn tốt nghiệp của riêng tôi dưới sự hướng dẫn

trực tiếp của Th.S Đặng Nhân Cách Những tài liệu và bảng biểu phục vụ cho việc

phân tích, nhận xét, đánh giá được tôi thu thập từ các nguồn khác nhau được trích dẫn

rõ ràng có ghi trong phần “Tài liệu tham khảo“ và không hề sao chép nội dung từ bất

Trang 3

MỤC LỤ

MỤC LỤC i

DANH MỤC CÁC TỪ VIẾT TẮT iv

DANH MỤC HÌNH ẢNH v

LỜI MỞ ĐẦU 1

CHƯƠNG 1: KIẾN THỨC NỀN TẢNG 5

1.1 Hệ điều hành Android 5

1.1.1 Những đặc trưng của hệ điều hành Android 6

1.1.2 Các tính năng trong hệ điều hành Android 6

1.1.3 Kiến trúc ứng dụng trongAndroid 7

1.1.4 Các khái niệm cơ bản trong lập trình Android 8

1.2 Cơ sở dữ liệu SQLite 11

1.2.1 Khái niệm về SQLite 11

1.2.2 Ưu điểm của SQLite 12

1.2.3 Nhược điểm của SQLite 12

1.3 Webservice 13

1.3.1 Khái niệm về Webservice 13

1.3.2 Một số đặc điểm cơ bản của Webservice 13

1.3.3 Phân loại Webservice 13

1.3.4 Ưu và nhược điểm Webservice 14

Trang 4

1.4 Google Maps API Web Services 14

1.4.1 Khái niệm Google Map 14

1.4.2 Khái niệm Google Maps API Web Services 15

1.4.3 Sử dụng Google Maps API Web Services 15

1.4.4 Google Geocoding API 16

1.4.5 Google Directions API 21

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG ỨNG DỤNG 25

2.1 Mô tả hệ thống ứng dụng 25

2.2 Các yêu cầu về chức năng của ứng dụng 26

2.3 Xây dựng cơ sở dữ liệu 27

2.4 Biểu đồ hoạt động 30

2.4.1 Biểu đồ hoạt động xem thông tin luồng tuyến 30

2.4.2 Biểu đồ hoạt động xem trạm gần 31

2.4.3 Biểu đồ hoạt động thiết lập báo sắp đến 32

2.4.4 Biểu đồ hoạt động tìm đường đi xe buýt 33

2.4.5 Biểu đồ hoạt động xử lý các tính năng bằng giọng nói 34

CHƯƠNG 3: KẾT QUẢ XÂY DỰNG ỨNG DỤNG 35

3.1 Các vấn đề trong quá trình xây dựng ứng dụng 35

3.1.1 Sử dụng bản đồ Google Map 35

3.1.2 Marker, polyline, polygone trên Google Map 39

3.1.3 Sử dụng SQLite 42

3.1.4 Phân tích XML 45

Trang 5

3.1.5 Đa tiến trình trong Android 46

3.1.6 Truyền dữ liệu giữa các Activity 48

3.1.7 Sử dụng Fragment trong Android 50

3.2 Kết quả các tính năng chính của ứng dụng 52

3.2.1 Tính năng xem danh sách tuyến xe, chi tiết, lộ trình 52

3.2.2 Tính năng định vị người dùng 55

3.2.3 Tính năng xem trạm xe buýt gần nhất 56

3.2.4 Tính năng báo sắp đến 58

3.2.5 Tính năng tìm đường đi giữa 2 điểm 59

3.2.6 Tính năng sử dụng giọng nói 63

3.3 Kiểm tra và đánh giá ứng dụng 64

3.3.1 Xây dựng kịch bản kiểm tra 64

3.3.2 Dữ liệu kiểm tra 65

3.3.3 Kết quả kiểm tra 66

CHƯƠNG 4: KẾT LUẬN 68

4.1 Kết quả đạt được của đề tài 68

4.2 Ưu khuyết điểm của ứng dụng 69

4.2.1 Ưu điểm 69

4.2.2 Khuyết điểm 69

4.3 Hướng phát triển trong tương lai 70

TÀI LIỆU THAM KHẢO 71

Trang 6

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1.1: Kiến trúc và các thành phần của hệ điều hành Android 7

Hình 1.2: Vòng đời của Activity 9

Hình 1.3: Vòng đời của Service 10

Hình 1.4: Cấu trúc View trong Android 11

Hình 1.5: Webservice 13

Hình 1.6: Kết quả XML Google Geocoding API 21

Hình 2.1: Dữ liệu bảng tuyen_xe sau khi cập nhật 28

Hình 2.2: Dữ liệu bảng tram_xe sau khi cập nhật 29

Hình 2.3: Biểu đồ hoạt động xem thông tin luồng tuyến 30

Hình 2.4: Biểu đồ hoạt động xem trạm gần 31

Hình 2.5: Biểu đồ hoạt động thiết lặp báo sắp đến 32

Hình 2.6: Biểu đồ hoạt động tìm đường đi xe buýt 33

Hình 2.7: Biểu đồ hoạt động sử dụng giọng nói 34

Hình 3.1: Giao diện điều khiển của Google APIs Console 35

Hình 3.2: Kích hoạt Google Maps Android APIv2 36

Hình 3.3: Giao diện đăng ký ứng dụng Google Maps cho Android 36

Hình 3.4: Đăng ký ứng dụng Google Maps cho Android 37

Hình 3.5: Bản đồ Google Maps trên Android 38

Hình 3.6: Marker trên bản đồ Google Maps 40

Hình 3.7: Vẽ vòng tròn trong Android 42

Trang 8

Hình 3.8: Giao diện chức năng chính 52

Hình 3.9: Giao diện thông tin luồng tuyến 53

Hình 3.10: Giao diện chi tiết tuyến xe 53

Hình 3.11: Giao diện lộ trình xe buýt 54

Hình 3.12: Giao diện các trạm xe buýt 54

Hình 3.13: Tính năng định vị người dùng 55

Hình 3.14: Thông tin một điểm bất kỳ 56

Hình 3.15: Menu chức năng 57

Hình 3.16: Hiện thị các trạm gần 57

Hình 3.17: Thiết lập báo sắp đến 58

Hình 3.18: Thông báo sắp đến 59

Hình 3.19: Giao diện tìm kiếm 60

Hình 3.20: Giao diện tìm kiếm theo điểm 60

Hình 3.21: Giao diện kết quả tìm kiếm 61

Hình 3.22: Hiển thị đường đi trên bản đồ 61

Hình 3.23: Giao diện chia sẽ dữ liệu 62

Hình 3.24: Chia sẽ dữ liệu qua SMS 62

Hình 3.25: Sử dụng chức năng giọng nói 63

Hình 3.26: Giao diện chức năng giọng nói 63

Trang 9

LỜI MỞ ĐẦU

1 Tính cấp thiết của đề tài:

Trong giao thông công cộng có rất nhiều loại phương tiện như xe đạp, xe máy…

và đặc biệt là xe buýt Mục tiêu của TP.HCM là phát triển hệ thống xe buýt làm nềntảng cho sự phát triển bền vững hệ thống giao thông công cộng, thu hút người dân đi xebuýt, góp phần giảm ùn tắt giao thông, tạo nếp sống văn minh đô thị

Hiện nay nhu cầu tìm đường đi và thông tin các tuyến xe buýt của hành khách,đặc biệt là sinh viên đang rất cần thiết, tuy nhiên công cụ hỗ trợ cho nhu cầu này hiệnnay là rất ít và chưa được hoàn hảo

Với nhu cầu đó, đề tài “Xây dựng ứng dụng tra cứu thông tin, tìm đường xe buýt kết hợp nhận diện giọng nói” đã được chọn để nghiên cứu, tìm hiểu Đề tài xây

dựng một ứng dụng cung cấp một số chức năng hỗ trợ người tham gia xe buýt như tìmđường đi chính xác, trực quan trên bản đồ, xem thông tin lộ trình xe buýt, giá, khoảngcách, tìm các trạm xe xung quanh vị trí của mình và đặc biệt là ứng dụng còn hỗ trợngười dùng sử dụng giọng nói trong việc tìm kiếm đường đi

2 Tình hình nghiên cứu:

Vấn đề ứng dụng tra cứu, tìm kiếm xe buýt đã xuất hiện trên nền tảng web như

trên trang http://map.ebms.vn/ của sở giao thông vận tải TP.HCM, tuy nhiên trên nền

tảng thiết bị di động Android thì vẫn còn ít và chưa đầy đủ các tính năng cần thiết.Ứng

dụng của chính Google thì dữ liệu xe buýt đã cũ, các tuyến mới chưa được cập nhật

nên đã gây khó khăn cho người sử dụng

Điển hình ứng dụng trên nền tảng di động Android đó là ứng dụng Pbus của một

nhóm sinh viên Đại Học Bách Khoa TP.HCM Trên nền tảng Ios thì có ứng dụng

IUBUS của sinh viên trường Đại Học Khoa Học Tự Nhiên TP.HCM.

Trang 10

3 Mục đích nghiên cứu:

Đề tài được xây dựng nhằm tạo ra một ứng dụng hữu ích, hỗ trợ đặc biệt cho sinhviên, người dân khi đi xe buýt để đảm bảo những thông tin chính xác, nhanh chóng, tiếtkiệm chi phí, thời gian cho người dùng, đặc biệt có thể góp phần thu hút người dân đi

xe buýt

Người dùng có thể chủ động thiết lập địa điểm để thông báo khi gần đến để tránh

đi quá lộ trình cần đi, đồng thời ứng dụng còn sử dụng hệ thống nhận diện giọng nói để

hỗ trợ người dùng khi không thể thao tác bằng tay

4 Nhiệm vụ nghiên cứu:

- Khảo sát lộ trình của các tuyến xe buýt trong Thành Phố Hồ Chí Minh

- Khảo sát tọa độ của từng trạm của các tuyến xe buýt

- Tìm kiếm, lựa chọn và so sánh để đưa ra các tuyến đường tốt nhất

- Hiển thị những cảnh báo khi người dùng gần tới hoặc khi đi xa địa điểm cầnthiết

- Hỗ trợ nhận diện giọng nói cho người dùng khi không thể thao tác bằng tay

5 Phương pháp nghiên cứu:

- Tham khảo dữ liệu các tuyến xe buýt, các trạm xe buýt cùng các tọa độ của cáctrạm trên website của sở giao thông vân tải TP.HCM

- Tham khảo tài liệu giấy từ nguồn luận văn của thư viện trường

- Tham khảo các lý thuyết cơ bản của Android thông qua các API được Googleđưa lên chính website của mình

- Phần mềm của nhóm tự động lưu dữ liệu xe buýt từ trang web của sở giao thôngvận tải về cơ sở dữ liệu

Trang 11

- Thử nghiệm dữ liệu hiển thị trên điện thoại di động Android.

6 Các kết quả đạt được của đề tài:

- Hiển thị thông tin dữ liệu của tất cả các tuyến xe buýt trong TP.HCM như lượt

đi, lượt về, giá vé…

- Xem lộ trình của tuyến xe trực quan trên bản đồ

- Bắt vị trí hiện tại bằng GPS hoặc mạng

- Chức năng xem nhanh các trạm quanh vị trí hiện tại hoặc một điểm trên bản đồ

- Tính toán địa chỉ hiện tại, cung cấp thông tin độ chính xác và nguồn lấy vị tríhiện tại

- Tìm kiếm giữa 2 địa điểm, kết quả trả về ưu tiên chuyển tuyến ít nhất, thời gian

7 Kết cấu của Luận Văn Tốt Nghiệp

Luận Văn Tốt Nghiệp bao gồm 4 chương, tên của từng chương như sau:

Chương 1: Kiến thức nền tảng.

Nội dung chương 1 trình bày các khái niệm của hệ điều hành Android, kiến thức,

lý thuyết cơ bản, các công nghệ và cơ sở dữ liệu nhằm để xây dựng ứng dụng

Chương 2: Phân tích xây dựng ứng dụng.

Nội dung chương 2 trình bày các bước để xây dựng, phân tích mô tả ứng dụng,các yêu cầu tính năng cần thiết của ứng dụng, cơ sở dữ liệu và các biểu đồ

Trang 12

Chương 3: Kết quả xây dựng ứng dụng.

Nội dung chương 3 trình bày các vấn đề khi xây dựng ứng dụng, kết quả các tínhnăng chính của ứng dụng, kiểm tra và đánh giá ứng dụng

Chương 4: Kết luận.

Nội dung chương 4 trình bày các kết quả đạt được của ứng dụng, ưu điểm vànhược điểm của ứng dụng, hướng phát triển của ứng dụng

Trang 13

CHƯƠNG 1: KIẾN THỨC NỀN TẢNG 1.1 Hệ điều hành Android

Android là một hệ điều hành dựa trên nền tảng Linux thiết kế dành cho các thiết

bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng

Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tàichính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắtvào năm 2007 và chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm

2008[2]

Android có mã nguồn mở và Google phát hành mã nguồn theo giấy phép Apache.Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phépcác nhà phát triển thiết bị mạng di động và các lập trình viên nhiệt huyết được điềuchỉnh và phân phối Android một cách tự do

Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo, chuyên viết cácứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java.Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android và số lượt tải ứngdụng từ Google Play ước tính khoảng 25 tỷ lượt[2]

Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổbiến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty côngnghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, vàgiá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu

Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên vànhững người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quảnlý

Trang 14

Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìmtòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác.

1.1.1 Những đặc trưng của hệ điều hành Android

- Application framework: cho phép sử dụng lại và thay thế các thành phần tronglập trình ứng dụng

- Dalvik virtual machine: tối ưu hóa cho thiết bị di động

- Intergrated browser: trình duyệt tích hợp, dựa trên cơ chế WebKit mã nguồnmở

- SQLite: cơ sở dữ liệu trong môi trường di động

- Media support: hỗ trợ các định dạng audio, video và hình ảnh thông dụng

- GSM Telephony: mạng điện thoại di động (phụ thuộc vào phần cứng)

- Bluetooth, EDGE, 3G, và WiFi :các chuẩn kết nối dữ liệu (phụ thuộc vào phầncứng)

- Camera, GPS, la bàn, và gia tốc kế: (phụ thuộc vào phần cứng)

1.1.2 Các tính năng trong hệ điều hành Android

Các tính năng được hổ trợ tùy thuộc vào cấu hình phần cứng và phần mềm

- Storage: Sử dụng SQLite, một cơ sở dữ liệu quan hệ nhẹ cho việc lưu trữ dữliệu

- Connectivity: Hỗ trợ GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth(bao gồm AD2P và AVRCP), Wifi, LTE và WiMAX

- Messaging: hỗ trợ cả SMS và MMS

- Web browser: Dựa trên mã nguồn mở Webkit, cùng với công nghệ JavaScriptV8 của Chrome

Trang 15

- Hardware support: Accelerometer Sensor, Camera, Digital Compass, ProximitySensor và GPS.

- Multi-touch: Hỗ trợ màn hình cảm ứng đa điểm

- Multi-tasking: Hỗ trợ ứng dụng đa tác vụ

1.1.3 Kiến trúc ứng dụng trongAndroid

Mô hình sau thể hiện đầy đủ kiến trúc các thành phần của hệ điều hành Android

Hình 1.1: Kiến trúc và các thành phần của hệ điều hành Android [8]

Linux kernel (nhân Linux)

Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và tầng dướicủa phần mềm Lớp này chứa tất cả các thiết bị mức thấp điều khiển các thành phầnphần cứng khác nhau của một thiết bị Android

Trang 16

Libraries bao gồm một tập hợp các thư viện lập trình chứa mã lệnh cung cấpnhững tính năng và thao tác chính trên hệ điều hành Các thư viện được tập hợp thànhmột số nhóm như: System C Library, Media Libraries, LibWebCore, SurfaceManager, SGL, SQLite, Free Type, SSL, Open GL/EL

Android runtime

Tại cùng một tầng với Libraries, Android runtime cung cấp một bộ lõi thư việncho phép các nhà phát triển viết các ứng dụng android bằng cách sử dụng ngôn ngữ lậptrình java Tầng này có 2 bộ phận bao gồm thư viện lõi (Core Library) và một máy ảojava tên là Davik (Davik Virtual Machine)

Framework

Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳphong phú và sáng tạo Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệthống, bao gồm các View, Content Provider, Resource Manager, Notification Manager,Activity Manager

Applications

Đây là lớp ứng dụng giao tiếp với người dùng Các ứng dụng cho android cũngnhư các ứng dụng được tải về và cài đặt từ AndroidMarket hay bất kỳ ứng dụng nàođược viết được tại tầng này

Các ứng dụng phải viết bằng Java và có phần mở rộng là apk Khi mỗi ứng dụngđược chạy, nó có một máy ảo Davik được dựng lên để phục vụ cho nó

1.1.4 Các khái niệm cơ bản trong lập trình Android

Activity

Activity là một thành phần rất quan trọng của bất kỳ ứng dụng Android nào

Trang 17

Một activity thể hiện một giao diện đồ họa người dùng Mỗi activity là một lớpcon của lớp cơ sở Activity Lớp Activity đảm nhận việc tạo ra một cửa sổ (window) đểngười lập trình đặt lên đó một giao diện UI.

Một Activity có thể mang nhiều dạng khác nhau: một cửa sổ toàn màn hình (fullscreen window), một cửa sổ floating (với windowIsFloating) hay nằm lồng bên trongmột Activity khác (với ActivityGroup)[8]

Sau đây là sơ đồ các sự kiện trong vòng đời của một Activity:

Hình 1.2: Vòng đời của Activity [7]

Trang 18

Trong khi kết nối, người sử dụng có thể giao tiếp với service thông qua giao diện

mà service đó trưng ra

Sơ đồ các sự kiện trong vòng đời của một service:

Hình 1.3: Vòng đời của Service [8]

Trang 19

Content provider

Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng chocác ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữliệu SQLite

Hình 1.4: Cấu trúc View trong Android [7]

Trang 20

Là cầu nối giữa các Activity: Ứng dụng Android thường bao gồm nhiều Activity,mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau.Intent chính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các dữliệu cần thiết tới một Activity khác

1.2 Cơ sở dữ liệu SQLite

1.2.1 Khái niệm về SQLite

SQLite là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh được Richard Hippviết dưới dạng thư viện bằng ngôn ngữ lập trình C

SQLite là một bộ thư viện dùng trong lập trình để hiện thực một SQL DatabaseEngine có khả năng tự tổ chức quản lý dữ liệu, không cần server, không cần cấu hình

mà vẫn hỗ trợ đầy đủ các tính năng quản lý thao tác SQLite hiện đang là SQLDatabase Engine được sử dụng nhiều nhất trên thế giới do tính cơ động cao, dễ sửdụng, gọn nhẹ, hiệu quả và tin cậy[7]

1.2.2 Ưu điểm của SQLite

SQLite có các ưu điểm sau:

- Tin cậy : Các hoạt động transaction (chuyển giao) trong cơ sở dữ liệu đượcthực

hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng

- Không cần cài đặt cấu hình

- Tuân theo chuẩn SQL92

- Kích thước chương trình gọn nhẹ

- Không cần phần mềm phụ trợ

- Phần mềm tự do với mã nguồn mở được chú thích rõ ràng

Trang 21

1.2.3 Nhược điểm của SQLite

Ngoài các ưu điểm kể trên thì SQLite cũng có những nhược điểm sau nếu đem sosánh với các CSDL mạnh khác như Oracle Database, SQL Server:

- Tính đồng thời: SQLite sử dụng cơ chế khóa Coarse-gained Locking có thể hỗ

trợ nhiều người đọc dữ liệu, nhưng chỉ có một người có thể ghi dữ liệu một lúc màthôi

- Kết nối mạng: Các lỗ hỏng trong việc triển khai các hệ thống tập tin trong môitrường mạng có thể gây ra nhiều lỗi do các tập tin có thể bị mở và điều chỉnh từ xa

- Chỉ phù hợp với các ứng dụng có quy mô dữ liệu nhỏ: SQLite không phải là lựachọn lý tưởng để đáp ứng các nhu cầu xử lý trên một khối dữ liệu lớn, phát sinh liêntục

1.3 Webservice

1.3.1 Khái niệm về Webservice

Webservice là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữliệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng cóthể làm việc thông qua các trình duyệt mạng hoặc ứng dụng có kết nối mạng

Hình 1.5: Webservice [1]

Trang 22

1.3.2 Một số đặc điểm cơ bản của Webservice

Một webservice có thể được truy cập thông qua web

Một webservice có giao diện dịch vụ Giao diện này giúp cho webservice có thểđược gọi bởi bất kỳ một ứng dụng nào hay bởi webservice nào khác

1.3.3 Phân loại Webservice

Dịch vụ ứng dụng và dịch vụ hệ thống (Application and System Service)

Một Application Service thể hiện một hành động của user như duyệt thư email,hay kiểm tra tỷ số hối đoái Một System Service thể hiện yêu cầu của kiến trúc hệthống và sự quản lý như bảo mật, lưu trữ và chịu lỗi, quản lý transaction hay essaging.Một dịch vụ có hai đặc điểm chính: Interface và Registration Sử dụng Interface,một dịch vụ có thể được gọi từ một chương trình khác Một Service được đăng kýtrong một Registry

1.3.4 Ưu và nhược điểm Webservice

- Nâng cao khả năng tái sử dụng

- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạtđộng, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanhnghiệp khác

Trang 23

Nhược điểm:

- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web, giaodiện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu cácgiao thức cho việc vận hành

- Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt

- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

1.4 Google Maps API Web Services

1.4.1 Khái niệm Google Map

Google Maps là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên webmiễn phí, được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ nhưGoogle Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ bathông qua Google Maps API Nó cho phép thấy bản đồ đường phố, đường đi cho xeđạp, cho người đi bộ và xe hơi, và những địa điểm kinh doanh trong khu vực cũng nhưkhắp nơi trên thế giới

Năm 2006, Google đã giới thiệu một ứng dụng Java có tên là Google Maps forMobile Mục đích để chạy trên bất kỳ thiết bị di động nào có cung cấp nền tảng Java.Rất nhiều tính năng chính của phiên bản Google Maps trên web có mặt trong ứngdụng

1.4.2 Khái niệm Google Maps API Web Services

Google Maps API Web Services là một tập các giao diện HTTP cung cấp thôngtin địa lý cho ứng dụng

Google Maps API Web Services bao gồm:

 Directions API

 Distance Matrix API

Trang 24

 Elevation API

 Geocoding API

 Time Zone API

1.4.3 Sử dụng Google Maps API Web Services

Google Maps API cung cấp các dịch vụ như là các giao diện phục vụ cho việcyêu cầu dữ liệu địa lý và sử dụng dữ liệu đó trong ứng dụng của nhà phát triền Cácdịch vụ này được thiết kế để sử dụng với một ứng dụng bản đồ

Các Google Maps API Web Services sử dụng chuỗi yêu cầu HTTP tới một đườngdẫn URL đặc biệt và gửi các thông số URL tới các services

URL request thường có dạng như sau:

https://maps.googleapis.com/maps/api/service/output?parameters

Theo dõi sử dụng với tham số sensor

Sử dụng Google Maps API yêu cầu nhà phát triển phải chỉ ra rằng ứng dụng có sửdụng một cảm biến (ví dụ cảm biến GPS) để xác định vị trí người dùng trong bất cứyêu cầu nào cho service Điều này là đặc biệt quan trọng cho các thiết bị di động

Trang 25

Nếu ứng dụng Google Maps API sử dụng bất cứ dạng cảm biến để xác định vị trícủa thiết bị phải thiết lập giá trị của tham số sensor = true

Kết quả trả về

Kết quả trả về của Google Direction API khá dễ hiểu nhưng lại ít thân thiện vớingười sử dụng Khi gởi yêu cầu và nhận được kết quả, tốt nhất là không hiển thị tất cảnhững gì nhận được mà chỉ cần trích xuất một số thông tin phù hợp Tóm lại là cầnphải phân tích cú pháp kết quả nhận được và chỉ trích xuất một số thông tin có ích

1.4.4 Google Geocoding API

Mã hóa địa lý là gì

Mã hóa địa lý là quá trình chuyển địa chỉ sang tọa độ địa lý để đánh dấu trên bản

đồ Có thể mô tả mã hóa địa lý giống như chuyển đổi từ “Ngã tư hàng xanh” qua tọa

độ địa lý bao gồm vĩ độ 10.802740 và kinh độ 106.695590

Ngoài ra dich vụ Google Geocoding API còn cho phép giải mã từ tọa độ địa lýsang địa chỉ cụ thể

Google Geocoding API cung cấp một phương thức trực tiếp để truy cập bộ mãhóa địa lý thông qua giao thức HTTP

Giới hạn sử dụng

Google Geocoding API giới hạn ở 2.500 truy vấn mỗi ngày Nếu trả phí con sốnày tăng lên 100.000 truy vẫn mỗi ngày Các giới hạn này được đặt ra để ngăn chặn sựlạm dụng dịch vụ Nếu vượt quá giới hạn này ứng dụng sẽ không thể truy cập được sau

24 giờ, nếu tiếp tục vượt ở 24 giờ tiếp theo thì dịch dụ Geocoding API có thể sẽ chặnứng dụng

Trang 26

Geocoding API request

Chuỗi request URL thường có dạng như sau:

http://maps.googleapis.com/maps/api/geocode/output?parameters

HTTPS được khuyến cáo sử dụng cho các ứng dụng có dùng những dữ liệu nhạycảm của người dùng:

https://maps.googleapis.com/maps/api/geocode/output?parameters

Output có thể là xml hoặc json

- Tham số của chuỗi request URL:

Một số tham số là bắt buộc phải được gán giá trị, một số là tùy chọn Trong mộtchuỗi URL hợp chuẩn mỗi tham số được phân cách bằng ký tự (&)

address(bắt buộc): Địa chỉ muốn mã hóa địa lý.

latlng(bắt buộc): Giá trị kinh độ - vĩ độ của điểm muốn lấy địa chỉ gần

nhất

region(tùy chọn): Mã vùng, dùng hệ thống tên miền quốc gia.

language(tùy chọn): Thiết lập ngôn ngữ sẽ trả về trong kết quả.

sensor(bắt buộc): Cho biết yêu cầu tìm đường có phải đến từ một thiết bị

có cảm biến vị trí hay không True hoặc false

Kết quả mã hóa địa lý

Geocoding API sẽ trả về một trong hai loại tập tin là JSON hoặc XML

Chuỗi request URL:

http://maps.googleapis.com/maps/api/geocode/json?address=cho%20ba

%20chieu&sensor=false&language=vi-VI

Cấu trúc tập tin trả về có hai phần tử gốc:

Trang 27

status: Thông báo trạng thái của kết quả.

result: Chứa một tập thông tin kết quả.

- Thẻ status có các trạng thái sau:

OK: Kết quả trả về bình thường.

ZERO_RESULTS: Địa chỉ không tồn tại hoặc giá trị kinh độ - vĩ độ không

đúng

OVER_QUERY_LIMIT: Thông báo đã gởi quá số lượng yêu cầu trong một

khoảng thời gian

REQUEST_DENIED: Ứng dụng đã bị dịch vụ Google Geocoding API

chặn

INVALID_REQUEST: Thông báo chuỗi request URL không hợp lệ.

- Thẻ result có các trạng thái sau:

type[]: Một tập thẻ type cho biết kiểu của kết quả trả về Chứa một hay nhiều kiểu của địa danh, ví dụ khi mã hóa địa lý Ngã tư hàng xanh sẽ trả

về hai giá trị type là political và locality

formatted_address: Địa chỉ bằng chữ.

address_component[]: Chứa một mảng các thành phần địa lý.

- Mỗi thẻ address_component chứa:

type[]: Kiểu của thành phần địa lý.

long_name: Tên đầy đủ của thành phần địa lý.

short_name: Tên viết tắt của thành phần địa lý.

- Các giá trị của type:

street_address: Địa chỉ đường.

Trang 28

route: Địa chỉ tuyến đường (chỉ có ở Mĩ).

intersection: Ngã tư lớn, giao nhau giữa hai con đường chính.

political: Địa chỉ hành chính

country: Quốc gia, là địa chỉ cấp cao nhất.

administrative_area_level_1: Địa chỉ hành chính cấp 1 dưới cấp quốc gia,

ở Việt Nam là tỉnh hoặc các thành phố trực thuộc Trung ương, ở Mỹ làbang

administrative_area_level_2: Địa chỉ hành chính cấp 2 dưới cấp quốc gia.

Ở Việt Nam là các quận của thành phố trực thuộc Trung ương

administrative_area_level_3: Địa chỉ hành chính cấp 3 dưới cấp quốc gia.

Chỉ có ở Mỹ và một số quốc gia

locality: Thành phố hoặc thị xã.

sublocality: Địa chỉ hành chính dưới cấp locality.

neighborhood: Khu phố.

premise: Một địa điểm được đặt tên, thường là một tòa nhà hoặc một cụm

các tòa nhà được đặt chung tên

subpremise: Cấp dưới của premise, thường là một tòa nhà nằm trong một

Trang 30

Hình 1.6: Kết quả XML Google Geocoding API

1.4.5 Google Directions API

Google Directions API là dịch vụ tính toán đường đi giữa hai điểm sử dụngHTTP request Có thể tìm kiếm đường đi bằng nhiều chế độ bao gồm tìm đường đibằng xe ôtô, đi xe máy hay đi bộ

Thông tin đầu vào của điểm đầu, điểm kết thúc, điểm trung gian có thể ở dạng tênxác định địa điểm hay giá trị kinh độ và vĩ độ Direction API có thể trả về nhiều hướng

đi khác nhau sử dụng một tập các điểm trung gian

Giới hạn sử dụng

Google Direction API cho phép 2.500 truy vấn mỗi ngày Mỗi lần tính toánhướng đi có thể sử dụng tối đa 9 điểm trung gian Nếu có nhu cầu cao hơn, có thể sử

Trang 31

dụng Google Direction API cho doanh nghiệp với tối đa 100.000 truy vấn mỗi ngày và

23 điểm trung gian ở mỗi truy vấn

Google Direction request

- Cấu trúc của chuỗi request URL:

Chuỗi request URL của Google Diriection có dạng như sau:

http://maps.googleapis.com/maps/api/directions/output?parameters

Giá trị của output có thể là json hoặc xml

Có thể sử dụng HTTPS để truy xuất Google Direction API nếu chuỗi truy xuất cóbao gồm các thông tin nhạy cảm

https://maps.googleapis.com/maps/api/directions/output?parameters

- Các tham số của chuỗi URL request

Một số tham số là bắt buộc, một số là tùy chọn Được phân cách bằng ký tự “&”.Dưới đây là danh sách các tham số có thể tham gia vào một chuỗi Google DirectionURL:

origin(bắt buộc): Địa chỉ hay giá trị kinh độ - vĩ độ của điểm mà từ đó bạn

muốn tìm đường đi

destination(bắt buộc): Địa chỉ hay giá trị kinh độ - vĩ độ của điểm muốn

tìm đường đi đến

mode(bắt buộc, mặc định là driving): Xác định kiểu di chuyển (đi bộ, lai

xe) khi tính toán hướng đi

waypoints(tùy chọn): Xác định một tập hợp điểm trung gian mà đường đi

phải đi qua Tham số cho điểm trung gian có thể là địa chỉ hay kinh độ - vĩ

độ

region(tùy chọn): Mã vùng, bao gồm 2 ký tự xác định vùng.

Trang 32

sensor(bắt buộc): Cho biết yêu cầu tìm đường có phải đến từ một thiết bị

có cảm biến vị trí hay không True hoặc false

Kết quả trả về Google Direction

- Cấu trúc kết quả trả về:

Kết quả Google Direction trả về sẽ ở 2 dạng tập tin là xml và json

Mặc định chỉ có một giá trị route nhận được trong kết quả trả về, trừ khi muốn kếtquả trả về hơn hai tuyến đường

Nút gốc trong tài liệu Xml trả về có 2 thẻ con là:

status: Thông báo trạng thái của kết quả hoặc thông tin sự cố.

route: Mỗi thẻ route chứa một tuyến đường đi riêng biệt từ điểm đầu đến

điểm cuối

- Thẻ status gồm có các trạng thái sau:

OK: Kết quả trả về bình thường.

NOT_FOUND: Một điểm nào đó nhập vào không thể mã hóa địa lý để lấy

kinh độ - vĩ độ

ZERO_RESULTS: Không thể tìm thấy đường đi.

MAX_WAYPOINTS_EXCEEDED: Thông báo vượt quá giới hạn các điểm

trung gian được cho phép

INVALID_REQUEST: Thông báo chuỗi yêu cầu không hợp lệ.

OVER_QUERY_LIMIT: Thông báo đã gởi quá số lượng yêu cầu trong một

khoảng thời gian

REQUEST_DENIED: Ứng dụng đã bị dịch vụ Google Directions chặn.

Trang 33

UNKNOWN_ERROR: Lỗi không xác định.

Mỗi thẻ route chứa thông tin về một tuyến đường phân biệt từ điểm xuất phát đến điểm cần đến.Trong mỗi thẻ route có thể bao gồm các thẻ con sau:

summary: Tên tóm tắc của đoạn đường.

legs[]: Chứa một tập hợp các thẻ <leg> mô tả đường đi giữa hai điểm.

waypoint_order: Chứa một mảng qui định thứ tự xắp xếp của các điểm

trung gian

overview_polyline: Chứa một đối tượng giữ một mảng các điểm đã mã hóa

đại diện cho một con đường trả về trong kết quả

bounds: Quy định hình chữ nhật bao chung quanh tuyến đường trên bản

đồ

copyrights: Chứa thông tin bản quyền.

warnings[] : Chứa một tập các cảnh báo cho người dùng.

Trang 34

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG ỨNG DỤNG 2.1 Mô tả hệ thống ứng dụng

Về các tuyến xe buýt

Hiện tại trong nội thành Thành phố Hồ Chí Minh có hơn 150 tuyến xe buýt khác

nhau Mỗi tuyến xe sẽ phải cung cấp các thông tin: mã tuyến, tên tuyến, lộ trình lượt đi

và lượt về, loại hình hoạt động, khoảng cách, số chuyến 1 ngày, thời gian hoạt động, giá vé, thông tin đơn vị đảm nhận.

Xe chạy tính bằng đơn vị phút, giá vé, cự ly toàn tuyến có đơn vị ki-lô-mét, ngoài

ra còn lưu giữ thông tin đường đi tuyến xe buýt để hiển thị lên bản đồ, bao gồm cả lộ

trình lượt đi và lượt về được hiển thị chi tiết trên bản đồ Google Maps.

Về tìm kiếm xe buýt giữa 2 địa điểm

Tìm kiếm xe buýt giữa 2 địa điểm, có thể là từ vị trí hiện tại của mình tới 1 vị trínào đó, hoặc là giữa 2 vị trí bất kỳ Người dùng có thể linh hoạt hơn trong việc chọn 2

vị trí trên bản đồ để tìm kiếm

Tìm kiếm xe buýt ưu tiên trả về kết quả chuyển tuyến ít nhất, thời gian đi ngắnnhất và khoảng cách giữa 2 địa điểm đi bằng xe buýt ngắn nhất

Về sử dụng giọng nói

Trang 35

Đảm bảo sử dụng giọng nói để có thể truy cập mọi tính năng của ứng dụng.

2.2 Các yêu cầu về chức năng của ứng dụng

Ứng dụng sẽ xây dựng sẽ đảm bảo các chức năng chính sau :

Chức năng hiển thị thông tin các tuyến xe buýt

Cung cấp danh sách các tuyến xe buýt với các thông tin quan trọng Hiển thịthông tin chi tiết từng tuyến

Hiển thị lộ trình của tuyến xe buýt trên bản đồ Google Map, kèm theo 1 danhsách các trạm tương ứng, khi chọn trạm thì sẽ chỉ đến trạm đó trên bản đồ kèm theo cácthông số như mã tram, địa chỉ sẽ hiển thị

Chức năng tuyến xe ưa thích

Người dùng có thể thiết lập tuyến xe ưa thích của riêng mình

Thiết lập tuyến xe ưa thích giúp người dùng có thể truy cập nhanh tuyến xe màmình muốn tìm, không phải tìm kiếm dựa vào các tuyến xe buýt

Chức năng tìm kiếm đường đi giữa 2 địa điểm

Đảm bảo kết quả trả về ưu tiên các tuyến đường với tiêu chí chuyển tuyến ít nhất,thời gian đi ngắn nhất và khoảng cách ngắn nhất

Chức năng báo sắp đến

Thiết lập 1 địa điểm hoặc 1 trạm xe buýt với 1 bán kính tùy thích Khi đến trongvòng bán kính đó thì điện thoại sẽ rung lên thông báo cho người dùng biết

Chức năng nhận diện giọng nói

Đảm bảo việc sử dụng giọng nói trong ứng dụng bao gồm việc xem lộ trình của

xe buýt, tìm đường, tìm trạm gần quanh vị trí hiện tại, báo sắp đến

Khẩu lệnh truy vấn các chức năng phải ngắn gọn, rõ ràng, dễ hiểu và sử dụng

Trang 36

2.3 Xây dựng cơ sở dữ liệu

Chương trình sử dụng 2 bảng:

- Bảng tuyen_xe:

LuotDi Lộ trình lượt đi của tuyến xe

LuotVe Lộ trình lượt về của tuyến xe

TheLoai Loại hình hoạt động của xe buýt

KhoangCach Khoảng cách đi của tuyến xe

SoChuyen Số chuyến xe buýt trong một ngày

ThoiGianChuyen Thời gian đi của một tuyến

GianCach Thời gian chờ giữa 2 tuyến xe

ThoiGianHoatDong Thời gian hoạt động của tuyến xe

MaTramLuotDi Tất cả mã trạm lượt đi của tuyến xe

MaTramLuotVe Tất cả mã trạm lượt về của tuyến xe

ToaDoLuotDi Tất cả tọa độ các điểm để vẽ lộ trìnhlượt đi.

ToaDoLuotVe Tất cả tọa độ các điểm để vẽ lộ trìnhlượt về.

ToaDoMaTramLuotDi Tất cả tọa độ các trạm lượt đi

ToaDoMaTramLuotVe Tất cả tọa độ các trạm lượt về

Trang 37

Bảng 2.1 : Cấu trúc bảng tuyen_xe Bảng tuyen_xe chứa đựng thông tin của hơn 150 tuyến xe buýt tại Thành Phố Hồ

Chí Minh, dữ liệu xe buýt được cập nhật từ trang web của sở Giao Thông Vận TảiTP.HCM[6] để đảm bảo tính chính xác

Ngoài các trường về thông tin xe buýt còn có thêm ToaDoLuotDi, ToaDoLuotVe

dùng để lưu trữ các tọa độ các điểm Từ đó sẽ giúp cho việc vẽ lộ trình trên bản đồGoogle Maps bằng cách nối tất cả các tọa độ lại với nhau

Thông tin dữ liệu của bảng tuyen_xe sau khi đã cập nhật dữ liệu từ web:

Hình 2.1: Dữ liệu bảng tuyen_xe sau khi cập nhật

- Bảng tram_xe :

Trang 38

ViDo Vĩ độ của trạm.

TuyenDiQua Tất cả mã các tuyến xe buýt đi ngang

trạm

Bảng 2.2: Cấu trúc bảng tram_xe Bảng tram_xe chứa thông tin tọa độ của từng trạm xe trong Thành Phố, kèm theo

địa chỉ của từng trạm Đặc biệt có chưa thêm thông tin của từng tuyến xe đi ngang trạm

thông qua trường TuyenDiNgang.

Thông tin dữ liệu bảng tram_xe sau khi cập nhật dữ liệu từ web:

Hình 2.2: Dữ liệu bảng tram_xe sau khi cập nhật

Trang 39

2.4 Biểu đồ hoạt động

2.4.1 Biểu đồ hoạt động xem thông tin luồng tuyến.

Hình 2.3: Biểu đồ hoạt động xem thông tin luồng tuyến

Trang 40

2.4.2 Biểu đồ hoạt động xem trạm gần.

Hình 2.4: Biểu đồ hoạt động xem trạm gần

Ngày đăng: 20/10/2014, 18:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Mark L. Murphy (2010). Beginning Android 2, Paul Maining [2] Wikipedia, Android, 10/2013http://vi.wikipedia.org/wiki/Android Sách, tạp chí
Tiêu đề: Beginning Android 2", Paul Maining[2] Wikipedia, "Android
Tác giả: Mark L. Murphy
Năm: 2010
[3] Google Inc, Google Maps API Web Services, 10/2013,https://developers.google.com/maps/documentation/webservices/ Sách, tạp chí
Tiêu đề: Google Maps API Web Services
[4] Google Inc, Google Maps Android API v2, 10/2013, https://developers.google.com/maps/documentation/android/ Sách, tạp chí
Tiêu đề: Google Maps Android API v2
[7] Phan Võ Minh Thắng (2013) : Giới thiệu SQLite http://itstudent.net Sách, tạp chí
Tiêu đề: Giới thiệu SQLite
[8] Trần Thanh Phố (2012). Tìm hiểu Activity,https://sites.google.com/site/tranthanhpho1012303/home/activity Sách, tạp chí
Tiêu đề: Tìm hiểu Activity
Tác giả: Trần Thanh Phố
Năm: 2012
[9] Trần Mạnh Cường (2012). Xây dựng ứng dụng tìm kiếm thông tin bản đồ trên thiết bị Android, Luận văn tốt ngiệp, trường Đại Học Nha Trang, Nha Trang Sách, tạp chí
Tiêu đề: Xây dựng ứng dụng tìm kiếm thông tin bản đồ trên thiết bị Android
Tác giả: Trần Mạnh Cường
Năm: 2012
[5] Google Inc, Best Practices for Background Jobs, 10/2013 http://developer.android.com/training/best-background.html Link
[6] Dữ liệu xe buýt của website Sở Giao Thông Vận Tải TP.HCM http://buyttphcm.com.vn/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Kiến trúc và các thành phần của hệ điều hành Android [8] - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 1.1 Kiến trúc và các thành phần của hệ điều hành Android [8] (Trang 12)
Hình 1.2: Vòng đời của Activity [7] - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 1.2 Vòng đời của Activity [7] (Trang 14)
Sơ đồ các sự kiện trong vòng đời của một service: - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Sơ đồ c ác sự kiện trong vòng đời của một service: (Trang 15)
Hình 1.4: Cấu trúc View trong Android [7] - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 1.4 Cấu trúc View trong Android [7] (Trang 16)
Bảng 2.2: Cấu trúc bảng tram_xe - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Bảng 2.2 Cấu trúc bảng tram_xe (Trang 35)
Hình 2.3: Biểu đồ hoạt động xem thông tin luồng tuyến - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 2.3 Biểu đồ hoạt động xem thông tin luồng tuyến (Trang 36)
Hình 2.4: Biểu đồ hoạt động xem trạm gần - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 2.4 Biểu đồ hoạt động xem trạm gần (Trang 37)
Hình 2.6: Biểu đồ hoạt động tìm đường đi xe buýt - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 2.6 Biểu đồ hoạt động tìm đường đi xe buýt (Trang 39)
Hình 2.7: Biểu đồ hoạt động sử dụng giọng nói - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 2.7 Biểu đồ hoạt động sử dụng giọng nói (Trang 40)
Hình 3.1: Giao diện điều khiển của Google APIs Console - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 3.1 Giao diện điều khiển của Google APIs Console (Trang 41)
Hình 3.5: Bản đồ Google Maps trên Android - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 3.5 Bản đồ Google Maps trên Android (Trang 44)
Hình 3.6: Marker trên bản đồ Google Maps - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 3.6 Marker trên bản đồ Google Maps (Trang 46)
Hình 3.7: Vẽ vòng tròn trong Android 3.1.3. Sử dụng SQLite - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 3.7 Vẽ vòng tròn trong Android 3.1.3. Sử dụng SQLite (Trang 48)
Hình 3.8: Giao diện chức năng chính - xây dựng ứng dụng tra cứu thông tin tìm đường xe buýt kết hợp nhận diện giọng nói
Hình 3.8 Giao diện chức năng chính (Trang 58)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w