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

TÌM HIẾU ANDROID VÀ PHÁT TRIỀN ỨNG DỤNG TÌM ĐƯỜNG ĐI

103 2 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 103
Dung lượng 3,86 MB

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

Nội dung

Vì thế, ngoài việc tìm hiểu và ứng dụng Android, nhiệm vụ đề tài là xây dựng một ứng dụng trên thiết bị di động giúp đỡ mọi người tìm kiếm đường đi thuận tiện hơn, góp phần giải quyết mộ

Trang 1

LUẬN VĂN TỐT NGHIỆP

TÌM HIỂU ANDROID VÀ PHÁT

TRIỂN ỨNG DỤNG TÌM ĐƯỜNG ĐI

Giảng viên hướng dẫn : TS NGUYỄN THANH BÌNH

Sinh viên thực hiện:

Khoá: 12

TP Hồ Chí Minh, tháng 07 năm 2012

Trang 2

LUẬN VĂN TỐT NGHIỆP

TÌM HIỂU ANDROID VÀ PHÁT

TRIỂN ỨNG DỤNG TÌM ĐƯỜNG ĐI

Giảng viên hướng dẫn : TS NGUYỄN THANH BÌNH

Sinh viên thực hiện:

Khoá: 12

TP Hồ Chí Minh, tháng 07 năm 2012

Trang 3

Thầy đã tận tình chỉ dẫn cho em từ những bước đi đầu tiên đến khi hoàn thành đề tài luận văn này Thầy luôn giúp em giải quyết vấn đề trong những lúc khó khăn Chúng

em học được ở Thầy không chỉ là sự hiểu biết mà còn là cách làm việc và lẽ sống

Chúng em xin gửi lời cảm ơn tới tất cả các Thầy Cô giảng viên của khoa Công nghệ thông tin, trường Đại học Tôn Đức Thắng đã nhiệt tình giảng dạy cho chúng em những tri thức công nghệ và trang bị hành trang cho chúng em vào đời

Cảm ơn các nhóm bạn thực hiện luận văn hướng dẫn bởi thầy Nguyễn Thanh Bình đã cùng gắn bó, động viên và hỗ trợ nhau hoàn thiện đề tài

Cuối cùng, chúng con xin gửi lời cảm ơn đến bố, mẹ và gia đình Bố mẹ luôn là chỗ dựa tinh thần vững chắc cho chúng con

Thành phố Hồ Chí Minh, ngày 4 tháng 7 năm 2012

Nhóm sinh viên thực hiện đề tài

Trương Quốc Cường Bùi Hoài Anh

Trang 4

Trang 5

Trang 6

1.1 Giới thiệu đề tài: 1

1.2 Nội dung đề tài: 1

1.3 Giới hạn đề tài: 1

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

1.5 Cấu trúc luận văn: 2

CHƯƠNG 2: NỀN TẢNG CÔNG NGHỆ 3

2.1 Android: 3

2.1.1 Giới thiệu: 3

2.1.2 Ưu điểm và khuyết điểm: 4

2.1.3 Kiến trúc nền tảng Android: 6

2.1.4 Hệ điều hành: 6

2.1.5 Thư viện và giao diện lập trình ứng dụng: 7

2.1.6 Khung ứng dụng Android: 9

2.1.7 Khung ứng dụng Android: 10

2.1.8 Activity: 10

2.1.9 Service: 13

2.1.10 Broadcast receivers: 14

2.2 SQLite: 14

2.2.1 Tạo cơ sở dữ liệu: 15

2.2.2 Mở cơ sở dữ liệu: 16

2.2.3 Thêm giá trị và cơ sở dữ liệu: 16

2.2.4 Truy vấn: 16

2.2.5 Đóng cơ sở dữ liệu: 16

2.3 Google Maps API và Google Web Service: 16

2.3.1 Google APIs Add-On: 16

2.3.2 Maps external library: 17

2.3.3 Google Places API: 19

2.3.4 Place Searches: 19

Trang 7

2.3.8 Geocoding API: 23

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ 24

3.1 Xác định yêu cầu hệ thống: 24

3.1.1 Tổng quan: 24

3.1.2 Chức năng định vị: 25

3.1.3 Chức năng Tìm kiếm địa điểm: 25

3.1.4 Chức năng Quản l địa điểm: 25

3.1.5 Chức năng Tìm đường đi: 26

3.1.6 Chức năng Xem vị tr các địa điểm: 26

3.2 Phân t ch hệ thống: 27

3.2.1 Sơ đồ Use-case: 27

3.2.2 Sơ đồ trạng thái: 38

3.2.3 Sơ đồ tuần tự: 44

3.3 Thiết kế hệ thống: 50

3.3.1 Thiết kế cơ sở dữ liệu: 50

3.3.2 Sơ đồ định hướng: 52

3.3.3 Thiết kế giao diện: 55

CHƯƠNG 4: HIỆN THỰC HỆ THỐNG 61

4.1 Tạo thiết bị ảo: 61

4.2 Tạo project Google API: 62

4.3 Thao tác bản đồ: 63

4.3.1 Lấy Maps API key: 63

4.3.2 Hiển thị bản đồ: 64

4.3.3 Vẽ marker trên bản đồ: 66

4.3.4 Một số phương thức thao tác bản đồ: 68

4.4 Hiện thực các chức năng: 69

4.4.1 Chức năng định vị bản đồ: 69

Trang 8

4.4.5 Chức năng quản l địa điểm: 76

4.4.6 Chức năng tìm đường đi: 79

4.4.7 Chức năng xem vị tr các địa điểm: 80

4.5 Kết quả hiện thực: 81

4.5.1 Chế độ bản đồ: 81

4.5.2 Chức năng định vị: 82

4.5.3 Chức năng tìm kiếm địa điểm: 83

4.5.4 Chức năng tìm đường đi: 85

4.5.5 Chức năng quản l địa điểm: 86

4.5.6 Chức năng xem vị tr các địa điểm: 88

CHƯƠNG 5: TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI 89

5.1 Kết quả đạt được: 89

5.2 Ưu điểm và khuyết điểm: 89

5.2.1 Ưu điểm: 89

5.2.2 Nhược điểm: 90

