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

Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android

59 543 8
Tài liệu đã được kiểm tra trùng lặp

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

Nội dung

Tài liệu tham khảo công nghệ thông tin Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Đậu Thanh Hải

HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Phần Mềm

HÀ NỘI - 2010

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Đậu Thanh Hải

HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO ÙN TẮC GIAO THÔNG TRÊN ANDROID

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Phần Mềm

Cán bộ hướng dẫn: TS Trương Anh Hoàng Cán bộ đồng hướng dẫn: TS Đặng Đức Hạnh

HÀ NỘI - 2010

Trang 3

LỜI CẢM ƠN

Em xin chân thành cám ơn khoa Công nghệ thông tin, Bộ môn Công nghệ phần mềm, trường Đại học Công Nghệ đã tạo điều kiện thuận lợi cho em thực hiện đề tài này

Em cũng xin được gửi lời cảm ơn chân thành nhất đến thầy giáo Trương Anh Hoàng và thầy Đặng Đức Hạnh, người đã tận tình chỉ bảo và hướng dẫn em thực hiện đề tài này

Bên cạnh đó, em xin gửi lời cảm ơn đến các thầy cô giáo, những người đã giảng dạy, tạo điều kiện cho em tích lũy được những kiến thức quý báu trong những năm học qua

Ngoài ra, em cũng xin gửi lời cảm ơn đến những người bạn trong lớp K51CNPM, và lớp K51CC trước đây, những người đã chia sẻ những kiến thức trong quá trình học tập và thực hiện khóa luận tốt nghiệp

Cuối cùng, em xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình, bạn bè, những người đã luôn bên cạnh, chăm sóc, ủng hộ, động viên em trong suốt thời gian học tập và nghiên cứu

Dù đã cố gắng hoàn thành khóa luận đúng yêu cầu, nhưng chắc chắn sẽ có những thiếu sót không tránh khỏi Em mọng được sự thông cảm và tận tình chỉ bảo của các thầy cô và các bạn

Hà Nội, tháng 5 năm 2010 Sinh viên

Đậu Thanh Hải

Trang 4

TÓM TẮT NỘI DUNG

Hiện nay, dịch vụ Google Maps đã cung cấp dịch vụ thông tin giao thông qua bản đồ cho nhiều thành phố lớn trên thế giới Ở Việt Nam, mặc dù vấn đề ùn tắc giao thông đang rất câp thiết nhưng chưa có dịch vụ nào tương tự Em xin đề xuất chủ đề khóa luận là “Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên Android” Mục tiêu của khóa luận là mô phỏng giải pháp cung cấp thông tin giao thông qua môi trường Internet và các thiết bị di động Giải pháp được chọn là kết hợp Web Server chạy trên nền ASP.NET và phần mềm chạy trên thiết bị điện thoại di động Android

Nội dung báo cáo này được chia thành 4 phần như sau:

- Chương 1 Tổng quan: Giới thiệu bối cảnh, lý do thực hiện đề tài cũng như các

giải pháp hiện thời có thể liên quan, từ đó rút ra hương tiếp cận thực hiện đề tài

- Chương 2 Các kỹ thuật sử dụng: Trình bày sơ lược về kỹ thuật lập trình trên

Android, ASP.NET, và Google Maps APIs

- Chương 3 Phân tích, thiết kế: Tài liệu phân tích và thiết kế chương trình theo

phương pháp hướng đối tượng

- Chương 4 Cài đặt, thử nghiệm: Một số điểm nét chính khi thực hiện cài đặt và thử nghiệm Web Server và chương trình giả lập điện thoại Android

- Chương 5 Đánh giá và tổng kết: Nêu đánh giá toàn bộ đề tài, trình bày những

kết quả đạt được cũng như các hạn chế của đề tài từ đó đề xuất hướng nghiên

cứu trong tương lai

Trang 5

Mục lục

Chương 1 TỔNG QUAN 1

1.1 Yêu cầu và lý do thực hiện đề tài 1

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

1.3 Hướng tiếp cận của luận văn: 2

Chương 2 CÁC KỸ THUẬT ĐƯỢC SỬ DỤNG 3

2.1 Giới thiệu về Android 3

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

2.1.1.1 Cấu trúc của các tầng phần mềm trên Android 3

