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

Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học

65 12 0

Đ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 65
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

5 Nội dung tổng thể của khoá luận là nghiên cứu phát triển ứng dụng trên Smartphone giúp người đi xe buýt có được lịch trình lý tưởng, biết được thông tin các trạm sẽ đến và báo trạm khi

Trang 1

TR ƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

Trang 2

NH ẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 3

NH ẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Trang 4

1

MỤC LỤC 1

TÓM TẮT KHOÁ LUẬN 5

1.1 Giới thiệu 9

1.2 Mục đích nghiên cứu 9

1.3 Phương pháp nghiên cứu 10

1.4 Đối tượng và phạm vi nghiên cứu 12

1.4.1 Đối tượng nghiên cứu 12

1.4.2 Phạm vi nghiên cứu 12

1.5 Ý nghĩa 12

1.5.1 Về mặt xã hội 12

1.5.2 Về mặt khoa học 13

1.6 Bố cục báo cáo 13

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14

2.1 Giới thiệu GPS 14

2.1.1 Sơ lược về hệ thống GPS 14

2.1.2 Nghiên cứu các thành phần hệ thống GPS 14

2.1.2.1.Các thành phần hệ thống GPS 14

2.1.2.2.Nguyên lý định vị GPS 14

2.1.2.3.Các phương pháp đo GPS 15

2.1.2.4.Cách xác định vị trí trên mặt đất thông qua hệ thống GPS 16

2.2 Tìm hiểu về Android 17

2.2.1 Giới thiệu về Android 17

2.2.2 Kiến trúc của Android 17

2.2.2.1.Application 18

2.2.2.2.Application Framework 18

2.2.2.3.Libraries 18

2.2.2.4.Runtime Android 19

Trang 5

2

2.2.2.5.Linux Kernel 19

2.2.3 Công cụ cài đặt Android 19

2.2.4 Các thành phần cấu tạo nên ứng dụng Android : 19

2.2.5 Cấu trúc một Project Android 20

2.3 Webservice 21

2.3.1 Dịch vụ Web là gì ? 21

2.3.2 Đặc điểm Webservice 21

2.3.2.1.Đặc điểm 21

2.3.2.2.Ưu và nhược điểm 22

2.3.3 Các thành phần của Webservice 22

2.3.3.1.XML – eXtensible Markup Language 22

2.3.3.2.WSDL – Web Service Description Language 23

2.3.3.3.Universal Description, Discovery, and Integration (UDDI) 23

2.3.3.4.SOAP – Simple Object Access Protocol 23

CHƯƠNG 3: THIẾT KẾ ỨNG DỤNG 26

3.1 Phân tích thực trạng 26

3.2 Phân tích xác định yêu cầu 26

3.3 Thiết kế ứng dụng 27

3.3.1 Xây dụng ứng dụng trên Android 27

3.3.1.1 Vòng đời của một ứng dụng Android 27

3.3.1.2 Các bước tạo một Project Android 29

3.3.1.3 Xây dựng giao diện ứng dụng 30

3.3.1.4 Hiển thị bản đồ đường đi trực tuyến 30

3.3.1.5 Hiển thị vị trí GPS người dùng : 32

3.3.1.6 Hiển thị tất cả các trạm của tuyến xe trên bản đồ 33

3.3.1.7 Thông báo sắp đến trạm dừng 35

3.3.1.8 Hiển thị thông tin trạm khi chọn trên bản đồ 37

3.3.1.9 Hiển thị các trạm xung quanh vị trí 37

3.3.1.10 Hiển thị các trạm xung quanh một điểm trên bản đồ : 39

Trang 6

3

3.3.1.11 Trả về thông tin tuyến xe buýt 39

3.3.1.12 Báo thời gian xe buýt sắp đến trạm 40

3.3.2 Xây dựng Web services 41

3.3.2.1 Tạo Web services 41

3.3.2.2 Xây dựng các WebMethod cho Webservies : 42

3.3.2.3 Tạo Cơ sở dữ liệu truy vấn 46

CHƯƠNG 4: HIỆN THỰC 48

4.1 Giao diện chính ứng dụng 48

4.2 Chọn tuyến xe và lượt đi của tuyến 50

4.3 Hiển thị các trạm dừng nhà chờ trên tuyến xe 50

4.4 Hiển thị thông tin trạm dừng 51

4.5 Báo trạm dừng kế tiếp 52

4.6 Tìm các trạm xe buýt xung quanh 54

4.7 Lấy thông tin tuyến xe buýt 56

4.8 Tìm tuyến xe đi qua một tuyến đường 57

4.9 Báo thời gian xe buýt gần đến trạm 58

CHƯƠNG 5: TỔNG KẾT 60

5.1 Kết luận Error! Bookmark not defined 5.2 Hướng phát triển Error! Bookmark not defined TÀI LIỆU THAM KHẢO 62

Trang 7

4



Lời đầu tiên xin gửi lời cảm ơn sâu sắc đến quý thày cô trong Khoa Công Nghệ

Thông Tin trường Đại Học Mở TP Hồ Chí Minh đã tận tình dạy bảo em nhiều kiến

thức bổ ích trong suốt thời gian học tập tại trường Kính chúc quý thày cô luôn dồi

dào sức khoẻ và thành công trong cuộc sống

Đặc biệt, em xin chân thành cảm ơn thầy Lê Xuân Trường đã nhiệt tình hướng

dẫn em trong suốt quá trình thực hiện đề tài Đã hỗ trợ tạo điều kiện, cơ hội và tích

luỹ nhiều kiến thức trong suốt quá trình thực hiện đề tài, cũng như đóng góp nhiều ý

kiến quý báu để có thể hoàn thành tốt đề tài này

Xin cảm ơn bạn bè đã hỗ trợ và động viên tôi rất nhiều trong thời gian qua

Mặc dù đã cố gắng hết sức và thời gian không cho phép, đề tài còn có nhiều

thiếu sót Rất mong nhận được sợ góp ý của các thày cô và các bạn

Một lần nữa, em xin chân thành cảm ơn

TP Hồ Chí Minh, ngày Tháng năm 2012

Đỗ Hoàng Đạo

Lê Hoàng Minh Nhựt

Trang 8

5

Nội dung tổng thể của khoá luận là nghiên cứu phát triển ứng dụng trên

Smartphone giúp người đi xe buýt có được lịch trình lý tưởng, biết được thông tin

các trạm sẽ đến và báo trạm khi đến tránh tình trạng hành khách bị lỡ trạm làm cho

xe buýt bị điểm yếu khi đó là một trong những phương tiện lưu thông công cộng