5.3 Hướng phát triển tương lai: 90

Trang 9

API: Application Programming Interface

AVD: Android Virtual Device

GPS: Global Positioning System

IDE: Integrated Development Environment

Trang 10

Bảng 3.2: Đặc tả use-case tìm kiếm địa điểm 29

Bảng 3.3: Đặc tả use-case thêm địa điểm 31

Bảng 3.4: Đặc tả use-case thêm địa điểm 33

Bảng 3.5: Đặc tả use-case tìm đường đi 36

Bảng 3.6: Đặc tả use-case xem vị tr các địa điểm 37

Bảng 3.7: Thuộc t nh của table place 50

Bảng 3.8: Thành phần giao diện màn hình ch nh 56

Bảng 3.9: Thành phần giao diện tìm kiếm địa điểm 56

Bảng 3.10: Thành phần giao diện quản l địa điểm 57

Bảng 3.11: Thành phần giao diện thêm địa điểm 58

Bảng 3.12: Thành phần giao diện sửa địa điểm 59

Bảng 3.13: Thành phần giao diện tìm đường đi 60

Bảng 4.1: Thuộc t nh của lớp đối tượng Place 73

Trang 11

Hình 1.2: Nhân Linux trên Android 6

Hình 1.3: Thư viện lâp trình ứng dụng trên Android 7

Hình 1.4: Khung ứng dụng 9

Hình 1.5: Vòng đời của một activity 12

Hình 1.6: Sơ đồ chuyển trạng thái của service 13

Hình 3.1: Sơ đồ use-case tổng quan 27

Hình 3.2: Sơ đồ use-case xác định vị tr 28

Hình 3.3: Sơ đồ use-case Tìm kiếm địa điểm 29

Hình 3.4: Sơ đồ use-case quản l địa điểm 30

Hình 3.5: Sơ đồ use-case thêm địa điểm 32

Hình 3.6: Sơ đồ use-case thêm địa điểm 34

Hình 3.7: Sơ đồ use-case tìm đường đi 36

Hình 3.8: Sơ đồ use-case Xem vị tr các địa điểm 38

Hình 3.9: Sơ đồ trạng thái định vị thiết bị 38

Hình 3.10: Sơ đồ trạng thái tìm kiếm địa điểm 39

Hình 3.11: Sơ đồ trạng thái thêm địa điểm 40

Hình 3.12: Sơ đồ trạng thái sửa địa điểm 41

Hình 3.13: Sơ đồ trạng thái use case tìm đường đi 42

Hình 3.14: Sơ đồ trạng thái use case xem vị tr các địa điểm 43

Hình 3.15: Sơ đồ tuần tự định vị thiết bị 44

Hình 3.16: Sơ đồ tuần tự tìm kiếm địa điểm 45

Hình 3.17: Sơ đồ tuần tự thêm địa điểm 46

Hình 3.18: Sơ đồ tuần tự sửa địa điểm 47

Hình 3.19: Sơ đồ tuần tự tìm đường đi 48

Hình 3.20: Sơ đồ tuần tự use case xem vị tr các địa điểm 49

Hình 3.21: Cơ sở dữ liệu hệ hệ thống 50

Hình 3.22: Sơ đồ định hướng tổng quan của hệ thống 52

Hình 3.23: Sơ đồ định hướng chức năng quản l địa điểm 53

Trang 12

Hình 3.27: Hình giao diện màn hình ch nh quản l địa điểm 57

Hình 3.29: Giao diện màn hình sửa địa điểm 59

Hình 3.30: Giao diện màn hình tìm đường đi 60

Hình 4.1: Cấu hình AVD 61

Hình 4.2: Cấu hình project 62

Hình 4.3: Cấu tạo project 62

Hình 4.5: Kết quả lấy mã MD5 debug key 63

Hình 4.6: Kết quả lấy Maps API key 64

Hình 4.7: Thể hiện bản đồ 66

Hình 4.8: Vẽ marker trên bản đồ 67

Hình 4.9: Chế độ xem bản đồ dạng ảnh chụp vệ tinh 81

Hình 4.10: Chế độ xem dạng đường phố 82

Hình 4.10: Giả lập tọa độ thiết bị 82

Hình 4.11: Kết quả định vị thiết bị 82

Hình 4.1: Ứng dụng gợi chọn từ khóa 83

Hình 4.12: Kết quả tìm kiếm theo từ khóa 83

Hình 4.13: Kết quả tìm kiếm địa danh 84

Hình 4.14: Kết quả tìm kiếm từ địa chỉ 84

Hình 4.15: Kết quả tìm kiếm đường đi 85

Hình 4.16: Kết quả tìm kiếm đường đi liên tỉnh 85

Hình 4.17: Xác định địa điểm bằng cách chọn trên bản đồ 86

Hình 4.18: Thao tác thêm một địa điểm 86

Hình 4.19: Thao tác sửa một địa điểm 87

Hình 4.20: Thao tác xóa một địa điểm 87

Hình 4.21: Kết quả xem các địa điểm lân cận 88

Hình 4.22: Kết quả xem vị tr theo loại địa điểm 88

Trang 13

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1 Giới thiệu đề tài:

Trong bối cảnh hiện nay, các thiết bị di động cầm tay đang dần chiếm ưu thế so với máy t nh truyền thống do chúng có t nh năng nhỏ gọn, tiện ch và t ch hợp đầy đủ chức năng của một chiếc máy t nh Trên thực tế, thị trường thiết bị di động có tiềm năng phát triển vô cùng to lớn, các nhà sản xuất đang ra sức đầu tư và phát triển các công nghệ trên chúng

Thêm vào đó, hệ điều hành là thành phần quan trọng tạo nên sự thành công cho các thiết bị di động cũng phát triển không ngừng Trong các hệ điều hành nổi tiếng, Android là một trong những tên tuổi được chú nhiều nhất vì nó hội nhiều yếu tố th ch hợp với xu hướng phát triển (dựa trên nền tảng Linux và ngôn ngữ lập trình mở Java,

t nh linh hoạt, đa dạng phần cứng, kho ứng dụng phong phú )