2.1.1.2 Kiến trúc ứng dụng trên Android 5

2.1.1.3 Các thư viện trên Android 5

2.2.1.1 Đặc điểm của ASP.NET 10

2.2.1.2 Một số khái niệm mới trong ASP.NET 3.5 12

2.2.1.2.1 ASP.NET AJAX 12

2.2.1.2.2 LINQ 12

2.2.2 ASP.NET MVC 13

2.2.2.1 Khái niệm MVC 13

Trang 6

2.2.2.2 Một vài chi tiết về ASP.NET MVC 14

2.2.2.2.1 Cấu trúc một dự án trong Visual Studio 14

2.2.2.2.2 Truyền dữ liệu từ Controller sang View 15

2.2.2.2.3 Dữ liệu động trong View của MVC 15

2.3 Giới thiệu về Google Maps 16

Chương 3 PHÂN TÍCH THIẾT KẾ 18

3.1.1 Phân tích 18

3.1.1.1 Phân tích dịch vụ Google Maps 18

3.1.1.2 Phân tích yêu cầu 18

3.1.1.2.1 Yêu cầu người dùng 18

3.1.2.3.2 Xem theo danh sách 20

3.1.2.3.3 Gửi thông báo 21

3.1.2.3.4 Thêm mới dữ liệu đường 21

3.1.2.3.5 Chỉnh sử dữ liệu đường 22

3.1.2.3.7 Xem trạng thái theo tên đường 22

3.1.2.3.8 Tạo trạng thái mới 22

3.1.2.3.9 Cập nhật trạng thái 23

3.1.2.3.10 Kết thúc trạng thái 23

3.1.3 Biểu đồ tuần tự 24

3.1.3.1 Xem theo bản đồ 24

Trang 7

3.1.3.2 Xem theo danh sách 25

3.1.3.3 Thông báo trạng thái 25

3.1.3.4 Xem thông tin trạng thái đường 26

3.1.3.5 Tạo trạng thái mới 26

3.1.5.2 Xem theo danh sách 31

3.1.5.3 Thông báo tình trạng giao thông 32

3.1.5.4 Xem thông tin trạng thái theo đường 33

3.1.5.5 Thêm trạng thái mới 34

3.1.5.6 Cập nhật trạng thái 35

3.1.5.7 Kết thúc trạng thái 36

3.1.6 Biểu đồ thành phần 36

3.1.7 Biểu đồ triển khai 37

3.1.8 Thiết kế giao diện 38

3.1.8.1 Màn hình chính chương trình trên Android 38

3.1.8.2 Giao diện xem bản đồ 39

3.1.8.3 Giao diện xem theo danh sách 40

3.1.8.4 Gửi thông báo 41

3.1.8.5 Màn hình hướng dẫn 42

3.1.8.6 Màn hình điều khiển trạng thái 43

3.1.8.7 Màn hình chỉnh sửa thông tin 44

Chương 4 CÀI ĐẶT VÀ THỬ NGHIỆM 45

4.1 Cài đặt 45

4.1.1 Cài đặt server 45

Trang 8

4.1.2 Cài đặt Client 47

4.2 Thử nghiệm 47

Chương 5 ĐÁNH GIÁ TỔNG KẾT 48

Danh mục bảng Bảng 3.1 Ca sử dụng Xem theo bản đồ 20

Bảng 3.2 Ca sử dụng Xem theo danh sách 20

Bảng 3.3 Ca sử dụng Gửi thông báo 21

Bảng 3.4 Ca sử dụng Thêm mới dữ liệu đường 21

Bảng 3.5 Ca sử dụng Chỉnh sửa dữ liệu đường 22

Bảng 3.6 Ca sử dụng Xem trạng thái tên đường 22

Bảng 3.7 Ca sử dụng Tạo trạng thái mới 22

Bảng 3.8 Ca sử dụng Cập nhật trạng thái 23

Bảng 3.9 Ca sử dụng Kết thúc trạng thái 23

Bảng 4.1 Các file cài đặt phần server 45

Bảng 4.2 Các file cài đặt trên Client 47

Danh mục hình Hình 2.1 Cấu trúc của các tầng phần mềm trên Android 4