hiện nay Nhờ vào ứng dụng người dùng sẽ xác định vị trí của mình và tìm các trạm

xe buýt xung quanh để có thể chọn cho mình một lộ trình thích hợp, bên cạnh đó

ứng dụng cung cấp thông tin đầy đủ về thời gian, lượt đi, lượt về, số chuyến…của

một tuyến xe nào đó trong thành phố

Ứng dụng được thiết kế theo mô hình Client - Server:

 Ứng dụng thiết kế phía Client được viết bằng ngôn ngữ Java trên Eclipse và

được thực thi trên nền hệ điều hành Android Sử dụng giao thức truyền tải dữ liệu

SOAP để giao tiếp với Server Client sẽ chạy trên Smartphone chạy hệ điều hành

Android Khi người dùng đang trên một tuyến xe nào đó thì ứng dụng sẽ yêu cầu

người dùng cung cấp thông tin và tuyến xe và lượt đi, về từ đó ứng dụng sẽ hiển thị

đầy đủ các trạm trên suốt tuyến xe, và khi người dùng xác định vị trí của mình cũng

là vị trí xe buýt đang di chuyển sẽ gửi toạ độ lên Server và tuỳ theo toạ độ đó có gần

trạm xe buýt kế tiếp không sẽ hiển thị lên bản đồ thông tin trạm xe đó

 Bên phía Server là một dịch vụ Web Service được viết bằng Microsoft Visual

C# 2005 Web Service có các hàm để Client có thể gọi và yêu cầu trả về cơ sở dữ

liệu tương ứng với lời gọi hàm đó Webservice chứa cơ sở dữ liệu đầy đủ thông tin,

các bảng, vị trí trạm xe bus, thông tin tuyến xe buýt khi Client yêu cầu Là một dịch

vụ mở và có thể chạy trên các môi trường khác nhau cung cấp thông tin cho các kêt

nối từ Client

Trang 9

6

T ừ viết tắt Ý ngh ĩa

GPS Global Positioning System – GPS Hệ thống định vị toàn cầu

SDK Software development kit gói phần mềm dùng phát triển ứng dụng

API Application Programming Interface là giao diện lập trình ứng dụng

XML eXtensible Markup Language là ngôn ngữ đánh dấu mở rộng

SOAP Simple Object Access Protocol là giao thức truyền tải dữ liệu

WSDL Web Services Description Language ngôn ngữ miêu tả dịch vụ web

Trang 10

7

Hình 2.1 : Mô hình kiến trúc các lớp Android 18 

Hinh 2.2 :Cấu trúc một thông điệp theo dạng SOAP 24 

Hình 3.1 : Vòng đời một ứng dụng Android 28 

Hình 3.2 : Giao diện ứng dụng 30 

Hình 3.3 : Mô hình lấy bản đồ từ google map services 32 

Hình 3.4 : Mô hình lấy toạ độ GPS của thiết bị 33 

Hình 3.5: Lưu đồ hiển thị tất cả các trạm trên tuyến xe 35 

Hình 3.6: Lưu đồ xử lý báo trạm xe xắp đến và hiển thị lên bản đồ 36 

Hình 3.7 : Lưu đồ hiển thị thông tin trạm khi chọn vào trạm xe 37 

Hình 3.8 : Lưu đồ hiển thị các trạm xe buýt xung quanh vị trí GPS 38 

Hình 3.9 : Lưu đồ lấy thông tin tuyến xe 40 

Hình 3.10 : Báo thời gian xe buýt xắp đến trạm 41 

Hình 3.11 : Mô hình kết nối giữa Cient – Server 42 

Hình 3.12 : Danh sách các Method của Webservcies 43

Hình 4.1 : Giao diện chính ứng dụng 48 

Hình 4.2 : Mên lựa chọn các chức năng 49 

Hình 4.4 : Lựa chọn tuyến xe buýt và lượt đi về của tuyến 50 

Hình 4.6 : Hiển thị các trạm dừng trên một tuyến xe 51 

Hình 4.6 : Thông tin trạm xe trên tuyến 52 

Hình 4.7 : Lấy vị trí hiện tại và chọn chức năng báo trạm 53 

Hình 4.8 : Trạm xe Buýt được báo xắp đến trạm 54 

Trang 11

8

Hình 4.7 : Tìm các trạm xung quanh vị trí GPS 55 

Hình 4.8 : Tìm các trạm xe buýt xung quanh 1 điểm trên bản đồ 56 

Hình 4.9 : Danh sách các tuyến xe và thông tin tuyến xe khi được chọn 57 

Hình 4.10 : Nhập tên đường và tìm tuyến xe đi qua đường 58 

Hình 4.11 : Báo thời gian xe buýt đến trạm 59

DANH M ỤC BẢNG : Hình 3.13 : Bảng thông tin Tuyến Xe Buýt 46 

Hình 3.14 : Bảng Trạm dừng tuyến xe 47 

Hình 3.15 : Bảng Thời gian xuất phát tuyến xe 47 

Trang 12

9

1.1 Giới thiệu

Trong những năm gần đây khi mà hoạt động sản xuất phần mền trên điện thoại

di động phát triển mạnh mẽ, và có không ít phầm mền hữu ích phục vụ thiết thực

cho cuộc sống và nhu cầu càng cao của con người Cùng với sừ phát triển đó , các

nhà sản xuất điện thoại di động nắm bắt được nhu cầu ưa chuộng sản phẩm công

nghệ cao đã cho ra đời những mẫu mã điện thoại không chỉ là nghe gọi mà có thêm

nhiều chức năng mới đa dạng, phong phú nhằm phục vụ cho công việc và đời sống

Smartphone ra đời ngày càng nhiều với cấu hình ngày càng cao đã dẫn đến sự xuất

hiện không ngừng của các ứng dụng trên Smartphone góp phần vào việc giải trí,

học tập… đặc biệt là các dịch vụ tìm kiếm hữu ích

Bên cạnh sự phát triển đô thị là sự gia tăng dân số và mức sống của con người

ngày càng cao nên nhu cầu đi lại rất cần thiết Vì vậy hiện nay số lượng xe gắn máy,

ôtô lưu thông trong thành phố rất đông Do đó việc khuyến khích người dân di

chuyển bằng phương tiện công cộng như xe buýt là việc làm cần thiết

Khi nhu cầu đi lại bằng xe buýt phát sinh thì vấn đề tìm kiếm các trạm, các

tuyến xe đi qua, thời gian xe khởi hành, quãng đường đi ngắn nhất…được đặt ra

Một ứng dụng được lập trình trên Smartphone sẽ dễ dàng đáp ứng nhu cầu đó một

