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

Dịch vụ cung cấp thông tin tình trạng giao thông dựa theo vị trí cho thiết bị cầm tay trên nền android

41 469 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 41
Dung lượng 1,46 MB

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

Nội dung

- Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích họp với Eclipse SDK 1.1.1 Phát triển ứng dụng trên Android Cấu trúc của các thành phần 1.27 Cấu trúc củ

Trang 1

1

Trang 3

2.1.1 Phân tích hệ thống

1.2

3

Trang 4

1.4 DANH MỤC

CÁC HÌNH •

1.5

1.6

Trang 5

1.7 Hình 3.1 Giao diện hiển thị danh sách trạng thái

1.10 API 1.11 Application Programming

dụng1.13 G

PRS 1.14 General Packet Radio Service 1.15 Gói dịch vụ vô tuyến tổng

hợp

1.16 GSM1.17 Global System for Mobile

Communications

1.18 Hệ thống thông tin di động toàn cầu

1.19 SDK1.20 Software Development Kit 1.21 Độ công cụ phát triển

phần mềm1.22 GPS1.23 Global Positioning System 1.24 Hệ thống định vị toàn cầu

1.25

Trang 6

1.11 LỜI MỞ ĐÀU

1.12 Hiện nay, tắc đường đang là vấn đề chung của các thành phố lớn như

Hà ẩ ội và Thành phố Hồ Chí Minh Tắc đường không chỉ gây thiệt hại về kinh tế mà còn kéo theo nhiều hậu quả xã hội nghiêm trọng Các cơ quan chức năng đã có nhiều

cố gắng đề ra các giải pháp chống tắc đường Từ các giải pháp kỹ thuật như là phân làn đường bịt các ngã tư, tăng cường lực lượng giao thông tai các điểm hay ùn tắc cho tới các biện pháp pháp tận dụng sức mạnh cộng đồng như là thực hiện chương trình vov giao thông, tăng cường giáo dục, tuyên truyền, kêu gọi ý thức của người tham gia giao thông Tuy nhiên, do mật độ tham gia giao thông quá lớn, cơ sở hạng tàng không đủ đáp ứng được, một phần ý thức của người tham gia giao thông chưa cao, nên các biện pháp đề ra chưa mang lại hiệu quả như mong muốn

1.13 Hướng đến một cách tiếp cận khác đó là thông qua môi trường Internet

và các thiết bị di động, em đã chọn đề tài đồ án “Dịch vụ cung cấp thông tin tình

trạng giao thông dựa trên vị trí cho thiết bị cầm tay trên nền Android“ Bài toán được

giải quyết chủ yếu dựa vào dịch vụ Google Map và các thiết bị sử dụng hệ điều hành Android Google Maps là dịch vụ đã phổ biến trên thế giới cũng như ở Việt ẩ am Ở các thành phố lớn trên thế giới, Google Maps có tích hợp thông tin giao thông vào bản đồ ở chế độ Traffic View Tuy nhiên, ở Việt ẩ am, dịch vụ này không hỗ trợ cũng như chưa có dịch vụ nào tương tự

1.14 Mục tiêu của đề tài:

1.15 Đe tài nhằm đưa ra một giải pháp bổ sung, khả thi cùng với các phương tiện khác như vov giao thông đưa thông tin giao thông đến cho người sử dụng Internet di động trên các điện thoại, cụ thể là Android

1.16 Hướng tiếp cận của đề tài:

1.17 Giải pháp đưa ra là sử dụng cùng nguồn thông tin như vov Giao thông,

có thể là các cộng tác viên, những người tham gia giao thông để phát hiện ra điểm tắc đường, chỉ định điểm tắc đường cụ thể trên bản đồ, có mô tả về thời gian tắc, thời gian dự kiến kết thúc Phàn mềm thực hiện hai nhiệm vụ chính là xác định điểm tắc

Trang 7

đường trên bản đồ, công việc này được xử lý ở Server, truy cập và hiển thị lại thông tin trên các thiết bị di động, phần này được thực hiện ở Client.

1.18 Các công việc chính của đề tài bao gồm:

• Tìm hiểu và cài đặt Server trên nền ASP.NET MVC.

• Tìm hiểu và xây dựng Webservice kết nối Client và Cơ sở dữ liệu SQL