Hình 2.2 Sơ đồ chuyển trạng thái của Activity 8

Hình 2.3 Sơ đồ chuyển trạng thái của Service 9

Hình 2.4 Vị trí của ASP.NET trong NET Framework 11

Hình 2.5 Cấu trúc LINQ 13

Hình 2.6 Cấu trúc của mô hình MVC trên môi trường Web 14

Hình 2.7 Cấu trúc dự án ASP.NET MVC trong Visual Studio 2008 14

Hình 3.1 Biểu đồ ca sử dụng 20

Hình 3.2 Biểu đồ tuần tự xem theo bản đồ 24

Hình 3.3 Biểu đồ tuần tự xem theo danh sách 25

Hình 3.4 Biểu đồ tuần tự thông báo trạng thái 26

3.5 Biểu đồ tuần tự xem trạng thái theo tên đường 26

Hình 3.6 Biểu đồ tuần tự tạo trạng thái mới 26

Hình 3.7 Biểu đồ tuần tự cập nhật trạng thái 27

Trang 9

Hình 3.8 Biểu đồ tuần tự kết thúc trạng thái 28

Hình 3.9 Biểu đồ lớp 29

Hình 3.10 Biểu đồ hoạt đông Xem theo bản đồ 30

Hình 3.11 Biểu đồ hoạt động Xem theo danh sách 31

Hình 3.12 Biểu đồ hoạt động Thông báo tình trạng giao thông 32

Hình 3.13 Biểu đồ hoạt động Xem thông tin trạng thái theo đường 33

Hình 3.14 Biểu đồ hoạt động Thêm trạng thái mới 34

Hình 3.15 Biểu đồ hoạt đông Cập nhật trạng thái 35

Hình 3.16 Biểu đồ hoạt động Kết thúc trạng thái 36

Hình 3.17 Biểu đồ thành phần 36

Hình 3.18 Biểu đồ triển khai 37

Hình 3.19 Màn hình chính chương trình trên Android 38

Hình 3.20 Xem thông tin trạng thái của điểm trên bản đồ 39

Hình 3.21 Giao diện xem theo danh sách 40

Hình 3.22 Giao diện màn hình gửi thông báo 41

Hình 3.23 Màn hình hướng dẫn 42

Hình 3.24 Giao diện điều khiển trạng thái giao thông 43

Hình 3.25 Màn hình Thêm trạng thái mới 44

Hình 3.26 Màn hình chỉnh sửa thông tin trạng thái đường 44

Trang 11

Chương 1 TỔNG QUAN

1.1 Yêu cầu và lý do thực hiện đề tài

Hiện nay, tắc đường đang là vấn đề chung của các thành phố lớn như Hồ Nộ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 người chỉ huy ở các nút giao thông hay bị ùn tắc đến giải 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

Thực tế, hiện tượng tắc đường chỉ thường xuyên xảy ra ở một số điểm cố định vào các giờ cao điểm Nếu chúng ta có cách thông báo cho mọi người tham gia giao thông biết được đoạn đường nào đang bị ùn tắc thì có thể giảm được số điểm ùn tắc

Trong thời gian qua, chương trình VOV giao thông của đài tiếng nói Việt Nam đã ra đời và nhận được sự hưởng ứng tích cực của mọi người Cách làm của chương trình VOV giao thông đó là cùng với người tham gia giao thông và các cộng tác viên tại các điểm hay xảy ra ùn tác phát hiện và thông báo tình trạng giao thông qua làn sóng radio Tuy nhiên, nhược điểm của VOV giao thông là vì sử dụng chương trình phát thanh nên thông tin chỉ đến được với số ít người tham gia giao thông, thông tin được truyền tải dưới dạng âm thanh nên ít trực quan, giảm bớt tính hiệu quả của thông tin

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 khóa luận “Hỗ trợ phát hiện và thông báo ùn tắc giao thông 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 Nam Ở 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 Nam, dịch vụ này không hỗ trợ cũng như chưa có dịch vụ nào tương tự Android cũng là hệ điều hành mã nguồn mở của Google Hệ điều hành di động này có thể cài đặt trên nhiều thiết bị, có các giao diện lập trình tích hợp với dịch vụ Google Maps

Trang 12

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