Ngoài ra, mọi người thường phải bỏ nhiều thời gian để tìm kiếm đường đi, công sức và chi ph để di chuyển trong hệ thống giao thông hiện tại còn nhiều bất cập Vì thế, ngoài việc tìm hiểu và ứng dụng Android, nhiệm vụ đề tài là xây dựng một ứng dụng trên thiết bị di động giúp đỡ mọi người tìm kiếm đường đi thuận tiện hơn, góp phần giải quyết một phần khó khăn của xã hội

1.2 Nội dung đề tài:

Tìm hiểu về hệ điều hành Android và xây dựng ứng dụng tìm đường đi chạy được trên thiết bị di động Android, đáp ứng được các nhu cầu thực tế của người dùng,

sử dụng dữ liệu từ Google Maps API và Google Web Service Ngoài ra, ứng dụng có chức năng quản l địa điểm cho phép người dùng cập nhật địa điểm trên bản đồ vào cơ

sở dữ liệu nằm trong thiết bị di động

1.3 Giới hạn đề tài:

Đề tài xây dựng ứng dụng với các chức năng cơ bản đủ đáp ứng nhu cầu thực tế của người dùng như sau:

- Định vị thiết bị

Trang 14

- Tìm kiếm địa điểm

- Quản l địa điểm

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

- Nghiên cứu các tài liệu tham khảo và công trình liên quan

- Nghiên cứu theo hướng dẫn của giảng viên hướng dẫn

- Nghiên cứu theo hướng giải quyết vấn đề làm sao thực hiện thành công đề tài

và hoàn thành đúng hạn tất cả yêu cầu của giảng viên hướng dẫn đưa ra

- Tìm cách khắc phục những khó khăn trong quá trình thực hiện đề tài

- Tham khảo kiến đóng góp từ mọi người xung quanh

1.5 Cấu trúc luận văn:

- Chương 1: Trình bày ngắn gọn giới thiệu, nội dung, giới hạn và phương

pháp nghiên cứu của đề tài

- Chương 2: Trình bày cơ sở l thuyết nghiên cứu để hiện thực ứng dụng: hệ

điều hành android, SQLite và Google Web Service…

- Chương 3: Trình bày nội dung phân t ch và thiết kế hệ thống của ứng dụng

- Chương 4: Trình bày quá trình hiện thực hệ thống của ứng dụng: thao tác

bản đồ và xây dựng các chức năng hệ thống như thế nào và kết quả hiện thực

- Chương 5: Trình bày kết quả đạt được của đề tài, ưu khuyết điểm và hướng

phát triển tưởng lai của ứng dụng

Trang 15

CHƯƠNG 2: NỀN TẢNG CÔNG NGHỆ

2.1 Android:

2.1.1 Giới thiệu:

Android là hệ điều hành dành cho thiết bị di động, được phát triển bởi Google

và ngày càng trở nên phổ biến với các hãng điện thoại

Android được xây dựng trên nhân Linux và được phân phối miễn ph Mọi ứng dụng Android đều được viết trên cùng một tập API, thế nên không có sự phân biệt giữa các ứng dụng mặc định và các ứng dụng của bên thứ ba Người dùng hoàn toàn có thể thay thế mọi ứng dụng mặc định bằng các ứng dụng yêu th ch của mình, thậm ch ngay

cả màn hình thực hiện cuộc gọi và màn hình nhà (home screen)

Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đ nh tạo nên một chuẩn mở cho điện thoại di động trong tương lai

Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache

Hình 1.1: Giao diện màn hình khóa và màn hình chính của Android

Trang 16

2.1.2 Ưu điểm và khuyết điểm:

a Ưu điểm:

 Hệ điều hành mở:

Điều làm cho Android được chú nhất ch nh vì nó là mã nguồn mở Android đã thu hút nhiều nhà phát triển và lập trình viên từ tất cả các tầng lớp xã hội khi Goole phân phối miễn ph Android và các đoạn mã có bản quyền khác cho bất cứ ai muốn tham gia phát triển phần mềm cho Goole Vì thế, chỉ trong một thời gian ngắn, các lập trình viên cũng như nhà phát triển có thể nhanh chóng đưa ra phiên bản Android được tùy chỉnh của riêng mình

 Đa nhiệm:

Ngay từ phiên bản Android 1.0 đã có thể chạy nhiều ứng dụng cùng lúc (các ứng dụng hệ thống hoặc các ứng dụng từ Android Marketplace) Người dùng Android được hưởng lợi rất nhiều từ sự khác biệt này, vì họ có thể nhận được thông báo, nghe nhạc, hoặc thậm ch ghi dữ liệu GPS mà không cần giữ cho ứng dụng luôn mở

 Hiển thị thông tin trên màn hình:

Một trong những t nh năng ch nh của Android là có màn hình hiển thị tùy biến, đặt các widget ngay trước ngón tay người dùng, chúng luôn hoạt động và luôn được nhìn thấy mà không cần phải khởi động ứng dụng trước Có nhiều widget cho mọi ứng dụng trong Android Market, từ nghe nhạc cho đến xem thông tin và cập nhật Facebook Với Android, tất cả các thông tin đều được hiển thị trực tiếp trên màn hình

ch nh của người dùng, không bao giờ cần nhiều hơn một cú chạm ngón tay

 Ứng dụng phong phú:

Play Store đã có hơn 430 ngàn ứng dụng t nh đến tháng 04-2012 nhưng con số này vẫn tiếp tục tăng trưởng nhanh chóng Android còn có một lợi thế là “chợ ứng dụng” hoàn toàn mở Ứng dụng hoàn toàn miễn ph chiếm 72% Play Store được định hướng hoàn toàn bởi người tiêu dùng, do đó, ứng dụng tốt nhất là ứng dụng đạt được thành công, không phải là ứng dụng đầu tiên tiếp cận thị trường

Trang 17

 Hệ thống thông báo:

Android có một thanh thông báo tiện dụng, hiển thị một biểu tượng cho mỗi thông báo Thanh thông báo cũng có thể được kéo xuống để xem các thông báo chi tiết hơn Android cho phép nhà phát triển ứng dụng làm cho các thông báo có thể xem được chi tiết từ màn hình đã bị khóa

 Đa dạng phần cứng:

Về phần cứng, Android hiện đang là hệ điều hành xuất hiện trên nhiều thiết bị nhất Các nhà sản xuất như Sony, Samsung, HTC, Motorola, Acer… cung cấp cho người dùng sự đa dạng về mẫu mã sản phẩm để lựa chọn

Android là một hệ điều hành mở, các nhà sản xuất có quyền tự do sử dụng nó với bất kỳ phần cứng nào họ muốn, v dụ như Nexus One (với màn hình hiển thị 3,7 inch, 480×800 pixel, RAM 512MB, vi xử l 1GHz Snapdragon) hoặc Motorola Droid trang bị bàn ph m cơ Rõ ràng, sự lựa chọn phần cứng sẽ khác nhau tùy theo nhà cung cấp service

 Tùy biến Rom:

Android có một cộng đồng xây dựng các ROM tùy biến cho các thiết bị chạy Android Custom ROM không chỉ có t nh năng tương tự như Jailbreaking mà còn mang lại một mức độ tuỳ biến cao hơn Có những ROM có thể chuyển UI từ thiết bị này sang thiết bị khác Cũng có các ROM với nhiều t nh năng lớn và được tối ưu hóa cho tốc độ

b Khuyết điểm:

 Thời lượng pin thấp:

Hầu hết các thiết bị Android đều có thời lượng pin thấp và đây là một trong những vấn đề quan trọng mà Google và các nhà sản xuất thiết bị Android đang chú trọng giải quyết Một chiếc smartphone Android điển hình có thời lượng sử dụng với tần suất bình thường trong chỉ một ngày, trong khi các loại điện thoại khác vẫn có thể hoạt động thêm dù được sử dụng với tần suất cao trong ngày

Trang 18

 Nhiều ứng dụng không hữu ích:

Play Store có một mảng các ứng dụng miễn ph rộng lớn để tải về, tuy nhiên vì Google không kiểm duyệt khi ứng dụng được đăng tải lên nên vẫn có tình trạng tồn tại nhiều ứng dụng không hữu ch, cả kể các ứng dụng nguy hiểm có thể lấy cắp thông tin người dùng Vì thế, người dùng sẽ phải lướt qua nhiều ứng dụng kém chất lượng trước khi tìm ra một ứng dụng tốt để đáp ứng tiêu chuẩn của mình

Hình 1.2: Nhân Linux trên Android

Android sử dụng nhân Linux làm nhân cho các service hệ thống như bảo mật, quản l bộ nhớ, quản l tiến trình (xử l tiến trình, đa luồng), ngăn xếp mạng và trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không đây…) Nhân Linux này cũng có vai trò như một lớp trừu tượng giữa phần cứng và phần mềm

Trang 19

2.1.5 Thư viện và giao diện lập trình ứng dụng:

Android có một thư viện khá phong phú cung cấp sẵn để người lập trình có thể

sử dụng Hình sau là sơ đồ tóm tắt về hệ thống thư viện này:

Hình 1.3: Thư viện lâp trình ứng dụng trên Android

Android có một tập các thư viện nòng cốt để cung cấp hầu hết các chức năng sẵn có trong thư viện cốt lõi của ngôn ngữ lập trình Java Android Runtime: Bao gồm máy ảo Dalvik và các thư viện Android

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ạy đượ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

Bộ thư viện: Android cung cấp các gói API để phát triển ứng dụng Danh sách

các gói core API dưới đây giúp cho bạn có cái nhìn tổng quát về những gì được hỗ trợ sẵn, tất cả các thiết bị chạy Android đều phải hỗ trợ được tối thiểu các API này

android.util: Gói api lõi, chứa các class cấp thấp như containers, string

formatters, XML parsing

android.os: Truy cập tới các chức năng của hệ điều hành chẳng hạn như:

gửi nhận tin nhắn, giao tiếp nội bộ giữa các ứng dụng, thời gian,…

android.graphics: Cung cấp các lớp liên quan tới xử l đồ họa ở mức

thấp Hỗ trợ các hàm cơ bản như vẽ điểm, vẽ miền, tô màu,… trên một khung canvas

Trang 20

android.texT: Cung cấp các hàm phân tích và xử lý chuỗi

android.databasE: Cung cấp các lớp cấp thấp cần thiết để làm việc với

databases

android.content: Dùng để quản lý các tài nguyên, các nội dung, và các

gói

android.view: Views là lớp cha của mọi lớp giao diện người dùng

android.widget: Được kế thừa từ lớp View, bao gồm các lớp để cơ bản để

xây dựng giao diện widget như: lists, buttons, layouts

android.maps: Gói API cấp cao, dùng để truy cập đến các chức năng của

GoogleMap

android.app: Gói API cấp cao, bao gồm lớp Activity và Service - hai lớp

cơ sở cho mọi ứng dụng Android

android.telephony: Cung cấp cho bạn khả năng tương tác trực tiếp với các

chức năng cơ bản của một chiếc điện thoại như nghe, gọi, tin nhắn

android.webkit: Cung cấp một WebView control trên nền webkit để có

thể nhúng vào ứng dụng, cùng với các api điều khiển cơ bản như stop, refresh, cookie manager,…

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

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

OpenGLES 1.0 API

FreeType: Hỗ trợ xử l bitmap và font vector

GGL: Thư viện cơ bản, dùng để cung cấp các engine đồ họa 2D

Libc: Thư viện C chuẩn, được tối ưu cho các thiết bị Linux-based

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 21

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, android.media, android.opengl, android.hardware, android.bluetooth, android.net.wifi và android.telephony

2.1.6 Khung ứng dụng Android:

Hình 1.4: Khung ứng dụng

Ý tưởng của Android đó là khuyến kh ch việc tái sử dụng lại các thành phần đã

có, cho phép ứng dụng của bạn có thể chia sẻ Activity, Service, Dữ liệu với các ứng dụng khác trong giới hạn truy cập do bạn đặt ra

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 service sau là những service 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á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

Trang 22

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

Các thành phần này không nhất thiết phải có mặt đầy đủ trong ứng dụng Chúng

ta có thể xem các thành phần nào được sử dụng trong ứng dụng bằng việc xem khai

báo trong file AndroidManifest.xml