Server

• Tìm hiểu dịch vụ Google Maps và các giao diện lập trình được hỗ trợ để tích

họp với phần Server và Client

• Tìm hiểu và cài đặt Client trên nền điện thoại di động Android.

1.19 Đồ án bao gồm 3 chương với nội dung như sau:

1.20 Chương 1: Cơ sở lý thuyết chương này bao gồm các kiến thức được sử dụng để xây dựng chương trình

1.21 Chương 2: Phân tích thiết kế hệ thống chương này sẽ đi phân tích thiết

kế hệ thống để đạt được mục tiêu đề ra

1.22 Chương 3: Cài đặt và thử nghiệm chương này sẽ trình bày một so file được cài đặt trong hệ thống và kết quả thu được

1.23 Thái Nguyên, tháng 6 năm 2012

Trang 8

1.24 CHƯƠNG 1

Cơ SỞ LÝ THUYẾT 1.1 Giới thiêu về hê điều hành Android

- Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ

- Máy ảo Dalvik được tối ưu cho các thiết bị di động, chạy các ứng dụng lập trình trên ngôn ngữ Java

- Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, WebKit, OpenGL và trình quản lý đa phương tiện

- Hỗ trợ các chuẩn đa phương tiện phổ biến, thoại trên nền GSM, Bluetooth EDGE, 3G và Wifi

- Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc

- Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích họp với Eclipse SDK

1.1.1 Phát triển ứng dụng trên Android

Cấu trúc của các thành phần

1.27 Cấu trúc của Android được chia theo tầng các phần mềm bao gồm tầng ứng dụng (Application Layer), ứng dụng khung (Application Framework), Các thư viện (Libraries), Android Runtime và nhân Linux (Linux Kernel)

Trang 9

1.28 Linux Kernel (Nhản Linux)

1.29 Hình 1.1: Kiến trúc hệ điều hành Android

• Android Runtime: Bao gồm máy ảo Dalvỉk và các thư vỉận Android.

1.30 o Các thư viện cơ bản: Các ủng dụng Android được phát triển trên môi trường Java, nhưng Dalvik lại không phải là một Java VM Các thư viện cơ bản của Android cung cấp hầu hết các chức năng có trong thư viên cơ bản của Java cũng như là thư viện riêng của Android, o Máy ảo Dalvìk: Dalvik là máy ảo để chạy các ứng dụng trên Android, đã được tối ưu để đảm bảo rằng một thiết bị có thể chạ được nhiều Instance một cách hiệu quả Nó dựa vào nhân Linux để thực hiénda luồng và quản lý bộ nhớ cấp thấp

• Tầng ứng dụng khung: Cung cấp các lớp được sửa dụng để tạo ra các ứng dụng

trong Android Nó cũng cung cấp các lớp trừu tượng truy cập phần cứng và quản

lý tài nguyên của ứng dụng

ManagerFrarrwiwtsrk

QpehGL 1 ESFnraTyfúH!

WebkitSQL