cách tiện lợi và nhanh chóng

Hiện nay, phần mềm trên điện thoại phát triển không ngừng với nhiều công

nghệ khác nhau nhưng đều đáp ứng nhu cầu cuộc sống hiện đại Bên cạnh đó điện

thoại Smartphone được phân phối rộng rãi với mức giá hợp lý, được rất nhiều người

tiêu dùng trong nước và trên thế giới ưa chuộng Hệ điều hành Android cũng được

nhiều hãng sản xuất điện thoại đưa vào phát triển Ứng dụng “Báo trạm xe buýt”

trên Smartphone sử dụng hệ điều hành Android là một ứng dụng cần thiết

1.2 Mục đích nghiên cứu

- Xây dựng hệ thống phần mềm chạy trên Smartphone giúp người dùng tìm ra

lộ trình di chuyển mà họ mong muốn một cách dễ dàng, nhanh chóng và tiện lợi

Các chức năng là báo trạm sắp đến tiếp theo, tìm kiếm các tuyến xe đi qua một

trạm, lộ trình của một tuyến xe…mà họ mong muốn

- Ứng dụng có thể giúp người dùng xác định vị trí của họ đang đứng trên bản

đồ, từ vị trí đó họ có thể tìm các trạm xe buýt xung quanh mà ứng dụng hỗ trợ

Ngoài ra, người dùng cũng có thể xem bản đồ thành phố khi cần đến

- Cung cấp thông tin về các tuyến xe lượt đi, lượt về, thời gian hoạt động để

người dụng có thể tự xác định tuyến xe mình sẽ đi

- Thông báo thời gian xe buýt sắp đến khi người dung đang đứng trên một trạm

mà tuyến xe sẽ đi qua

Trang 13

10

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

Ứng dụng được viết dựa trên công nghệ mã nguồn mở cụ thể là hệ điều hành

Android trên nền tảng Linux

 Nghiên cứu, xây dựng hệ thống sử dụng mã nguồn mở

o Nghiên cứu, sử dụng Eclipse SDK làm công cụ viết ứng dụng

o Nghiên cứu, sử dụng Android SDK Plugin trong Eclipse để tạo máy ảo

Android

o Nghiên cứu, sử dụng Packet Ksoap2 để kết nối với Webservices ngoài

Internet

o Nghiên cứu, sử dụng thư viện Google Map API để tải bản đồ và dữ liệu

 Nghiên cứu Microsoft Visual C# 2005 tạo WebService cho ứng dụng

o Cơ sở dữ liệu được tạo và truy vấn bởi SQL server 2005

o Nghiên cứu, xây dựng các hàm trả kết quả khi dịch vụ web được Client

gọi và trả về dữ liệu khi truy vấn

 Hiển thị bản đồ cho ứng dụng

o Nghiên cứu, sử dụng dữ liệu bản đồ của Google Map API và hiển thị trên

Android nhờ vào Class MapActivity thông qua MapView

o Để hiển thị bản đồ trên ứng dụng cần phải đăng ký một Google API key

o Đăng ký Google Api Key

 Dùng KeyTool trong Java để lấy mã chứng thực MD5 cho ứng dụng

 Truy cập vào địa chỉ:

http://code.google.com/android/maps-api-signup.html để nhập mã chừng thực và lấy Api Key

 Lấy vị trí của người dùng trên xe buýt hay tại trạm xe buýt

o Nghiên cứu, sử dụng lớp LocationManager để lấy kinh độ và vĩ độ GPS

của thiết bị Dùng hàm requestLocationUpdate để yêu cầu cập nhật vị trí

GPS của thiết bị

o Listener thừa kế lớp LocationListener có 4 hàm:

 onLocationChanged(): gọi khi vị trí thay đổi

Trang 14

11

 onProviderDisable(): gọi khi nhà cung cấp không kích hoạt

 onProviderEnable(): gọi khi nhà cung cấp đã kích hoạt

 onStatusChanged():gọi khi trạng thái nhà cung cấp thay đổi

 Kết nối với dịch vụ WebServices theo mô hình Client- Server

o Dùng WebService làm Server, là một dịch vụ cung cấp cơ chế gọi các đối

tượng từ xa thông qua giao thức HTTP cùng với cơ chế truyền tải đối

tượng dưới dạng XML

o Dùng SOAP (Simple Object Access Protocol) làm một giao thức truyền

tải dữ liệu cho WebServices và Client SOAP cho phép truyền dữ liệu

bằng HTML với định dạng XML

 Dùng giao thức này để gửi tọa độ GPS của thiết bị, các Mã tuyến xe,

Thời gian, Kinh độ, Vĩ độ…người dùng muốn tìm lên WebServices

 WebServices tìm trong cơ sở dữ liệu những đối tượng phù hợp với yêu

cầu của ứng dụng client và gửi trả lại kết quả cho client

 Hiển thị lộ trình các trạm trên một tuyến xe

o Người dùng chọn tuyến xe đang di chuyển và thông tin lượt đi về và gửi

lên Websevices dùng phương thức GetAllStationonRouter() được định

nghĩa trong Class GetAllStation

o Sử dụng lớp ItemizedOverlay để hiển thị các điểm lên bản đồ

o Khi server gửi thông tin về thì client sẽ đưa những thông tin cần thiết như

kinh độ, vĩ độ, tên, địa chỉ, vào các Array để dễ quản lý

o Thông tin kinh độ, vĩ độ được đưa vào các GeoPoint để ItemizedOverlay

hiển thị lên bản đồ

 Lấy tọa độ một điểm bất kỳ trên bản đồ

o Sử dụng sự kiện onTouchEvent trong class ItemizedOverlay

 Hiển thị tên và địa chỉ của trạm khi gần đến

o Sử dụng sự kiện onTapEvent trong class ItemizedOverlay

o Hiển thị Dialog Arlet thông báo trạm xắp đến trên MapView

Trang 15

12

 Lấy thông tin của từng tuyến xe

o Lấy toàn bộ thông tin một tuyến xe và hiển thị trên ScollView

o Sử dụng phương thức GetInfoRouter(int MST) trong Class GetRouter tự

định nghĩa để lấy thông tin về tuyến xe như Mã số tuyến, Tên tuyến, Lượt

đi, Lượt về…từ Webservice gửi về

 Hiển thị các trạm xe buýt xung quanh vị trí

o Sử dụng Overlay để hiển thị các trạm xung quanh vị trí GPS

o Nhờ vào phương thức GetLocationStationAround(int Lat, int Long) từ

Class tự định nghĩa để gửi toạ độ của người dùng lên Webservices lấy về

toạ độ các trạm gần đó và hiển thị trên MapView