Mục tiêu của đề tài là 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.3 Hướng tiếp cận của luận văn:

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 đườ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

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

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

o Tìm hiệu dịch vụ Google Map, và các giao diện lập trình được hỗ trợ để tích hợp với phần Server và Client

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

Trang 13

Chương 2 CÁC KỸ THUẬT ĐƯỢC SỬ DỤNG

2.1 Giới thiệu về Android

Android được phát triển bởi tập đoàn Google, phiên bản đầu tiên ra đời năm 2008 Được xây dựng trên ột nền tảng mở, và một bộ thư viện đa năng, mạnh mẽ với nguyên lý mở, Android đã nhanh chóng được cộng đồng lập trình viên di động hưởng ứng mạnh mẽ Nền tảng Android tích hợp nhiều tính năng nổi bật:

- Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần cứng, quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động - 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

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

2.1.1.1 Cấu trúc của các tầng phần mềm trên Android

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 14

Hình 2.1 Cấu trúc của các tầng phần mềm trên Android1

- Android Runtime: Bao gồm máy ảo Dalvik và các thư viện Android

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 Dalvik: 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ện đa

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

Nguồn: Reto Meier Professional Android™ Application Development Indiana : Wiley Publishing,

Inc., 2008, trang 13

Trang 15

- 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

2.1.1.2 Kiến trúc ứng dụng trên Android

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

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 tầng 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

2.1.1.3 Các thư viện trên Android

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:

- 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

- 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

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

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

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

- 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

Trang 16

- 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

- 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

- 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 Androif 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

- 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

- Android.provider Để 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

- 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 lơp 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ư:

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

OpenGLES 1.0 API

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 Libc 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

Trang 17

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.bluetooth, android.net.wifi, và android.telephony [1] 2.1.1.4 Các thành phần của ứng dụng Android

2.1.1.4.1 Activity

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 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ớ

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 savedInstanceState) void onStart()

void onRestart() void onResume() void onPause() void onStop() void onDestroy()

Trang 18

Sơ đồ chuyển trạng thái được biểu diễn như hình dưới

Hình 2.2 Sơ đồ chuyển trạng thái của Activity2

2.1.1.4.2 Service

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 trong 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 đưa ra

Nguồn: Application Fundamentals, 20/5/2010, fundamentals.html

Trang 19

http://developer.android.com/guide/topics/-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 Vòng đời của một service

Hình 2.3 Sơ đồ chuyển trạng thái của Service3

2.1.1.4.3 Broadcast receiver

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

Nguồn: Application Fundamentals, 20/5/2010, fundamentals.html

Trang 20

2.1.1.4.6 Các thành phần khác

Ngoài các thành phần chính ở trên, còn có các thành phần khác như Resource bao gồm các file đồ họa, âm thanh, string,… và các thư viện do nhà cung cấp thứ 3 Tham khảo thêm về các thành phần trong [2]

2.2 Giới thiệu về ASP.NET MVC 2.2.1 ASP.NET

2.2.1.1 Đặc điểm của ASP.NET

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ấ 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ải tươ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

Trang 21

Hình 2.4 Vị trí của ASP.NET trong NET Framework4

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:

- 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

đượ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)

- 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)

Khía cạnh quang trọng nhất của công cụ ASP.NET là nó chạy trong môi trường

thời gian thực (Runtime) của CLR (Common Language Runtime) CLR là máy ảo

Nguồn: NET Framework, 20/5/2010, http://en.wikipedia.org/wiki/.NET_Framework

Trang 22