2.1.8 Activity:

a Khái niệm:

Một hoạt động là một giao diện người dùng trực quan mà người dùng có thể thực hiện trên đó mỗi khi được k ch hoạt Một ứng dụng có thể có nhiều hoạt động và chúng có thể gọi đến nhau chuyển giữa các hoạt động với nhau Mỗi activity là một dẫn xuất của lớp android.app.Activity

Mỗi hoạt động có một cửa sổ để vẽ lên Thông thường cửa sổ này phủ đầy màn hình, ngoài ra nó cũng có thể có thêm các cửa sổ con khác như là hộp thoại…Nội dung của cửa sổ của hoạt động được cung cấp bởi một hệ thống cấp bậc các View (là đối tượng của lớp Views)

b Vòng đời của hoạt động:

Các hoạt động trong hệ thống được quản l bởi một cấu trúc dữ liệu ngăn xếp Khi có một hoạt động được khởi tạo, nó được đẩy vào trong ngăn xếp, chuyển sang trạng thái thực thi và hoạt trộng trước đó sẽ chuyển sang trạng thái chờ Hoạt động này chỉ trở lại trang thái k ch hoạt khi mà hoạt động vừa khởi tạo kết thúc việc thực thi

Trang 23

Stopped Khi một activity hoàn toàn bị che khuất, 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ớ

Biểu đồ sau mô tả trạng thái trong vòng đời của một hoạt động Hình chữ nhật viên còn thể hiện các phương thức Callback mà chúng ta có thể khai báo để gọi thực thi một số thao tác khi hoạt động chuyển sang trạng thái khác (phương thức Callback là phương thức được gọi lại bởi một phương thức khác khi có một sự kiện xảy ra) Các trạng thái ch nh của một hoạt động được thể hiện bởi các hình viên thuốc

Trang 24

Hình 1.5: Vòng đời của một activity

Trang 25

2.1.9 Service:

a Khái niệm:

Một service (service) là các đoạn mã được thực thi ngầm bởi hệ thống mà người

sử dụng không thấy đượ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

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

Vòng đời của một service được hiểu là quá trình hoạt động từ khi nó được tạo ra cho tới khi bị loại khỏi hệ thống Có hai cách thức để một service có thể được chạy trong hệ thống:

Hình 1.6: Sơ đồ chuyển trạng thái của service

Trang 26

2.1.10 Broadcast receivers:

Broadcast receivers nhận và phản hồi lại các thông báo Nhiều thong báo có

nguồn gốc từ mã hệ thống, v dụ thông báo thay đổi múi giờ, pin yếu, ảnh đã chụp hay thay đổi ngôn ngữ Các ứng dụng có thể khởi động thông báo, v dụ để các ứng dụng khác biết rằng dữ liệu đã được tải về xong trên thiết bị và sẵn sàng sử dụng

Một ứng dụng có thể có bất kỳ số lượng bộ nhận quảng bá nào để nhận những thông báo quan trọng với nó Tất cả các bộ nhận quảng bá được kế thừa từ lớp BroadcastReceiver

Broadcast receivers không có giao diện Tuy nhiên, chúng có thể khởi động

một hoạt động để đáp lại thông tin mà nó nhận được, hay chúng có thể sử dụng

NotificationManager để thông báo người dùng biết Các thông báo có thể được sự chú

của người dùng theo các cách các nhau như là sáng màn hình, rung thiết bị, bật âm thanh nào đấy… Thông thường, chúng đặt thông báo trên thanh trạng thái, nơi người dùng có thể nhận được thông báo

2.2 SQLite:

SQLite là một dạng cơ sở dữ liệu tương tự như Mysql, PostgreSQL,…Đặc điểm của SQLite là gọn nhẹ, đơn giản Chương trình gồm một tập tin duy nhất, không cần cài đặt, không cần cấu hình hay khởi động mà có thể sử dụng ngay Dữ liệu database cũng được lưu ở một File duy nhất Không có khái niệm user, password hay quyền hạn trong SQLite Database

SQLite không th ch hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thì SQLite phát huy uy lực và không hề yếu kém về mặt chức năng hay tốc độ Với các đặc điểm trên SQLite được sử dụng nhiều trong các việc phát triển, thử nghiệm, Hiện nay SQLite đang được ứng dụng vào smartphone như iphone và Android để lưu trữ dữ liệu

Trang 27

2.2.1 Tạo cơ sở dữ liệu:

Thêm 1 Class DBAdapter để xử l tất cả các thao tác liên quan đến cơ sở dữ liệu

public staticfinal String KEY_ID = "_id";

public staticfinal String KEY_NAME = "name";

+ "name text not null);";

private staticfinal String DATABASE_NAME = "Database_Demo";

private staticfinal String DATABASE_TABLE = "users";

private staticfinal int DATABASE_VERSION = 2;

privatefinal Context mContext;

Tạo một lớp bên trong DBAdapter được extend từ lớp SQLiteHelper, Overriede

2 phương thức onCreate() và onUpgrade() để quản l việc tạo cơ sở dữ liệu và version của cơ sở dữ liệu đó

private static classDatabaseHelper extendsSQLiteOpenHelper{

publicDatabaseHelper(Context context, String name,

CursorFactory factory, int version) {

super(context, name, factory, version);

// TODO Auto-generated constructor stub

}

@Override

publicvoid onCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

db.execSQL(DATABASE_CREATE);

}

@Override

publicvoid onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub

Log.i(TAG, "Upgrading DB");

db.execSQL("DROP TABLE IF EXISTS users");

Trang 28

2.2.3 Thêm giá trị và cơ sở dữ liệu:

publiclong createUser(String name)

2.3 Google Maps API và Google Web Service:

2.3.1 Google APIs Add-On:

Google APIs Add-On là một thành phần mở rộng của môi trường phát triển Android SDK, giúp người lập trình phát triển ứng dụng cho các thiết bị Google APIs

Trang 29

Add On bao gồm các chương trình, thư viện và service tùy chỉnh của Google Đặc điểm ch nh của Add on này là Maps external library, cho phép người lập trình có thể thêm khả năng vẽ bản đồ mạnh mẽ vào chương trình Android