1.4 Đối tượng và phạm vi nghiên cứu

1.4.1 Đối tượng nghiên cứu

- Tìm hiểu về chức năng định vị GPS

- Tìm hiểu bản đồ Google Map

- Ứng dụng trên hệ điều hành Android

- Giao tiếp giữa Client – Server qua Internet

1.4.2 Phạm vi nghiên cứu

- Bản đồ nội thành thành phố Hồ Chí Minh

- Viết ứng dụng trên Android

- Một số tuyến xe buýt trợ giá trong thành phố Hồ Chí Minh

1.5 Ý nghĩa

1.5.1 Về mặt xã hội

- Cung cấp hệ thống phần mềm giúp cho người đi xe buýt dễ dàng tìm kiếm vị

trí các trạm trong thành phố một cách nhanh chóng và thuận lợi

- Cung cấp cho người dùng một ứng dụng công nghệ thông tin tiện lợi và chất

lượng, dễ dàng sử dụng

- Nâng cao chất lượng cuộc sống tiện ích và khuyến khích mọi người đi xe

buýt, giảm bớt tai nạn và ùn tắc giao thông như hiện nay

Trang 16

- Xây dựng mô hình Client-Server với WebService sử dụng giao thức truyền

tải dữ liệu SOAP để giao tiếp với nhau

- Có thể cập nhật thông tin ngay lập tức khi Webservice thay đổi dữ liệu, tránh

tình trạng Client chạy độc lập không cập nhật dữ liệu khi có thay đổi, đây là ưu điểm

của mô hình Client- Server

1.6 Bố cục báo cáo

Chương 1: Tổng quan: Chương này giới thiệu về đề tài, mục tiêu, phương pháp

nghiên cứu, đối tượng và phạm vi nghiên cứu, ý nghĩa của đề tài

Chương 2: Cơ sở lý thuyết: Trình bày cơ sở lý thuyết về Android, GPS và

Webservices

Chương 3 :Thiết kế: Trình bày các vấn đề liên quan đến xây dựng và thiết kế

ứng dụng ứng dụng

Chương 4: Hiện thực: Trình bày kết quả đạt được khi chạy ứng dụng

Chương 5: Tổng kết: Trình bày kết luận, đưa ra hạn chế và hướng phát triển

mở rộng chương trình

Trang 17

14

2.1 Giới thiệu GPS

2.1.1 Sơ lược về hệ thống GPS

GPS là hệ thống bao gồm các vệ tinh bay trên quỹ đạo, thu thập thông tin toàn

cầu và được xử lý bởi các trạm điều khiển trên mặt đất Ngày nay, hầu như tất các

các máy bay, con tàu hay các phương tiện thám hiểm đều có lắp đặt thiết bị nhận tín

hiệu từ vệ tinh

Hệ thống định vị toàn cầu (tiếng Anh: Global Positioning System - GPS) là hệ

thống xác định vị trí dựa trên các vệ tinh nhân tạo GPS được thiết kế và bảo quản

mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày Không mất phí thuê

bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS

Các đặc điểm mà GPS thu hút nhiều người quan tâm và sử dụng như:

- Mức độ chính xác của vị trị đưa ra là tương đối cao, từ hàng mét đến hàng

milimet

- Có khả năng xác định được vận tốc vật trên mặt đất vào thời điểm chính

- Tín hiệu phát ra đến được người dùng tại khắp mọi nơi trên thế giới: trên

không, trên mặt đất, hay trên biển…

- Nó hoạt động trong mọi thời điểm, và trong mọi thời tiết

- Là hệ thống định vị mà người dùng không phải trả tiền sử dụng Ngoài ra các

yêu cầu về phần cứng có giá cũng không phải quá cao

- Thông tin vị trí mà GPS cung cấp là được miêu tả trong không gian 3 chiều,

các thông tin vị trí cung cấp như chiều dọc, chiều ngang, độ cao(hay còn gọi là kinh

độ, vĩ độ, cao độ)

2.1.2 Nghiên cứu các thành phần hệ thống GPS

2.1.2.1 Các thành phần hệ thống GPS

Hệ thống GPS gồm có 3 thành phần chính:

‐ Phần vũ trụ: Gồm các vệ tinh và sự truyền phát tín hiệu

‐ Phần điều khiển: Là các trạm trên mặt đất có nhiệm vụ nhận tín hiệu từ các vệ

tinh, từ đó kiểm tra các vệ tinh, tính toán quĩ đạo chuyển động và đưa ra các điều

chỉnh cần thiết để các vệ tinh luôn hoạt động chính xác

‐ Phần người dùng: Gồm người dùng và thiết bị thu GPS

2.1.2.2 Nguyên lý định vị GPS

Trang 18

15

a Định vị tuyệt đối (point positioning)

Đây là trường hợp sử dụng máy thu GPS để xác định ngay toạ độ của điểm

quan sát trong hệ toạ độ WGS84 Đó có thể là các thành phần toạ độ vuông góc

không gian (X, Y, Z) hoặc các thành phần toạ độ mặt cầu (B, L, H)

Việc đo GPS tuyệt đối được thực hiện trên cơ sở sử dụng đại lượng đo là

khoảng cách giả từ vệ tinh đến máy thu theo nguyên tắc giao hội cạnh không gian từ

các điểm đã biết toạ độ là các vệ tinh

b Định vị tương đối (Relative Positioning)

Đo GPS tương đối là trường hợp sử dụng hai máy thu GPS đặt ở hai điểm quan

sát khác nhau để xác định ra hiệu toạ độ vuông góc không gian (∆X, ∆Y, ∆Z) hay

hiệu toạ độ mặt cầu (∆B, ∆L, ∆H) giữa chúng trong hệ toạ độ WGS 84

2.1.2.3 Các phương pháp đo GPS

Hiện nay, tuỳ từng tính chất công việc, độ chính xác các đại lượng cần tìm mà

người ta sử dụng phương pháp đo cho phù hợp Hiện nay trong thực tế có một số kỹ

thuật đo như sau:

a Đo cải chính phân sai DGPS (Code-based Differential GPS)

Hiện nay do nhu cầu định vị với độ chính xác cao từ vài mét đến vài dm, chính

vì vậy các nhà sản xuất đã đưa ra phương pháp đo sai phân Trong phương pháp này

cần một máy thu GPS được kết nối với một bộ điều biến để phát tín hiệu đặt tại

điểm gốc, một số máy khác (máy di động) đặt tại vị trí các điểm cần xác định toạ độ

Cả máy cố định và máy thu cùng thu tín hiệu vệ tinh như nhau Nếu thông tin từ vệ