(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ư:

- Quản lý bộ nhớ

- Thu nhặt rác trong bộ nhớ - Quản lý các luồng

- Xử lý ngoại lệ - Bảo mật

Mọi sự cài đặt NET Framework đều cung cấp các lớp như nhau Để triển khai ứng dụng ASP.NET chỉ cần sao chép các tập tin vào thư mục ảo trên máy chủ (server) và máy chỉ chỉ cần có NET Framework

Việc cấu hình dễ dàng đơn giản không phụ thuộc vào IIS (Internet Information

Services) Cấu hình trong ASP.NET được đặt trong file web.config File web.config

được để cùng với thư mực chứa trang web File web.config không bao giờ bị khóa, Nó có thể truy cập bất kỳ lúc nào, việc sửa file này hoàn toàn dễ dàng vì chúng được lưu dưới dạng XML

2.2.1.2 Một số khái niệm mới trong ASP.NET 3.5 2.2.1.2.1 ASP.NET AJAX

Trong ASP.NET 2.0, ASP.NET AJAX được cài đặt thêm vào Tuy nhiên trong ASP.NET 3.5, ASP.NET AJAX đã được tích hợp vào trong NET Framework, do đó quá trình xây dựng giao diện người dùng được dễ dàng và trực quan ASP.NET AJAX Control Extenders đã được tích hợp ToolBox của Visual Studio 2008

2.2.1.2.2 LINQ

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 23

Hình 2.5 Cấu trúc LINQ5

2.2.2 ASP.NET MVC 2.2.2.1 Khái niệm MVC

MVC là một phương pháp cài đặt chia một ứng dụng thành 3 phần với vai trò

khác nhau : Model, View, Controller

- Model trong một ứng dụng MVC là thành phần giữa vai trò quản lý các trạng

thái của ứng dụng Trạng thái này thường được lưu trữ bên trong một cơ sở dữ liệu(ví dụ: một lớp Product đại diện cho dữ liệu trong bảng Products của một

server SQL)

- View là thành phần đảm nhận chức năng hiển thị giao diện người dùng của ứng

dụng Giao diện này thường được tạo ra từ dữ liệu của Model(ví dụ như chúng ta có thể tạo ra một màn hình chỉnh sửa là “Edit Product” có các textbox,

dropdown, và checkbox biểu thị trạng thái hiện thời của một Product)

model và cuối cùng chọn một View phù hợp để trình bày kết quả Trong một

Nguồn: What is LINQ, 20/5/2010, What-LINQ.aspx

Trang 24

http://www.indiastudychannel.com/sites/147428/Forum-1451-ứng dụng MVC, View chỉ hiển thị thông tin, còn Controller mới thao tác với các dữ liệu do người dùng nhập vào

Hình 2.6 Cấu trúc của mô hình MVC trên môi trường Web6

Lợi ích to lớn của phương pháp MVC là giúp chia chương trình ra thành các phần riêng lẻ, tạo ra sự minh bạch giữa dữ liệu, điều khiển, và hiển thị Điều này khiến cho việc kiểm thử, bảo trì một hệ thống MVC dễ dàng và tiết kiệm hơn nhiều

2.2.2.2 Một vài chi tiết về ASP.NET MVC

2.2.2.2.1 Cấu trúc một dự án trong Visual Studio

Một project ASP.NET MVC trong Visual Studio có cấu trúc như sau:

Hình 2.7 Cấu trúc dự án ASP.NET MVC trong Visual Studio 2008

Nguồn: S Sanderson, 2009, Pro ASP.NET, trang 41

Trang 25

- /App_Data thường dùng để chứa các file dữ liệu, thường là các file *.mdf

hoặc *.mdb, cũng có thể là cái file dữ liệu dạng xml

- /bin Thư mục chứa các file đã được biên dịch cũng như các thư viện tham

chiếu của ứng dụng

- /Content thường được dùng để chứa các file tĩnh như là đồ họa, âm thanh

hoặc CSS

- /Controllers Lưu trữ các lớp Controller (Các lớp thừa kế từ lớp cơ sơ là

Controller hoặc cài đặt giao diện IController)

- /Models Thư mục chứa các lớp model

- /Views Đây là nơi lưu trữ các file View có phần mở rộng là *.aspx, *.ascx

Mỗi file đều được chứa trong thư mục con tương ứng với tên của Controller

- /Views/Shared: chứa các file template và không thuộc một Controller cụ thể

nào cả, ví dụ như file master page, file 404.html…

- Default.aspx: không thực hiện một chức năng hiển thị nào cả, chỉ đơn giản là

file mặc định để chỉ định vào cấu hình URL của ứng dụng

- Global.asax Lưu trữ các chỉ dẫn map URL, cũng như là cài đặt các quy định

khởi động, tắt ứng dụng khi cần thiết

- Web.config Là file có cấu trúc XML, lưu trữ toàn bộ các cấu hình của ứng

dụng

2.2.2.2.2 Truyền dữ liệu từ Controller sang View

Việc truyền Model từ Controller sang View có thể thực hiện theo nhiều cách Đơn giản là thực hiện gọi hàm:

return View("MyView", modelObject);

Nếu cần truyền nhiều dữ liệu khác, có thể sử dụng Mảng ViewData trong Controller để truyền dữ liệu:

ViewData[“dataname”] = modelObject;

ViewData sẽ được truyền qua View và sử dụng trở lại bằng cách lấy giá trị của

ViewData[“dataname”]

2.2.2.2.3 Dữ liệu động trong View của MVC

Các View được khai báo theo định dạng HTML Vì thế không sẽ không có được những ứng dụng tốt nếu như chỉ làm việc với các dữ liệu tĩnh Có nhiều cách để

Trang 26

thêm dữ liệu động trong View của MVC Có thể sử dụng Inline Code, HTML helpers, Server controls, Partial views, và phương thức Html.RenderAction() Trong đó sử dụng Inline code cho những phần nhỏ được khuyến khích trong ASP.NET MVC Inline code được đặt khai báo bằng thẻ <% %> Ví dụ khi viết mã trong HTML là:

<h1>Information about <%= Model.Name %></h1>

2.3 Giới thiệu về Google Maps

Hiện tại, có nhiều nhà cung cấp dịch vụ bản đồ trực tuyến miễn phí như là Google, Yahoo, Microsoft, và Amazon… Google là hãng cung cấp dịch vụ tốt nhất với sản phẩm Google Maps với nhiều chức năng bản đồ cũng như cung cấp các APIs mở Nhiều hạn chế trong các sản phẩm bản đồ nền Web-based đã được Google Maps khác phục Để hiểu làm cách nào mà công nghệ này có khả năng thay đổi cách thức tạo bản đồ số chúng ta sẽ tìm hiểu qua cách tiếp cận cổ điển trong xuất bản bản đồ môi trường Web Bản đồ Web cổ điển dựa vào cơ sở hạ tầng phức tạp của dữ liệu, phần cứng, phần mềm và nguồn lực con người

Dữ liệu trong ứng dụng bản đồ Web cổ điển có thể chia làm 2 danh mục riêng biệt: dữ liệu cơ sở và dữ liệu của ứng dụng Dữ liệu cơ sở, hay dữ liệu nền thường bao gồm dữ liệu địa lý và thường có nhiều lớp như là lớp khí quyển, ảnh, đường và các đường biên lãnh thổ Dữ liệu cụ thể của ứng dụng bao gồm các tầng dữ liệu cụ thể cho ứng dụng được phát triển Ví dụ, một ứng dụng bản đồ Web cho một thành phố thì sẽ có các lớp như là các vùng trực thuộc, vị trí các trường học, các công trình công cộng, và nhiều lớp khác Mỗi lớp dữ liệu này phải được định vị và lưu trữ trên máy chủ bởi chính tổ chức đó và nó cần được cập nhật định kỳ Với Google Maps, sẽ không còn phải định vị và quản lý dữ liệu cơ sở nữa Dữ liệu vùng, đường đã đi kèm trong Google Maps Tuy nhiên, người sử dụng cũng cần phải quản lý ứng dụng của mình bằng dữ liệu XML hoặc là các định dạng khác

Không chỉ có các yêu cầu dữ liệu phức tạp, các ứng dụng bản đồ cổ điển còn có các vấn đề với phần cứng phần mềm và sức lực con người Phải mua thêm phần cứng và phần mềm, cũng như cần có sự quản lý của con người để cài đặt bảo trì, quản trị phần mềm, lập trình tạo ra ứng dụng Tuy không hoàn toàn loại bỏ các yêu cầu phần cứng và phần mềm, nhưng chúng đã được giảm thiểu đáng kể với Google Maps Vẫn cần phần cứng để triển khai ứng dụng nhưng yêu cầu phần mềm thì đã được hạn chế một cách tối đa Google Maps là sản phẩm miễn phí, không cần cài đặt, hay quản lý Sản phẩm hỗ trợ các APIs để tạo ra các chức năng tùy biến của ứng dụng

Trang 27

Google Maps hỗ trợ các dịch vụ như định vị, tìm đường, thêm dữ liệu cá nhân, các điều khiển làm cho việc ứng dụng bản đồ trong ứng dụng Web trở nên dễ dàng và thuận tiện hơn bao giờ hết.

Trang 28

Chương 3 PHÂN TÍCH THIẾT KẾ

3.1.1 Phân tích

3.1.1.1 Phân tích dịch vụ Google Maps

Dịch vụ bản đồ số Google Maps có hỗ trợ một số chức năng như: tìm đường đi giữa 2 điểm, ước lượng khoảng cách, xác định tọa độ của một điểm theo tên được nhập vào, hoặc lấy tọa độ từ một điểm trên bản đồ Tuy nhiên Google Maps lại không hỗ trợ xác định điểm đầu và điểm cuối của một con đường theo tên, phố Ngược lại, việc quản lý giao thông thì lại phải căn cứ vào tên đường phố Vì thế cần có thêm cơ sở dữ liệu để quản lý tên đường phố là bắt buộc với ứng dụng trong đề tài này

3.1.1.2 Phân tích yêu cầu 3.1.1.2.1 Yêu cầu người dùng

Xây dựng phần mềm “Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên

nền Android” phải thực hiện được các chức năng sau:

- Chức năng biên tập, dành cho người biên tập có thể đặt các trạng thái bằng cách thao tác trực tiếp trên bản đồ

- Chức năng xem thông tin dành cho người dùng dịch vụ có thể biết trạng thái các điểm được thông báo

3.1.1.2.2 Yêu cầu hệ thống

- Một nút giao thông có thể có nhiều trạng thái như tắc đường, cấm đường, có công trình thi công, hoặc là có tai nạn giao thông Những trạng thái này có thể được thêm vào hoặc sửa đổi cho phù hợp

- Dữ liệu đường phố, vùng địa lý thực tế có thể bị thay đổi, vì thế nguời biên tập có thể cập nhật được cơ sở dữ liệu đường phố, quận huyện khi cần thiết để đảm bảo tính chính xác

- Chức năng báo tắc đường phải chỉ định được tọa độ, tên đường, tên trạng thái của nút giao thông trên bản đồ

- Người dùng thiết bị di động nền Android có thể xem các trạng thái đó trên điện thoại ở chế độ bản đồ hoặc theo danh sách

- Người dùng cũng có thể thông báo một con đường đang bị tắc với mô tả và gửi lên cho Server

Trang 29

- Client có thể tự động cập nhật các trạng thái sau một khoảng thời gian nào đó Người dùng cũng có thể cập nhật bằng tay để có những thông tin cập nhật nhất - Phần Server được lập trình trên nền Web phải hỗ trợ các thao tác như bấm chuột phải để đặt trạng thái Người biên tập thao tác trực tiếp trên bản đồ vì thế yêu cầu Trạng thái được đặt cần phải đúng với một con đường nào đó trên bản đồ

3.1.2 Xây dựng biểu đồ ca sử dụng 3.1.2.1 Xác định Actor và ca sử dụng 3.1.2.1.1 Tác nhân

- Nguoi dung: Người dùng điện thoại Android và phần mềm - Nguoi bien tap: Người cập nhật thông tin trạng thái giao thông

- Xem trang thai theo duong: Người biên tập chọn một đường trong danh sách

để xem thông tin trạng thái đường đó

- Tao trang thai: Người biên tập thông báo một trạng thái mới qua một điểm

trên bản đồ

- Cap nhat trang thai: Người biên tập thực hiện cập nhật trạng thái tại điểm

Mục đích cập nhật là thay đổi mô tả, hoặc thời gian dự kiến kết thúc

- Ket thuc trang thai: Người biên tập kết thúc một trạng thái sớm hơn thời gian

dự kiến, thông tin về trạng thái sẽ không được gửi đến cho người dùng nữa

Ngày đăng: 23/11/2012, 15:35

HÌNH ẢNH LIÊN QUAN

Bảng thuật ngữ và từ viết tắt - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Bảng thu ật ngữ và từ viết tắt (Trang 10)
Hình 2.1 Cấu trúc của các tầng phần mềm trên Android1 - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 2.1 Cấu trúc của các tầng phần mềm trên Android1 (Trang 14)
Hình 2.2 Sơ đồ chuyển trạng thái của Activity2 - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 2.2 Sơ đồ chuyển trạng thái của Activity2 (Trang 18)
Hình 2.3 Sơ đồ chuyển trạng thái của Service3 - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 2.3 Sơ đồ chuyển trạng thái của Service3 (Trang 19)
Hình 2.4 Vị trí của ASP.NET trong .NET Framework4 - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 2.4 Vị trí của ASP.NET trong .NET Framework4 (Trang 21)
Hình 2.7 Cấu trúc dự án ASP.NET MVC trong Visual Studio 2008 - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 2.7 Cấu trúc dự án ASP.NET MVC trong Visual Studio 2008 (Trang 24)
Hình 3.2 Biểu đồ tuần tự xem theo bản đồ - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.2 Biểu đồ tuần tự xem theo bản đồ (Trang 34)
Hình 3.3 Biểu đồ tuần tự xem theo danh sách - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.3 Biểu đồ tuần tự xem theo danh sách (Trang 35)
Hình 3.6 Biểu đồ tuần tự tạo trạng thái mới - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.6 Biểu đồ tuần tự tạo trạng thái mới (Trang 36)
Hình 3.4 Biểu đồ tuần tự thông báo trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.4 Biểu đồ tuần tự thông báo trạng thái (Trang 36)
Hình 3.7 Biểu đồ tuần tự cập nhật trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.7 Biểu đồ tuần tự cập nhật trạng thái (Trang 37)
Hình 3.8 Biểu đồ tuần tự kết thúc trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.8 Biểu đồ tuần tự kết thúc trạng thái (Trang 38)
Hình 3.9 Biểu đồ lớp - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.9 Biểu đồ lớp (Trang 39)
Hình 3.10 Biểu đồ hoạt đông Xem theo bản đồ - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.10 Biểu đồ hoạt đông Xem theo bản đồ (Trang 40)
Hình 3.11 Biểu đồ hoạt động Xem theo danh sách - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.11 Biểu đồ hoạt động Xem theo danh sách (Trang 41)
Hình 3.12 Biểu đồ hoạt động Thông báo tình trạng giao thông - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.12 Biểu đồ hoạt động Thông báo tình trạng giao thông (Trang 42)
Hình 3.13 Biểu đồ hoạt động Xem thông tin trạng thái theo đường - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.13 Biểu đồ hoạt động Xem thông tin trạng thái theo đường (Trang 43)
Hình 3.14 Biểu đồ hoạt động Thêm trạng thái mới - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.14 Biểu đồ hoạt động Thêm trạng thái mới (Trang 44)
Hình 3.15 Biểu đồ hoạt đông Cập nhật trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.15 Biểu đồ hoạt đông Cập nhật trạng thái (Trang 45)
Hình 3.17 Biểu đồ thành phần - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.17 Biểu đồ thành phần (Trang 46)
Hình 3.16 Biểu đồ hoạt động Kết thúc trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.16 Biểu đồ hoạt động Kết thúc trạng thái (Trang 46)
Hình 3.18 Biểu đồ triển khai - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.18 Biểu đồ triển khai (Trang 47)
3.1.8.1 Màn hình chính chương trình trên Android - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
3.1.8.1 Màn hình chính chương trình trên Android (Trang 48)
Hình 3.20 Xem thông tin trạng thái của điểm trên bản đồ - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.20 Xem thông tin trạng thái của điểm trên bản đồ (Trang 49)
Hình 3.21 Giao diện xem theo danh sách - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.21 Giao diện xem theo danh sách (Trang 50)
Hình 3.22 Giao diện màn hình gửi thông báo - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.22 Giao diện màn hình gửi thông báo (Trang 51)
3.1.8.6 Màn hình điều khiển trạng thái - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
3.1.8.6 Màn hình điều khiển trạng thái (Trang 53)
Hình 3.25 Màn hình Thêm trạng thái mới - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
Hình 3.25 Màn hình Thêm trạng thái mới (Trang 54)
3.1.8.7 Màn hình chỉnh sửa thông tin - Hỗ trợ phát hiện và thông báo ùn tắc giao thông trên android
3.1.8.7 Màn hình chỉnh sửa thông tin (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w