Add-On cung cấp Android system image tương th ch có thể chạy trên chương trình giả lập Android Emulator, giúp người lập trình debug, profile và kiểm thử chương trình trước khi phát hành cho người dùng System image bao gồm Maps library và những thành phần hệ thống tùy chỉnh cần thiết, để có thể truy cập vào các service của Google (như Android C2DM) Add-On này không bao gồm bất kỳ chương trình tùy chỉnh nào của Google Khi đã sẵn sàng phát hành chương trình, người lập trình có thể triển khai trên các thiết bị chạy trên phiên bản nền Android th ch hợp và cũng bao gồm những thành phần, thư viện và service tùy chỉnh của google

Các thành phần của Google APIs Add-On:

 Maps external library

 USB Open Accessory library (chỉ dành cho API cấp 10 và 12+)

 Android system image (cùng với Maps library và những thành phần hệ thống tùy chỉnh được xây dựng bên trong)

 Map Demo, chương trình Android đơn giản

 Tài liệu dành cho Maps library

2.3.2 Maps external library:

Google APIs Add-On đã bao gồm Maps external library (gói com.google.android.maps), giúp người lập trình dễ dàng thêm khả năng vẽ bản đồ mạnh mẽ vào chương trình Các lớp của Maps library đề xuất tải built-in, dựng hình và caching các ô bản đồ, cũng như một loạt các tùy chọn và điều khiển

Lớp ch nh trong Maps library là MapView, lớp con của ViewGroup nằm trong Android standard library MapView biểu diễn bản đồ với dữ liệu thu được từ service Google Maps Khi MapView chạy, nó có thể bắt các sự kiện gõ từ và chạm điểm trên màn hình để tự động điều chỉnh bản đồ, bao gồm những yêu cầu xử l mạng cho bổ

Trang 30

sung các ô bản đồ Nó cũng cung cấp tất cả các yếu tổ giao diện người dùng cần thiết cho điều khiển bản đồ Chương trình có thể sử dụng những phương thức của lớp MapView để tự động điều khiển MapView vẽ lên một số địa điểm trên bản đồ

Nói chung, lớp MapView cung cấp một gói bao bọc xung quanh Google Maps API, cho phép chương trình thao tác dữ liệu Google Maps thông qua các phương thức trong lớp

Lớp MapView trong Maps external library rất hữu ch cho người lập trình t ch hợp Google Maps vào ứng dụng của mình Nó cung cấp việc tải bản đồ built-in, dựng hình, caching các ô bản đồ, cũng như một loạt các tùy chọn và điều khiển Nó cung cấp một gói bao bọc xung quanh Google Maps API, cho phép chương trình thao tác dữ liệu Google Maps thông qua các phương thức trong lớp

Vì MapView để người lập trình truy cập dữ liệu Google Maps, người lập trình cần phải đăng k service Google Maps và đồng các điều khoản service trước khi MapView được phép nhận dữ liệu từ Google Maps Việc đăng k này áp dụng khi người lập trình đang phát triển ứng dụng trên trình giả lập emulator hoặc chuẩn bị triển khai cho thiết bị di dộng

Map external library không phải là một thành phần của thư viện chuẩn Android, cho nên nó có thể không có sẵn ở một vài thiết bị Android Google APIs Add-On cung cấp Maps library để người lập trình có thể phát triển, xây dựng và điều khiển chương trình dựa trên bản đồ truy cập dữ liệu Google Maps

Để sử dụng các lớp của Maps external library trong chương trình, người lập trình cần phải:

 Tạo một project Android mới (hoặc cấu hình lại project) để cài đặt Google APIs Add-On

 Cài đặt cấu hình thiết bị ảo Android AVD để sử dụng Google APIs

Add-On

Trang 31

 Thêm các thư viện cần thiết vào tập tin manifest của chương trình để liên kết với Maps library

 Lấy Maps API key, giúp chương trình có thể biểu diễn dữ liệu từ service Google Maps

Đăng k chương trình hợp lệ, sử dụng certificate phù hợp với API key 2.3.3 Google Places API:

Google Places API là một phần của Google Map API Web Service Google Places API trả về thông tin của các địa điểm Các thông tin được xác định trong API này như: cơ sở hình thành, vị tr địa l , các địa điểm nổi bật được quan tâm,…Places API có 4 loại request cơ bản:

Place Searches: trả về danh sách các địa điểm dựa trên vị tr của người

dùng

Place Details requests: trả về những thông tin chi tiết của một địa điểm cụ

thể

Place Check-ins: cho phép người dùng thông báo đã check-in một địa điểm

Nó được dùng để đo mức độ phổ biến của địa điểm đó

Place Reports: cho phép người dùng thêm một địa điểm mới và xóa địa

điểm mà ứng dụng của người dùng đã thêm

Google Places API cũng hỗ trợ cho việc nghiên cứu, thu thập các dữ liệu về hoạt động như thu thập hiệu suất, số lượng, nhằm tăng cường thông tin về các địa điểm trong Places Service

2.3.4 Place Searches:

Để tìm kiếm, sử dụng request url như sau:

https://maps.googleapis.com/maps/api/place/search/output?parameters

Đầu ra có thể là một trong các giá trị sau:

Json: dữ liệu đầu ra dưới dạng file JavaScript Object Notation

Trang 32

Xml: dữ liệu đầu ra dưới dạng file xml

Các parameter cần thiết phải có:

Key: key API của ứng dụng để quản l hạn ngạch sử dụng cũng như các

địa điểm được thêm bởi ứng dụng của người dùng

Location: Khoảng kinh độ, vĩ độ để lấy thông tin địa điểm

Radius: Phạm vi tìm kiếm Nên đặt cùng với độ ch nh xác của bộ cảm

biến địa điểm

Sensor: Xác định là yêu cầu có phải được gửi từ thiết bị có cảm biến địa

điểm hay không Giá trị thiết đặt true hoặc false

Ngoài các parameter cơ bản trên còn có các parameter tùy chọn khác như: keyword, language, name, rankby, types

V dụ khi tìm ATM quanh bán k nh 600m tại khu du lịch Văn Thánh Kết quả json trả về:

"name" : "ATM Đông Á",