tinh bị nhiễu thì kết quả xác định toạ độ của máy cố định và máy thu cùng bị sai lệch

như nhau Độ sai lệch này được xác định trên cơ sở so sánh toạ độ tính theo tín hiệu

và toạ độ của máy cố định đã biết trước Sai lệch đó được máy cố định phát qua

sóng vô tuyến để máy di động nhận được và hiệu chỉnh kết quả cho các điểm đo

Ngoài cách hiệu chỉnh toạ độ thì người ta còn tiến hành hiệu chỉnh khoảng cách

từ vệ tinh tới máy thu Cách hiệu chỉnh này đòi hỏi máy thu cố định có cấu tạo phức

tạp và tốn kém hơn, nhưng cho phép người sử dụng, xử lý chủ động và linh hoạt

hơn

Phương pháp này có hai cách xử lý số hiệu chỉnh tại điểm di động:

- Phương pháp xử lý tức thời (Real time)

- Phương pháp xử lý sau (post processing)

b Đo tĩnh (Static)

Đo tĩnh (Static) hay đo tĩnh nhanh (Fast-Static) là phương pháp đo tương đối,

sử dụng 2 hoặc nhiều máy thu đồng thời tín hiệu trong một thời gian dài để xác định

Trang 19

16

ra hiệu toạ độ giữa các máy thu Các trạm đo đồng thời sẽ tạo thành các đoạn đo

(session)

Đo tĩnh là phương pháp đo có độ chính xác cao nhất, ở khoảng cách dài từ vài

chục đến vài trăm km thì người ta thường sử dụng máy đo hai tần số L1, L2 để khắc

phục sai số do tầng điện ly

c Đo động (Kinematic)

Cơ sở của định vị động là dựa trên sự khác nhau của trị đo giữa hai chu kỳ đo

(epoch), được nhận bởi một máy thu tín hiệu của chính vệ tinh nào đó chuyển đến

Sự thay đổi đó tương đương với sự thay đổi khoảng cách địa diện đến vệ tinh

Phương pháp đo động cũng được thực hiện theo hai chế độ là đo động xử lý

sau (Post Processing Kinematic- viết tắt là PPK) và đo động thời gian thực (Real

Time Kinematic- viết tắt là RTK) Trong phương pháp PPK, toạ độ sẽ được tính

toán xử lý trong phòng do vậy không cần đến Radio Link, nhưng với RTK thì thiết

bị đó không thể thiếu được, nó đóng vai trò trong việc truyền đi tín hiệu chứa các số

hiệu chỉnh về toạ độ từ trạm máy base

d Đo giả động (Pseudo-Kinematic)

Phương pháp đo giả động cho độ chính xác không cao bằng phương pháp đo

động Phương pháp này cho phép xác định vị trí tương đối của hàng loạt điểm so với

điểm đã biết trong khoảng thời gian đo khá nhanh

Máy cố định cũng phải tiến hành thu tín hiệu trong suốt chu kỳ đo, máy di

động được chuyển tới các điểm cần xác định và mỗi điểm thu tín hiệu 5-10 phút

Sau khi đo hết lượt máy di động quay trở về điểm xuất phát và đo lặp lại tất cả các

điểm theo đúng trình tự như trước, nhưng phải đảm bảo khoảng thời gian dãn cách

giữa hai lần đo tại mỗi điểm không ít hơn 1 tiếng đồng hồ Yêu cầu nhất thiết của

phương pháp này là phải có ít nhất 3 vệ tinh chung cho cả hai lần đo tại mỗi điểm

quan sát

Điều đáng chú ý nhất trong phương pháp này là máy di động không cần thu tín

hiệu vệ tinh liên tục trong suốt chu kỳ đo như phương pháp đo động, tại mỗi điểm

đo máy chỉ đo 5-10 phút sau đó có thể tắt máy trong lúc di chuyển đến điểm khác

Điều này cho phép áp dụng cả ở những khu vực có nhiều vật che khuất

2.1.2.4 Cách xác định vị trí trên mặt đất thông qua hệ thống GPS

Chúng ta biết, phần sử dụng trong hệ thống GPS bao gồm các thiết bị thu tín

hiệu từ vệ tinh Mỗi vệ tinh quay quanh trái đất 2 vòng một ngày đêm Quỹ đạo của

các vệ tinh được tính toán sao cho ở bất kỳ nơi nào trên trái đất, vào bất kỳ thời

điểm nào, cũng có thể “nhìn thấy” tối thiểu 4 vệ tinh Công việc của một máy thu

GPS là xác định vị trí của 4 vệ tinh hay hơn nữa, tính toán khoảng cách từ các vệ

Trang 20

17

tinh và sử dụng các thông tin đó để xác định vị trí của chính nó Vì phải dựa vào ít

nhất là tín hiệu của 4 vệ tinh thì thông tin về vị trí mới chính xác cao

Các thiết bị thu GPS xác định quãng đường (S) từ vệ tinh đến nó, bằng cách:

lấy thời gian(T) nhân với vận tốc của ánh sáng (V = 3.108 m/s)

S = V.T Quá trình xác định vị trí dựa trên một nguyên lý toán học đơn giản

Áp dụng nguyên lý này vào không gian ba chiều, ta cũng có ba mặt cầu thay vì

ba đường tròn, giao nhau tại một điểm

Để thực hiện tính toán đo khoảng cách từ vệ tinh, máy thu GPS phải biết hai

thứ tối thiểu:

- Vị trí của ít nhất ba vệ tinh bên trên nó

- Khoảng cách giữa máy thu GPS đến từng vệ tinh nói trên

2.2 Tìm hiểu về Android

2.2.1 Giới thiệu về Android

Android là hệ điều hành trên điện thoại di động phát triển bởi Google và dựa

trên nền tảng Linux Trước đây, Android được phát triển bởi công ty liên

hợp Android, sau đó được Google mua lại vào năm 2005

Android là một môi trường phần mềm được xây dựng cho các thiết bị di động

Nó không là nền tảng vể phần cứng Android bao gồm một Linux kernel làm nền

cho hệ điều hành, một giao diện người dùng phong phú, các ứng dụng cho người

dùng cuối, thư viện hỗ trợ lập trình và nhiều hỗ trợ về truyền thông đa phương tiện

khác

Một trong những tính năng mạnh mẽ nhất của nền tảng Android là không có sự

khác biệt giữa các ứng dụng được xây dựng vận hành trên thiết bị và ứng dụng

người dùng được tạo ra bởi SDK Điều này có nghĩa là các ứng dụng đó có thể được

viết để khai tháo các tài nguyên có sẵn trên thiết bị