Applications (ứng dụng) Applications Fa me work (Khung tQ chức ứng Trinh qnàn lý

Trinh qwdn \ ỷ

vị tri

Trinh quần Rý

«'ửurũnr Phwldttii

TrĩrYh îfceukhàéfiIPCTrinh ÆDU I C

Trang 10

1.31 • Tầng ứng dụng: Tất cả các ứng dụng, bao gồm ứng dụng sẵn có và

ứng dụng từ nhà cung cấp thứ 3 được xếp vào tàng ứng dụng với cùng một thư viện các giao diện lập trình(API) Tầng ứng dụng chạy trong Android Runtime (Dalvik) sử dụng các lớp và dịch vụ có sẵn trong lớp ứng dụng khung

1.32 ♦> Kiến trúc ứng dụng trên Android

1.33 Kiến trúc của Android khuyến khích khái niệm Thành phần sử dụng lại, cho phép công bố và chia sẻ các Activity, Service, dữ liệu, với các ứng dụng khác với quyền truy cập được quản lý bởi khai báo Cơ chế đó cho phép người lập trình tạo ra một trình quản lý danh bạ hoặc trình quay số điện thoại mà có các thành phần người khác có thể tạo mới giao diện và mở rộng chức năng thay vì tạo lại chứng.1.34 Những dịch vụ sau là những dịch vụ kiến trúc cơ bản nhất của tất cả các ứng dụng, cung cấp một framework cho mọi mọi phần mềm được xây dựng:

- Actitvity Manager: Điều khiển vòng đời của các Activity bao gồm cả quản lý

các tang Activity

- Views: Được sử dụng để tạo lập cá giao diện người dùng cho các Activity

- Notification Mamager: Cung cấp một cơ chế cố định và quy củ cho việc gửi

các thông báo đến người dùng

- Content Provider: Cho phép ứng dụng chia sẻ dữ liệu giữa các ứng dụng.

- Resource Manager: Hỗ trợ các thành phàn không thuộc mã nguồn như là

chuỗi ký tự, đồ họa được đặt bên ngoài

1.35 ❖ Các thư viện trên Android

1.36 Android cung cấp một số các APIs cho phát triển ứng dụng Danh sách các API cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền Android:

1.37 - android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là

các lớp quản lý (List, Stack ) lóp xử lý chuỗi, lớp xử lý XML

Trang 11

1.38 android.os Gói hệ điều hành cung cấp truy cập đến các dịch vụ cơ bản

như là chuyển tin nhắn, thông tin chéo, đồng hồ và gỡ lỗi

1.39 android.graphics Cung cấp các lớp đồ họa mức thấp thực hiện các chức

1.40 năng đồ họa, màu, vẽ cơ bản

1.41 android.text Công cụ hiển thị và xử lý văn bản

1.42 android.database Cung cấp các lớp mức thất bắt buộc cho việc điều

khiển cursor khi làm việc với các cơ sở dữ liệu

1.43 android.content Các giao tiếp lập trình nội dung được dùng để quản lý

truy cập dữ liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với tài nguyên, Content Provider, và các gói

1.44 android.view View là lớp giao diện người dùng cơ bản nhất Tất cả giao

diện người dùng được tạo ra đều phải sử dụng một tập các View để cung cấp cho các thành phần tương tác người dùng

1.45 android.widget Xây dựng dựa trên gói View Những lớp Widget những

thành phàn giao diện được tạo sẵn được sử dụng để tạo nên giao diện người dùng Các Widget bao gồm danh sách, nút bấm, hộp nhập, các kiểu trình bày(layout) com.google.android.maps bộ API mức cao cung cấp truy cập đến điều khiển bản đồ sẵn trong Android từ ứng dụng được xây dựng Bao gồm cả lớp MapView cũng như Overlay và MapController để tương tác với bản đồ bên trong ứng dụng

1.46 android.app Một gói thư viện bậc cao, cung cấp truy cập đến dữ liệu

của ứng dụng Gói ứng dụng cũng bao gồm lớp Activity và Service là thành phàn cơ bản của mọi ứng dụng Android

1.47 Androỉd.provỉder Để tạo thuận lợi cho người phát triển truy cập đến

các Content Provider tiêu chuẩn(như là dữ liệu danh bạ), gói Cung cấp (Provider) bao gồm các lớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong tất cả các bản phân phối Android

Trang 12

- Android.telephony Các API điện đàm cung cấp khả năng tương tác trực tiếp

với tầng điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõi các cuộc gọi, tình trạng các cuộc gọi và tin nhắn SMS

- android.webkit Gói WebKit cung cấp các API để làm việc với các nội dung

Web-based bao gồm một lop WebView để tạo ra giao diên web, nhúng trong ứng dụng và một trình quản lý cookie

- Cùng với các API của Android, còn có một tập các thư viện C/C++ như:

1.48 o OpenGL Thư viện dừng để tạo ra các đồ họa 3D dựa vào

chuẩn OpenGLES 1.0 API1.49 o FreeType Hỗ trợ xử lý bitmap và font vector o GGL Thư viện

cơ bản, dùng để cung cấp các engine đồ họa 2D o Libe Thư viện c chuẩn, được tối ưu cho các thiết bị Linux-based o SQLite Engine cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu của ứng dụng

1.50 o SSL Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer

trong bảo mật truyền thông Internet

- Ngoài các thư viện chuẩn của Android, để đáp ứng tiêu chí phù họp với nhiều thiết bị khác nhau, Android còn có thể có các API phụ thuộc thiết bị như

android.location, androỉd.medỉa, android.opengl, android.hardware, android.bluetooth, android.net.wifi, và android.telephony.

1.51 Các thành phần của ứng dụng

Android • Activity

1.52 Một Activity là đại diện cho một giao diện người dùng, tiếp nhận tương tác người dùng với ứng dụng Ví dụ một Activity có thể là một danh sách các mục mà người dùng có thể chọn lựa hoặc là một của sổ trình diễn ảnh với các thông tin khác Một ứng dụng có thể có một hoặc nhiều Activity Việc di chuyển giữa các Activity được thực hiện bằng cách từ Activity hiện tại mở ra Activity mới Giao diện của Activity được quy định bởi một đối tượng View có trật tự Một View là một vùng hình chữ nhật bên trong cửa sổ màn hình Một View cũng có thể chứa nhiều View

Trang 13

khác View có thể được tạo mới thông qua việc thừa kế lớp View hoặc khai báo thông qua file XML.

- Stopped Khi một activity hoàn toàn bị che khuất, nó sẽ rơi vào trạng thái

Stopped Tuy nhiên, nó vẫn còn lưu trữ toàn bộ thông tin trạng thái Và nó thường bị hệ thống đóng lại khi có tình trạng thiếu bộ nhớ

1.54 Khi chuyển giữa các trạng thái, ứng dụng sẽ gọi các hàm callback ứng với các bước chuyển:

■ void onCreate(Bundle savedlnstanceState)

Trang 15

1.86 • Service

1.87 Một Service không cỏ giao diện và chạy ngầm trong khoảng thời gian không xác định Ví dụ, một Service có thể chơi nhạc ở chế độ ngầm khi người dùng chuyển ra khỏi trình nghe nhạc Mỗi Service đề được mở rộng từ lớp cơ sở là Service ừong gói android.app cỏ thể kết nối tới hoặc kích hoạt một Service thông qua interface mà Service được tạo ra

1.88 Cũng giống như Activity và cũng và những thành phần khác, các dịch vụ chạy trong luồng chính của ứng dụng

1.89 Vòng đời của một service

1.90 •f

1.91 Hình 1.3 Sơ đồ chuyển trạng thái của Service • Broadcast receiver

1.92 Một Broadcast receiver là một thành phần mà không làm gì khác ngoài việc nhện

các thông báo được broadcast Một ứng dụng có thể có nhiều

f Service s \ l'

smarted by

V siiinServíceO J

_ 3 [

QnO*

ỉatetì

1ỉ

OíìSíarto

1

ì

/ Servl_r

J

\

onCrtiateQ

Trang 16

1.93 broadcast receiver để đáp lại những thông báo được phát đến Tất cả các broadcast receiver được thừa kế từ lớp cơ sở BroadcastReceiver Một Broadcast receiver không có giao diện nhưng nó có thể thực hiện gọi một Activity hay là sử dụng NotificationManager

để thông báo cho người dùng

• Content Provider

1.94 Một Content Provider tạo ra một tập các dữ liệu cụ thể nào đó của ứng dụng cung cấp cho các ứng dụng khác Các lớp Content Provider thừa kế từ cơ sở ContentProvider để cài đặt một số hàm tiêu chuẩn cho phép ứng dụng khác nhận và lưu trữ dữ liệu

• Manifest file

1.95 File AndroidManifest.xml là file có cấu trúc XML được dùng để khai báo các thành phần trong ứng dụng Android Nó cũng là nơi để khai báo các quyền truy cập của ứng dụng cũng như các thư viện cần thiết

Trang 17

1.99 ASP.NET có tên đầy đủ là Active Server Page NET ASP.NET là mô hình phát triển ứng dụng Web họp nhất bao gồm nhiều dịch vu cho phép xây dựng các ứng dụng Web tiên tiến với số code nhỏ nhất ASP.NET là một phần của NET Framework, khi lập trình với ASP.NET người lập trình có thể sử dụng các thự viện của NET Framework ASP.NET hỗ trợ lập trình với nhiều ngôn ngữ như là MS Visual Basic, c#, Jscript NET và J#, các ngôn ngữ này đều phảitương thích với “Common Language Runtime” (CLR) Các ngôn ngữ đều được dịch ra mã IL ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ NET Nó cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việc trên nguyên lý của HTTP và HTML Mã nguồn không được truy cập toàn bộ các đối tượng trong NET Framework nhưng có thể khai thác tất cả các quy ước của một môi trường OOP (Object Oriented Programming) Thiết kế hướng đối tượng giúp tạo các lớp, giao diện, kế thùa các lớp.

1.100 VB C-* »- C# J Script

1.101 Common Language Specification1.102 ASP.NET

1.103 Well Forms Web Services

Mobile Internet Toolkil

1.104ADO.NET and 3ÍML Base Class Library

1.105Operating System

1.106 Hình 1.4 Vị trí của ASP.NET trong NET Framework Một ứng dụng ASP.NET luôn luôn được biên dịch,

nó không chạy bằng mã của C# hoặc Visual Basic mà không được biên dịch trước Một ứng dụng ASP.NET thực sự được biên dịch thông qua 2 giai đoạn:

1.107 - Giai đoạn đầu tiên những các mã (C#, Visual Basic hoặc ngôn ngữ NET khác) được dịch bởi Microsoft Intermediate Language (MSIL) Giai đoạn dịch này

Windows

Form

Common I an guaye Runtime

Trang 18

được dịch tự động khi trang web đầu tiên yêu cầu Các file được dịch thành mã IL (Intermediate Language Code).

Trang 19

- Giai đoạn tiếp theo được dịch trước khi trang Web được thực thi Tại giai đoạn này

mã IL được dịch thành bản mã máy (Native Machine Code) Giai đoạn này được gọi là Just-In-Time (JIT)

1.108 Điều trọng nhất của công cụ ASP.NET là nó chạy trong môi thời gian thực (Runtime) của CLR (Common Language Runtime) CLR là máy ảo (virtual machine) trong Microsoft NET, do có ngôn ngữ trung gian IL nên việc phát triển ứng dụng trên NET sẽ không bị phụ thuộc vào thiết bị, có nghĩa là ứng dụng NET có thể chạy trên bất

kỳ thiết bị nào có NET Framework Tất cả các namespace, các ứng dụng, các lớp trong

bộ NET Framework được gọi tắt là bộ quản lý mã CLR cũng cung cấp các dịch vụ quan trọng khác như:

1.110 • LINQ

1.111 LINQ (Language Integrated Query) đưa ra khả năng lập trình mới trong

■NET Giải pháp lập trình họp nhất, đem đến khả năng truy vấn dữ liệu theo cú pháp SQL trực tiếp trong C# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu từ đối tượng đến Cơ

sở dữ liệu quan hệ và XML

Trang 20

1.113

1.114 Hình 1.5 Cấu trúc LINQ1.115 ❖ Khái niệm MVC

1.116 MVC là một mô hìiứi kiến trúc phần mềm Khỉ sử dụng đúng cách, mô hình MVC giúp cho người phát triển phần mềm độc lập các nguyên tắc nghiệp vụ và giao diện người dùng một cách rõ ràng hơn Phần mềm phát triển theo mô hình MVC tạo nhiều thuận lợi cho việc bảo trì nâng cấp và sửa chữa vì các thành phần riêng biệt ít liên quan với nhau

1.117 Kiến trúc của MVC bao gồm 3 thành phần cơ bản: Model, View, và Control trong đó:

1.118 • Model: Được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu Tất cả các nghiệp vụ logic được thực thi

ở Model Dữ liệu vào từ người dùng sẽ thông qua View đến Controller và

1.26 -f - 1.28 1.29 -1.30 c# VB.NET 1.31Hiers □ 1.321.33 _^ _ 1.34 1.35 ¿

1.36

1.37

Ngày đăng: 25/01/2016, 22:43

HÌNH ẢNH LIÊN QUAN

Bảng 2.3 Ca sử dụng gửỉ thông báo - Dịch vụ cung cấp thông tin tình trạng giao thông dựa theo vị trí cho thiết bị cầm tay trên nền android
Bảng 2.3 Ca sử dụng gửỉ thông báo (Trang 39)

TỪ KHÓA LIÊN QUAN

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

w