"reference" : ps3YjZghHyrNP2lnyjyc_Azb6H_gBnMGgHgWrO7hp-74LJi5xiFYu-

"CnRkAAAA95DaXCjmZAMp0mwEI0CRN85sk_ncvIZfQo4gtdzd2ym-5yeokfmDPyJd7W0BDr8aO1I4gXmEPEBTXTB4AmI0H6gUL6NWsdVBIQ9KnJxG8Ekh5tkPCKUfRk7RoUb0SupGHeN1Z54U98EfT6mN1zMus",

"types" : [ "atm", "finance", "establishment" ],

"vicinity" : "Điện Biên Phủ, phường 21, tp Hồ Ch Minh"

}

],

"status" : "OK"

Trang 33

}

Ý nghĩa các thuộc t nh:

Icon: chứa url tới icon mô tả về địa điểm

Id: một định danh duy nhất cho địa điểm Nó không giúp lấy thêm thông

tin mà giúp kiểm tra lại thông tin về địa điểm với những lần tìm kiếm riêng

rẽ

Geometry: thông tin vị tr địa l của địa điểm bao gồm lat và lng

Name: tên địa điểm

Reference: là token dùng để lấy thêm thông tin khác của địa điểm

Status: trạng thái trả về

2.3.5 Place Details Requests:

Dựa vào thuộc t nh reference ở phần search để lấy thông tin chi tiết hơn của địa điểm đó

Yêu cầu gửi đi có dạng:

Languague: ngôn ngữ sẽ đƣợc hiển thị

Reference: parameter định danh duy nhất ứng với địa điểm Là giá trị trả

về khi tìm kiếm

Trang 34

2.3.6 The Google Places Autocomplete API:

Google Places Autocomplete API là một phần của Google Places API , chia sẻ cùng API key và quota Do vậy mỗi request tới Google Places Autocomplete API được

t nh như một request tới Google Places

Google Places Autocomplete API trả về thông tin địa điểm dựa trên từ khóa tìm kiếm Nó thường được sử dụng để tạo chức năng gợi khi người dùng nhập chuỗi k

tự vào ô tìm kiếm

Place Autocomplete Request:

https://maps.googleapis.com/maps/api/place/autocomplete/output?parameters

Các parameter phải có:

Input: chuỗi k tự tìm kiếm, service sẽ trả về những gợi phù hợp

Sensor: Xác định là yêu cầu có phải được gửi từ thiết bị có cảm biến địa

điểm hay không Giá trị thiết đặt true hoặc false

Key: Place API Key

Các parameter tùy chọn khác: offset, location, radius, language, types

2.3.7 The Google Directions API:

Google Directions API là service có chức năng t nh toán, đưa ra hướng dẫn chỉ đường giữa 2 địa điểm thông qua http request API này sẽ xác định thông tin về điểm bắt đầu, điểm đến, điểm dừng dưới dạng chuỗi văn bản hoặc kinh vĩ độ Google Directions API có thể trả về đa phần chỉ dẫn sử dụng một loạt các điểm dừng

Quá trình thực hiện t nh toán chỉ dẫn đường đi đòi hỏi thời gian và sự làm việc chuyên sâu Vì vậy, bất cứ khi nào có thể, quá trình sẽ t nh toán trước thời gian thực hiện và có thể được lưu lại kết quả vào bộ nhớ cache tạm thời theo đồ thiết kế của người lập trình

Directions Request:

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

Trang 35

Giá trị đầu ra được trả về ở dạng file json hoặc xml Các parameter cần thiết phải có:

Origin: địa chỉ hoặc tọa độ của địa điểm bắt đầu để tìm đường đi Nếu

người dùng nhập vào một chuỗi, thì chuỗi này sẽ được Direction service mã hóa và chuyển thành giá trị vĩ độ, kinh độ để t nh toán tìm đường

Destination: tương tự ta có parameter địa điểm đến

Sensor: Xác định là yêu cầu có phải được gửi từ thiết bị có cảm biến địa

điểm hay không Giá trị thiết đặt true hoặc false

Ngoài ra còn có các parameter tùy chọn khác: mode, waypoints, alternatives, avoid, units, region

2.3.8 Geocoding API:

Geocoding API là service mã hóa, chuyển đổi địa chỉ ( như: “1600 Amphitheatre Parkway, Mountain View, CA”) vào tọa độ địa l ( như: “ vĩ độ 37.423021 và kinh độ -122.083739”), mà lập trình viên có thể sử dụng để đánh dấu tọa

độ hay địa điểm trên bản đồ Ngoài ra, service còn cho phép bạn thực hiện chuyển đổi

từ tọa độ vào địa chỉ, quá trình này được gọi là “Mã hóa địa l đảo ngược”

Geocoding Request:

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

Giá trị đầu ra có thể là json hoặc xml Các parameter cần thiết phải có:

Address: địa chỉ mà bạn muốn mã hóa

Hoặc:

Latlng: giá trị vĩ độ, kinh độ của địa điểm

Sensor: Xác định là yêu cầu có phải được gửi từ thiết bị có cảm biến địa

điểm hay không Giá trị thiết đặt true hoặc false

Ngoài ra còn có các parameter tùy chọn như: bounds , language, region

Trang 36

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ

3.1 Xác định yêu cầu hệ thống:

3.1.1 Tổng quan:

Ứng dụng có thể chạy trực tiếp trên thiết bị nền hệ điều hành Android

Yêu cầu thiết bị khi sử dụng ứng dụng phải được kết nối Internet

Ứng dụng có thể lấy thông tin dữ liệu từ dịch vụ Google Maps và biểu diễn lên bản đồ cho người dùng thao tác trên đó

Các chức năng năng ch nh của ứng dụng:

 Định vị thiết bị: Xác định vị tr của thiết bị đang sử dụng ứng dụng

 Tìm kiếm địa điểm: Tìm kiếm địa điểm bằng cách nhập từ khóa tìm kiếm

 Quản l địa điểm: Ứng dụng có cơ sở dữ liệu chứa thông tin một số địa danh của Thành phố Hồ Ch Minh và cho phép người dùng bổ sung, chỉnh sửa và xóa địa điểm cần thiết cho nhu cầu người dùng

 Tìm kiếm đường đi: Tìm đường đi từ thông tin điểm xuất phát và đ ch đến do người dùng cung cấp

 Xem vị tr các địa điểm trên bản đồ: Vẽ vị tr các điểm lân cận và từng loại địa điểm (cây xăng, Ngân hàng, ATM, bệnh viện, trường học, bến xe…)

có sẵn trong cơ sở dữ liệu trên bản đồ

Trang 37

3.1.2 Chức năng định vị:

Xác định được vị tr của thiết bị đang sử dụng ứng dụng với sai lệch chấp nhận được (sai lệch tối đa 100m)

Biểu diễn vị tr vừa định vị lên bản đồ và hiện thị thông tin địa chỉ

3.1.3 Chức năng Tìm kiếm địa điểm:

Sử dụng các API cần thiết để của Google đế lấy thông tin tìm kiếm

Người dùng có thể nhập từ khóa là địa danh hoặc địa chỉ xác định, ứng dụng sử dụng thông tin đó mà thực hiện tìm kiếm đưa ra danh sách kết quả cho người dùng lựa chọn

Phạm vi tìm kiếm không giới hạn Nhưng ứng dụng đòi hỏi người dùng phải cung cấp thông tin đầy đủ, rõ ràng và ch nh xác thì mới cho ra kết quả tìm kiếm hiệu quả

Biểu diễn vị tr vừa tìm được lên bản đồ và hiện thị thông tin địa chỉ

3.1.4 Chức năng Quản l địa điểm:

Sử dụng hệ cơ sở dữ liệu SQLite

Cung cấp sẵn cho người dùng một số địa danh đặc trưng (chợ Bến Thành, nhà thờ Đức Bà, Dinh Độc lập…) và các loại địa điểm cần thiết cho nhu cầu của người dùng (cây xăng, Ngân hàng, ATM, bệnh viện, trường học, bến xe…) trên phạm vi địa bàn Thành phố Hồ Ch Minh

Người dùng có thể thực hiện các thao tác bổ sung, chỉnh sửa và xóa các địa điểm

Khi người dùng bổ sung và chỉnh sửa một địa điểm có thể bằng hai cách: chọn trên bản đồ hoặc nhập thông tin cần thiết Ứng dụng phải tự tìm kiếm vị tr ch nh xác của địa điểm để thêm hoặc cập nhật vào cơ sở dữ liệu trong trường hợp người dùng nhập thông tin mà không chọn trên bản đồ

Người dùng có thể xem vị tr các loại địa điểm trên bản đồ

Trang 38

3.1.5 Chức năng Tìm đường đi:

Sử dụng API của Google để lấy thông tin cần thiết

Người dùng cung cấp thông tin điểm xuất phát và đ ch đến bằng các cách sau:

 Vị tr của thiết bị

 Chọn trên bản đồ

 Nhập thông tin cần thiết

 Chọn từ danh sách địa điểm trong hệ cơ sở dữ liệu

Ứng dụng phải tự tìm kiếm địa điểm cập nhật vị tr ch nh xác để tìm đường đi hiệu quả trong trường hợp người dùng nhập thông tin mà không chọn trên bản đồ hoặc

dữ liệu có sẵn

Ứng dụng tự động thể hiện ưu tiên đường đi ngắn nhất và ngoài ra cho phép người dùng lựa chọn nhiều tuyến đường nếu có

Vẽ đường đi trên bản đồ và hiển thị hướng dẫn chi tiết cho người dùng

3.1.6 Chức năng Xem vị trí các địa điểm:

Cho phép người dùng xem các địa điểm lân cận hoặc xem theo loại địa điểm (cây xăng, Ngân hàng, ATM, bệnh viện, trường học, bến xe…) có sẵn trong cơ sở dữ liệu trên bản đồ

Sử dụng vị tr của thiết bị có được từ chức năng định vị phục vụ cho mục đ ch xem các điểm lận cận

Trang 39

Mô tả tóm tắt Tên use-case: Định vị thiết bị

Mục đ ch: Cung cấp cho người dùng vị tr hiện hành của thiết bị đang sử dụng ứng dụng

Tác nhân: Người dùng

Dòng sự kiện ch nh Ứng dụng lấy tọa độ của thiết bị

Dòng sự kiện phụ Khi thiết bị thay đổi vị tr , ứng dụng cập nhật lại toạ độ vị

tr của thiết bị

Tiền điều kiện Người dùng k ch hoạt chức năng định vị

Tim kiem dia diem Dinh vi thiet bi

Quan ly dia diem

Tìm duong di

Xem dia diem

Su dung he thong Nguoi dung

Trang 40

Hậu điều kiện Khi ứng dụng xác định được vị tr của thiết bị sẽ vẽ địa

điểm trên bản đồ và hiển thị địa chỉ

Bảng 3.1: Đặc tả use case định vị thiết bị

Hình 3.2: Sơ đồ use-case xác định vị trí

b Use case tìm kiếm đường đi:

Đặc tả use-case Tìm kiếm địa điểm

Mô tả tóm tắt Tên use-case: Tìm kiếm địa điểm

Mục đ ch: Tìm kiếm địa điểm bằng cách nhập từ khóa tìm kiếm

Ứng dụng hiển thị danh sách địa điểm tìm được khớp với

từ khóa tìm kiếm

Người dùng chọn địa điểm mong muốn

Dinh vi thiet bi Nguoi dung

Ngày đăng: 30/10/2022, 20:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[11] www.vietandroid.com (truy cập gần nhất 17:00 ngày 18/03/2012) [12] www.tinhte.vn (truy cập gần nhất 08:00 ngày 06/05/2012) Sách, tạp chí
Tiêu đề: (truy cập gần nhất 17:00 ngày 18/03/2012)" [12] www.tinhte.vn
[1] Mark L.Murphy, 2009, Beginning Android 1 Khác
[2] Mark L.Murphy, 2010, Beginning Android 2 Khác
[3] Mark L.Murphy, 2011, Beginning Android 3 Khác
[4] Satya Komatineni and Sayed Y.Hashimi, 2009, Pro Android Khác
[5] Jeff Friesen, 2010, Learn Java for Android Development. Website, Forum Khác

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