2.2.2 Kiến trúc của Android

Android là một kho phần mềm cho các thiết bị di động bao gồm một hệ điều

hành, middleware và các ứng dụng chính Android SDK cung cấp các công cụ và

giao diện người dùng cần thiết để bắt đầu phát triển ứng dụng cho nền tảng Android

sử dụng ngôn ngữ lập trình Java

Trang 21

18

Hình 2.1 : Mô hình kiến trúc các lớp Android

2.2.2.1 Application

Có các ứng dụng được viết bằng ngôn ngữ Java Một số các chương trình đơn

giản bao gồm lịch, email client, SMS, bản đồ, trình duyệt web…Đây là tầng mà

người sử dụng bình thường sử dụng thường xuyên nhất là phần cơ bản cần phải có

của một ứng dụng, tất cả các tầng còn lại được sử dụng bởi người lập trình, các nhà

phát triển và các hãng sản xuất phần cứng

2.2.2.2 Application Framework

Đây là bộ khung mà tất cả các nhà phát triển Android phải làm theo Các nhà

phát triển có thể truy cập tất cả các API quản lý các chức năng cơ bản của điện thoại

như phân bổ nguồn tài nguyên, chuyển đổi giữa các tiến trình, chương trình hoặc các

ứng dụng điện thoại, lưu giữ vị trí địa lý của điện thoại

Các kiến trúc được thiết kế tốt để đơn giản hóa việc dùng lại các thành phần

Những khung ứng dụng (Application Framework) như là một bộ công cụ cơ bản mà

một nhà phát triển có thể sử dụng để xây dựng các công cụ phức tạp hơn

2.2.2.3. Libraries

Tầng này bao gồm các thư viện Android được viết bằng C, C + +,phục vụ cho

việc lập trình của các lập trình viên và được sử dụng bởi các hệ thống khác nhau

Các thư viện này sẽ cho các thiết bị biết làm thế nào để xử lý các loại dữ liệu khác

Trang 22

19

nhau và cách tiếp xúc với các nhà phát triển Android thông qua khuôn khổ ứng dụng

Android Một số thư viện bao gồm các phương tiện truyền thông, đồ họa, 3d,

SQLite, thư viện trình duyệt web…

2.2.2.4 Runtime Android

Tầng này bao gồm tập hợp các thư viện cơ sở cần thiết cho thư viện java.Mỗi

ứng dụng Android được dành riêng một máy ảo Dalvik Dalvik đã được viết để cho

một thiết bị có thể chạy nhiều máy ảo một cách hiệu quả và nó thực thi tập tin thực

thi để tối ưu hóa cho bộ nhớ

2.2.2.5 Linux Kernel

Tầng này bao gồm các chương trình quản lý bộ nhớ của Android, thiết lập bảo

mật, phần mềm quản lý điện năng và một số trình điều khiển cho phần cứng, truy

cập hệ thống tập tin, mạng Kernel cũng hoạt động như một lớp trừu tượng giữa

phần cứng và phần còn lại của chồng phần mềm (software stack)

2.2.3 Công cụ cài đặt Android

Để lập trình Android thì mỗi bộ SDK của Google là không đủ, còn cần tích hợp

nó vào một IDE như Eclipse hay Netbeans Với Netbeans hiện nay thì plugin

cho Android vẫn chưa hoàn thiện, trong khi đó Eclipse có nhiều tính năng hỗ trợ lập

trình Google API Để sử dụng cho lập trình ứng dụng này nên xài Eclipse Để tải các

gói có thể xem thông tin của từng gói:

nhất một bản Bạn dùng bản nào thì check bản đó, có thể chọn nhiều bản cho tiện lập

trình

các lớp (phần này chắc chắn không thể thiếu rồi)

của Google (như Google Map nếu bạn muốn lập trình liên quan đến GPS)

dụng test bằng điện thoại thật

2.2.4 Các thành phần cấu tạo nên ứng dụng Android :

Một ứng dụng Android khi được xây dựng nên sẽ được đóng gói thành file cài

đặt dạng *.apk Bên trong của một ứng dụng gồm có các thành phần:

Trang 23

20

động 1 ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển

thị màn hình giao diện của ứng dụng cho phép người dùng tương tác

nhật dữ liệu, đưa ra các cảnh báo(Notification) và không bao giờ hiển thị cho người

dùng thấy

quản lý và chia sẻ dữ liệu giữa các ứng dụng

thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc bạn mong

muốn VD: Khi mở 1 trang web, bạn gửi 1 intent đi để tạo 1 activity mới hiển thị

trang web đó

Bạn viết 1 chương trình thay thế cho phần gọi điện mặc định của Android, khi đó

bạn cần 1 BR để nhận biết các Intent là các cuộc gọi tới

hoạt động

Activity, Service, Broadcast Receiver và Content Provider mới là những thành phần

chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo

trong AndroidManifest

2.2.5 Cấu trúc một Project Android

Đầu tiên chúng ta cần biết cấu trúc và chức năng các tệp trong thư mục dự án

của một ứng dụng Android Khi bạn tạo một ứng dụng Android, cấu trúc thư mục

dự án sẽ như sau:

tả ứng dụng, các thông tin này rất quan trọng và hệ thống Android cần phải có nó

trước khởi chạy ứng dụng

mục nào đó, tương ứng với package tương ứng theo cấu trúc

/myPackagePath/ /MyClass.java B ạn phải có ít nhất một tệp java ở trong một

package nào đó

bạn Tài nguyên có thể là các tệp dữ liệu ở ngoài hay các tệp mô tả, và khi build ứng

dụng các tài nguyên này cũng sẽ được compile Các tệp ở trong thư mục khác nhau

thì sẽ được compile khác nhau, vì vậy bạn phải đặt đúng tài nguyên vào thư mục phù

Trang 24

21

hợp Trong thư mục này sẽ có các thư mục con tương ứng với một kiểu tài nguyên

như sau:

tệp xml mô tả thông tin animation mà ứng dụng sử dụng

drawable/ (Có thể có hoặc không): Chứa các tệp ảnh (như some_picture.png,

some_stretchable.9.png, ), hoặc tệp XML (như some_background.xml, ) mô tả

thông tin thêm về ảnh Các tệp này được compile tới android.graphics.drawable

một phần màn hình ứng dụng, chẳng hạn như screen_1_layout.xml Mặc dù bạn có

thể tạo nó bằng lệnh của Java nhưng việc sử dụng tệp XML để mô tả sẽ dễ dàng và

đơn giản hơn nhiều

dimens.xml, strings.xml, styles.xml, values.xml để mô tả các tài nguyên thêm như

strings, colors, và styles Tên và số lượng các tệp này tùy ý bạn, không bắt buộc

nhưng tất nhiên bạn phải tuân theo chuẩn đặt tên

thể không cần

-raw/: Chứa tệp bất kỳ, các tệp này sẽ được copy trực tiếp lên thiết bị Thư mục

này cũng có thể hoặc không có

2.3 Webservice

2.3.1 Dịch vụ Web là gì ?

Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là một

hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng

trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết

của nó được mô tả bằng XML Dịch vụ Web là tài nguyên phần mềm có thể xác

định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng

yêu cầu

Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng

sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ

mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác Nó bao

gồm các module độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân

nó được thực thi trên server

2.3.2 Đặc điểm Webservice

2.3.2.1 Đặc điểm

Trang 25

22

‐ Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả

trong những môi trường khác nhau

‐ Một Dịch vụ Web bao gồm có nhiều module và có thể công bố lên mạng

Internet

‐ Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server

Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP,

Oracle Application server hay Microsoft.Net…

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

Ưu điểm:

‐ Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần

mềm khác nhau chạy trên những nền tảng khác nhau

‐ Sử dụng các giao thức và chuẩn mở Giao thức và định dạng dữ liệu dựa trên

văn bản (text), giúp các lập trình viên dễ dàng hiểu được

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

‐ Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các

tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web

‐ Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong

hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

‐ 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 doanh

nghiệp khác

‐ 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,

giao diệ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ác giao 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

2.3.3 Các thành phần của Webservice

2.3.3.1 XML – eXtensible Markup Language

‐ Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử

dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu

B2B Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗi trang web và

được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn

mở

Trang 26

23

‐ Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử

dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ

chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch

vụ Web, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML

2.3.3.2 WSDL – Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML,

bao gồm các thông tin:

‐ Tên dịch vụ

‐ Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của Webservice

‐ Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của

dịch vụ Web cộng với tên cho giao diện này)

‐ Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương

thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ

được lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi

hành dịch vụ

‐ WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp

dịch vụ Web qua Internet Một client khi kết nối tới dịch vụ Web có thể đọc WSDL

để xác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP

để lấy ra chức năng chính xác có trong WSDL

2.3.3.3 Universal Description, Discovery, and Integration (UDDI)

UDDI định nghĩa một số thành phần cho phép các client truy tìm và nhận

những thông tin được yêu cầu khi sử dụng dịch vụ Web

Cấu trúc UDDI :

‐ Trang trắng – White pages: chứa thông tin liên hệ và các định dạng chính yếu

của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin…

‐ Trang vàng – Yellow pages: chứa thông tin mô tả dịch vụ Web theo những

loại khác nhau

‐ Trang xanh – Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các

chức năng của dịch vụ Web

‐ Loại dịch vụ – tModel: chứa các thông tin về loại dịch vụ được sử dụng

2.3.3.4 SOAP – Simple Object Access Protocol

‐ SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấu

trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và

các hệ điều hành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên

XML qua mạng máy tính, thông thường sử dụng giao thức HTTP

Trang 27

24

SOAP envelope SOAP header Hearder block Hearder block SOAP body Body subelement

‐ Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi

những thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớp

ứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngày

nay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet

Hinh 2.2 :Cấu trúc một thông điệp theo dạng SOAP

Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm

các phần tử sau:

Phần tử gốc – envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản

XML như là một thông điệp SOAP

Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử này

không bắt buộc khai báo trong văn bản Header còn có thể mang những dữ liệu

chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác

Phần tử khai báo nội dung chính trong thông điệp – body, chứa các thông tin

yêu cầu và thông tin được phản hồi

Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong

qúa trình xử lý thông điệp

Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham

số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng

khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi)

Kiểu truyền thông: Có 2 kiểu truyền thông

Remote procedure call (RPC): cho phép gọi hàm hay thủ tục qua mạng Kiểu

này được khai thác bởi nhiều dịch vụ Web

Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp ở

mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn

Trang 28

25

Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như

trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những

kiểu phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP

được đặt trong namespace SOAP-ENC

Mã hóa: Giả sử service requester và service provider được phát triển

trong Java, khi đó mã hóa SOAP là làm thế nào chuyển đổi từ cấu trúc dữ

liệu Java sang SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là

XML

Trang 29

26

3.1 Phân tích thực trạng

Ngày nay khi chiếc điện thoại di động được sử dụng rộng rãi hơn và phát triển

với công nghệ cao hơn thì nó góp phần không nhỏ giúp ích cho cuộc sống Cùng với

nó là sự ra đời của các phần mềm tiện ích phục vụ cho cuộc sống phải kể đến phần

mềm bản đồ và cụ thể hơn là các phần mềm phục vụ cho việc đi lại của người Việt

Trên thị trường đã có nhiều phần mềm bản đồ nhưng thường bị hạn chế về mặt dữ

liệu Mặt khác là bản đồ dành cho người Việt thể hiện các tỉnh thành của đất nước

cũng ít

Mặt khác phần mềm điện thoại thời xưa còn bị hạn chế về mặt dữ liệu ( thường

đi kèm theo chương trình) còn những phần mềm hoạt động theo mô hình Client-

Server còn ít do tốc độ truyền dữ liệu giữa Client và Server còn hạn chế Tuy nhiên,

với sự phát triển không ngừng của các nhà cung cấp dịch vụ đã đưa ra một công

nghệ đường truyền cao với dịch vụ 3G, 4G cho chất lượng đường truyền tốt hơn

Nắm bắt được thực tế thì ngày nay việc đi lại của người dân thành phố một

phần lớn là đi bằng xe buýt và khách du lịch cũng sử dụng nó Việc xây dựng phần

mềm báo trạm và tìm kiếm tuyến xe là rất có ích có thể thay thế được các bản đồ

giấy thông thường

3.2 Phân tích xác định yêu cầu

Dựa vào các yêu cầu của một ứng dụng cần thiết đưa ra các chức năng của ứng

dụng như sau :

Phía Client (Ứng dụng Anroid):

- Hiển thị bản đồ đường đi trực tuyến

- Menu lựa chọn chức năng ứng dụng

- Phóng to thu nhỏ bản đồ

- Di chuyển bản đồ

- Kết nối và lấy vị trí GPS

- Tìm kiếm thông tin các tuyến xe

- Hiển thị tất cả các trạm trên một tuyến xe

- Hiển thị thông tin từng trạm xe khi chọn trên bản đồ

- Lấy thông tin từng tuyến xe khi chọn 1 tuyến xe trên danh sách tuyến xe

Trang 30

27

- Hiển thị các trạm xe bus xung quanh vị trí GPS hay một điểm khi chọn trên

bản đồ ứng dụng

- Báo cáo thời gian một tuyến xe buýt gần đến trạm người dùng đang đứng

Phía Server (Web servies):

- Tiếp nhận các kết nối từ Client và xử lý các giá trị thông số mà Client gửi

đến

- Có thể cập nhật các giá trị trong bảng Cơ sở dữ liệu

- Các hàm có các truy vấn để trả về giá trị tương ứng mà Client muốn truy

xuất

- Đảm bảo có thể cung cấp cho nhiều Client kết nối đến

Yêu cầu của ứng dụng :

- Hỗ trợ trên các thiết bị có chạy hệ điều hành Android từ các phiên bản thấp

nhất

- Tốc độ tải bản đồ về ứng dụng và tìm kiếm tuyến xe không quá chậm

- Lấy dữ liệu từ webservcies và có thể cập nhật dữ liệu từ server

- Hoạt động trên môi trường kết nối Internet và định vị GPS

3.3 Thiết kế ứng dụng

3.3.1 Xây dụng ứng dụng trên Android

3.3.1.1 Vòng đời của một ứng dụng Android

Trong một ứng dụng Android có nhiều thành phần, mỗi thành phần của ứng

dụng đều có một chu kỳ sống riêng Bắt đầu được tạo(OnCreate( )) cho đến khi kết

thúc(OnDestroy( )) Chúng có thể ở trạng thái hoạt động hay không hoạt động, được

hiển thị hoặc ẩn trên màn hình

Trong vòng đời thì Activity bao gồm 4 trạng thái(state):

‐ Active (running): Activity đang hiển thị trên màn hình(foreground)

‐ Paused: Activity vẫn hiển thị(visible) nhưng không thể tương tác(lost focus)

‐ Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái

Stop

‐ Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo

nguyên tắc ưu tiên Các Activity ở trạng thái Stop hoặc Paused cũng có thể bị giải

phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn

và phục hồi lại trạng thái trước đó

Trang 31

28

Hình 3.1 : Vòng đời một ứng dụng Android

- onCreate(): được gọi khi Activity được khởi tạo lần đầu tiên

- onStart(): Được gọi trước khi một Activity visible với người dùng

- onResume(): được gọi trước khi Activity bắt đầu tương tác với người dùng

- onPause(): được gọi khi hệ thống đang resuming Activity khác

- onStop(): được gọi khi hệ thống không thuộc tầm nhìn của người dùng

Trang 32

29

- onDestroy(): được gọi trước khi Activity bị hủy

3.3.1.2 Các bước tạo một Project Android

Sử dụng bộ công cụ SDK và trương chình Elipse để tạo ứng dụng

Ở màn hình Eclipse, bấm File  New  Project  Android  Android

Project  Next

Ở màn hình kế nhập liệu vào các ô như sau:

- Project name: BusHCM (tên project hiển trị trên eclipse cũng sẽ là thư mục

chứ ứng dụng trong workspace)

- Application name: HelloWorld (tên ứng dụng sẽ hiện thị trên điện thoại)

- Create activity: HelloWorldActivity (tạo một lớp con của lớp Activity, dùng

để hiển thị một màn hình ở đây là màn hình HelloWorld của chúng ta)

- Min SDK version: 4 (tức SDK 1.6, ở đây chúng ta khai báo là ứng dụng này

có thể đáp ứng được phiên bản SDK cũ nhất là phiên bản nào)

Sau khi hoàn tất bấm Finish, project mới đã được tạo

- Để ứng dụng có thể truy cập vào Internet hay kết nối GPS trao đổi dữ liệu thì

cần cung cấp quyền cho ứng dụng Tất cả được thực hiện trong Android Mainfrest

- Cấp quyền cho ứng dụng truy cập internet ta chỉnh trong

Ngày đăng: 12/01/2022, 20:01

HÌNH ẢNH LIÊN QUAN

Hình 2.1 : Mô hình kiến trúc các lớp Android - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 2.1 Mô hình kiến trúc các lớp Android (Trang 21)
Hình 3.1 : Vòng đời một ứng dụng Android - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.1 Vòng đời một ứng dụng Android (Trang 31)
Hình 3.2 : Giao diện ứng dụng   Giao diện chính ứng dụng gồm: - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.2 Giao diện ứng dụng Giao diện chính ứng dụng gồm: (Trang 33)
Hình 3.4 : Mô hình lấy toạ độ GPS của thiết bị. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.4 Mô hình lấy toạ độ GPS của thiết bị (Trang 36)
Hình 3.6: Lưu đồ xử lý báo trạm xe xắp đến và hiển thị lên bản đồ. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.6 Lưu đồ xử lý báo trạm xe xắp đến và hiển thị lên bản đồ (Trang 39)
Hình 3.7 : Lưu đồ hiển thị thông tin trạm khi chọn vào trạm xe. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.7 Lưu đồ hiển thị thông tin trạm khi chọn vào trạm xe (Trang 40)
Hình 3.8 : Lưu đồ hiển thị các trạm xe buýt xung quanh vị trí GPS. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.8 Lưu đồ hiển thị các trạm xe buýt xung quanh vị trí GPS (Trang 41)
Hình 3.9 : Lưu đồ lấy thông tin tuyến xe. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.9 Lưu đồ lấy thông tin tuyến xe (Trang 43)
Hình 3.10 : Báo thời gian xe buýt xắp đến trạm. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.10 Báo thời gian xe buýt xắp đến trạm (Trang 44)
Hình 3.12 : Danh sách các Method của WebServcies. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.12 Danh sách các Method của WebServcies (Trang 46)
Hình 3.13 : Bảng thông tin Tuyến Xe Buýt. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.13 Bảng thông tin Tuyến Xe Buýt (Trang 49)
Hình 3.14 : Bảng Trạm dừng tuyến xe. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.14 Bảng Trạm dừng tuyến xe (Trang 50)
Hình 3.15 : Bảng Thời gian xuất phát tuyến xe. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 3.15 Bảng Thời gian xuất phát tuyến xe (Trang 50)
Hình 4.1 : Giao diện chính ứng dụng  Các chức năng chính của chương trình được tích hợp trên Menu lựa chọn: - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 4.1 Giao diện chính ứng dụng Các chức năng chính của chương trình được tích hợp trên Menu lựa chọn: (Trang 51)
Hình 4.2 : Mên lựa chọn các chức năng. - Xây dựng hệ thống báo trạm xe buýt trên smartphone khóa luận tốt nghiệp đại học
Hình 4.2 Mên lựa chọn các chức năng (Trang 52)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm