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

Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM

108 1,1K 0
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

Tiêu đề Tìm hiểu về android và xây dựng phần mềm tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn TP HCM
Tác giả Nguyễn Thị Hoài Thương
Người hướng dẫn Phạm Thị Trà My
Trường học Cao Đẳng Công Nghệ Thông Tin TP.Hồ Chí Minh
Chuyên ngành Khoa Học Máy Tính
Thể loại Đề tài
Năm xuất bản 2013
Thành phố Hồ Chí Minh
Định dạng
Số trang 108
Dung lượng 3,88 MB

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

Nội dung

Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM

Trang 1

Lời Cảm Ơn



Sau gần hai tháng nỗ lực tìm hiểu và thực hiện, đề tài “Tìm Hiểu Về Android

Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM” đã được hoàn thành, ngoài sự cố gắng hết mình của bản

thân ,em còn nhận được nhiều sự động viên,khích lệ từ gia đình, thầy cô và bạn bè.Trước hết em xin chân thành cảm ơn cha mẹ, anh chị, là những người luôn

động viên và tạo mọi điều kiện tốt đề em hoàn thành đề tài “Tìm Hiểu Về Android

Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM”

Em xin chân thành cảm ơn các thầy cô của trường Cao Đẳng Công NghệThông Tin TP.Hồ Chí Minh đã truyền đạt nhiều kinh nghiệm và kiến thức quý báucho em trong suốt quá trình học tập Đặc biệt em xin tỏ lòng biết ơn sâu sắc tới côPhạm Thị Trà My và các thầy cô trong khoa công nghệ thông tin đã tận tình giúp đỡ

em trong suốt quá trình thực hiện đề tài “Tìm Hiểu Về Android Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM”

Xin cảm ơn tất cả các bạn bè đã và đang giúp đỡ động viên em trong quá trình

học tập và hoàn thành đề tài “Tìm Hiểu Về Android Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM”

Mặc dù đã cố gắng hết sức để hoàn thành đề tài “Tìm Hiểu Về Android Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM”, nhưng chắc chắn sẽ không tránh khỏi những sai sót.

Em rất mong nhận được sự thông cảm và đóng góp, chỉ bảo tận tình của quý thầy cô

và bạn bè

TP Hồ Chí Minh ,Tháng 6 Năm 2013

Sinh viên thực hiệnNguyễn Thị Hoài Thương

Trang 2

NHẬN XÉT CỦA CÔNG TY THỰC TẬP

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Trang 3

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

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Trang 4

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Trang 6

MỤC LỤC

Lời Cảm Ơn 1

Phát Biểu Bài Toán 7

1.1 Giới thiệu : 8

1.2 Lý do chọn đề tài : 8

1.3 Đối tượng và phạm vi của đề tài: 9

Cơ Sở Lý Thuyết 11

2.1 Sơ lượt về hệ điều hành Android: 12

2.1.1 Giới thiệu chung về hệ điều hành Android : 12

2.1.2 Kiến trúc về hệ điều hành Android : 14

2.2.3 Môi trường lập trình trên hệ điều hành Android 18

2.3.4 Các thành phần quan tâm khi lập trình trên HĐH Android : 23

2.3.5 Làm việc với Maps, Geocoding, Location Based Services : 28

2.3.6 Dùng MapView 34

2.3.7 Vẽ đường giữa 2 điểm: 40

Mô Hình Use-Case 43

3.2 Mô hình Use-case của chương trình : 44

3.2.1 Danh sách Actor 44

3.2.2 Danh sách Use-case: 45

3.2.3 Đặc tả Use-case: 45

3.2.3.1 Use-case TimKiemKhuDuLicTheoQuan: 45

3.2.3.2 Use-case TimDuongDiToiKhuDuLich: 46

3.2.3.3 Use-case XemChiTietKhuDuLich: 47

3.2.3.13 Use-case Thoat: 51

Trang 7

HỒ SƠ PHÂN TÍCH : 53

4.1 Sơ đồ lớp 54

4.2 Mô tả chỉ tiết các lớp đối tượng: 55

THIẾT KẾ DỮ LIỆU 59

5.1 Cấu trúc lưu trữ cơ sỡ dữ liệu : 59

5.2 Mô tả chi tiết : 59

THIẾT KẾ KIẾN TRÚC 63

6.1 Sơ đồ lớp Data Access Layer 64

6.2.Sơ đồ lớp Business Logic Layer: 64

THIẾT KẾ GIAO DIỆN 66

7.1 Danh sách màn hình 66

7.2 Mô tả chi tiết màn hình : 67

KẾT LUẬN ĐÁNH GIÁ 97

8.1 Kết luận 97

8.1.1 Ưu điểm 97

8.1.2 Hạn chế 98

8.2 Đánh giá 98

8.2.1 Những yêu cầu hệ thống đã làm 98

8.2.2 Những yêu cầu hệ thống chưa làm 98

8.3 Hướng phát triển 98

PHỤ LỤC 99

A.1 Giới thiệu chung 99

A.2 TÌM HIỂU VỀ GPS: 101

A.3 Ứng dụng GPS và A-GPS tại Việt Nam 103

TÀI LIỆU THAM KHẢO 105

Trang 8

1.1 Giới thiệu 1.2 Lý do chọn đề tài 1.3 Đối tượng và phạm vi đề tài

Trang 9

1.1 Giới thiệu :

Khi đến một thành phố hay 1 khu vực nào đó để du lịch thì việc muốn biết nơi

đó có khu du lịch nào phù hợp để đi là rất khó khăn Chẳng hạn như TP HCM cómột hệ thống các khu du lịch rất phát triển và cũng rất phức tạp đối với người mớiđến đây Trong khi đó điện thoại thông minh ngày càng trở nên phổ biến Vì vậychương trình “Hệ thống tra cứu và tìm kiếm khu du lịch” ra đời nhằm giúp chongười khách du lịch khi đến với TP HCM có thể tìm kiếm và tra cứu thông tin, chọnđược nơi du lịch hợp lí cho mình Đây là một ứng dụng cần thiết đối với người đi dulịch

Các phần mềm cùng loại hiện đang có:

 Hệ thống tìm kiếm khu du lịch trên Windows Mobie, ios, Android:

Du lịch Việt, Du lịch Việt Nam For Android , VietNam Travel,v v vvv

o Hệ thống Tin học được sử dụng:

 Eclipse

 MySql trên Web Php

o Ứng dụng chạy trên:

 Điện thoại chạy hệ điều hành Android 2.2 trở lên

 Có thể phát triển trên các điện thoại chạy hệ điều hành Windownphone 7, window mobie và IOS

1.2 Lý do chọn đề tài :

Hiện nay, việc tìm kiếm các thông tin, các chỉ dẫn bằng các thiết bị tìmkiếm,và thân thiện với người dùng như điện thoại, máy tính bảng, laptop đã trở nênrất phổ biển Chỉ cần thiết bị có kết nối internet và thiết bị hỗ trợ các công nghệ tiêntiến như 3G là người sử dụng có thể biết vị trí hiện tại của mình và tìm kiếm cácthông tin mong muốn Việc google đang ngày càng phát triển mạnh và quan tâm

Trang 10

đến lĩnh vực này nên đã cho ra đời hàng ngàn services nhằm giải quyết vấn đề này

và giúp lập trình viên thuận tiện khi phát triển ứng dụng của mình

Với lượng các khu du lịch ngày càng nhiều ở TP HCM, rất khó khăn để ngườikhách du lịch có thể biết được chính xác có khu du lịch nào và sơ lược nơi đó rồitìm đường đến đó, đặc biệt đối với những người mới tới để du lịch lần đầu … mà sốlượng người này là khá lớn hàng năm

Vấn đề đặt ra là cần có một phần mềm quản lý các khu du lịch, có thể giúpcho người khách lần đầu tới TP HCM không cần hiểu biết nhiều về các khu du lịchtrong thành phố cũng có thể dễ dàng tìm đường đến nơi mong muốn

Vì vậy em đã xây dựng phần mềm “Tìm Hiểu Về Android Và Xây Dựng Phần Mền Tìm Kiếm Khu Du Lịch Trên Hệ Điều Hành Android Trong Địa Bàn Tp.HCM” giúp người sử dụng có thể tìm kiếm các khu

du lịch một cách khá dễ dàng, với yêu cầu đơn giản là có một chiếc điện thoạiAndroid Việc cần làm của người sử dụng chỉ là nhập vào khu vực muốn tìm kiếmnhư là quận nào, điện thoại sẽ tự động xác định vị trí hiện tại của người dùng, sau

đó hệ thống tìm tất ca khu du lịch trong phạm vi mà người dùng muốn và tìm đường

đi ngắn nhất tới nơi mà người dùng muốn và đồng thời cũng giới thiệu tổng quan vềkhu du lịch đó

1.3 Đối tượng và phạm vi của đề tài:

 Đối tượng :

o Các loại điện thoại chạy trên hệ điều hành Andoird

o Các khu du lịch có trên địa bàn TP HCM

o Tất cả những người khách du lịch có du cầu muốn đi du lịch tại TPHCM

 Phạm vi nghiên cứu :

o Tất cả các khu du lịch có trên TP HCM

Trang 11

o Nghiên cứu các ngữ cảnh và các ứng dụng dựa trên ngữ cảnh củangười dùng.

o Nghiên cứu các dịch vụ định vị của Google (Google maps)

o Phát triển ứng dụng cơ bản trên android

o Đối tượng nghiên cứu cần phải quan tâm là cách thức hoạt động củanền tảng của hệ điều hành android

Trang 13

2.1 Sơ lượt về hệ điều hành android 2.1.1 Giới thiệu chung

2.1.2 Kiến trúc về hệ điều hành android 2.1.2.1 Đặc điểm chung

2.1.2.2 Tầng hat nhân Linux 2.1.2.3 Tầng library và android runtime 2.1.2.4 Tầng Application Frameword 2.1.2.5 Tầng Application

2.2.3 Môi trường lập trình trên Android 2.2.3.1 Giới thiệu

2.2.3.2 Android SDK 2.2.3.3 Máy ảo Dalvik 2.2.3.4 Các gói java cần thiết 2.2.3.5 Các thành phần chính của eclip 2.2.3.6 Thành phần của project android 2.2.3.7 Chu kỳ sống của ứng dụng 2.3.4 Các thành phần được quan tâm 2.3.4.1 Giới thiệu Intent

2.3.4.2 Giới thiệu Adapter 2.3.4.3 Lưu trữ dữ liệu trong android 2.3.5 Làm việc với map, location, geopoint 2.3.5.1 Sử dụng GPS

2.3.5.2 Kiểm tra vị trí trên emulator 2.3.5.3 Sử dụng geocoder

2.3.5.4 Reverse geocoding 2.3.5.5 Forward geocoding 2.3.6 Dùng Mapview

2.3.7 Vẽ đường giữa 2 điểm

Trang 14

2.1 Sơ lượt về hệ điều hành Android:

2.1.1 Giới thiệu chung về hệ điều hành Android :

Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6dành cho các dòng điện thoại SmartPhone Đầu tiên được ra đời bởi công ty liênhợp Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành

một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao

trên thế giới

Hệ điều hành android một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗtrợ được nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi tương thích vớinhiều phần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch vàtrackball Android là hệ điều hành di động nên có khả năng kết nối cao với cácmạng không dây Hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương tiệnmedia, hoạt hình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề đểphát triển các ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi

Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lầnandroid được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêmcông nghệ mới Chẳng hạn như theo một đánh giá thì android phiên bản 2.2 hoạtđộng nhanh hơn bản 2.1 tới 450% Hiện nay, phiên bản mới nhất 2.3 phát hànhngày 6/12/2010 và đang tiếp tục được cập nhật

Năm 2008, hệ điều hành android đã chính thức mở toàn bộ mã nguồn, điều

đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại saocho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điềuhành mở này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiết kiệm khá lớnchi phí phát triển hệ điều hành Những điều đó là cực kỳ tốt không chỉ đối với cáchãng sản xuất điện thoại nhỏ mà ngay cả với những hãng lớn như Samsung, HTC

Trang 15

Với Google, vì android hoàn toàn miễn phí, Google không thu tiền từ nhữnghãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ android nhưng bù lại,những dịch vụ của hãng như Google Search, Google Maps, nhờ có android mà cóthể dễ dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại đượcsản xuất ra đều được tích hợp hàng loạt dịch vụ của Google.

Từ đó hãng có thể kiếm bội, chủ yếu là từ các nguồn quảng cáo trên các dịch

vụ đó Với các nhà phát triển ứng dụng (developers), việc hệ điều hành androidđược sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụngtrên nền android với sự tin tưởng là ứng dụng đó sẻ có thể chạy được ngay trênnhiều dòng điện thoại của các hãng khác nhau Họ ít phải quan tâm là đang pháttriển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng android là chung chonhiều dòng máy, máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợpvới mỗi dòng điện thoại mà nó đang chạy Tất cả các chương trình ứng dụng đượcviết bằng ngôn ngữ Java kết hợp với XML nên có khả năng khả chuyển cao

Trang 16

2.1.2 Kiến trúc về hệ điều hành Android :

2.1.2.1 Đặc điểm chung :

Hệ điều hành android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux(Phiên bản 2.6), tầng Tầng Libraries & Android runtime , Tầng ApplicationFramework và trên cùng là tầng Application

Trang 17

Hình 2 1 Kiến trúc hệ điều hành Android

2.1.2.2 Tầng hạt nhân Linux (Linux Kernel layer)

Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạtnhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọihoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp

Trang 18

ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng(driver model), thực hiện bảo mật (security), quản lý tiến trình (process).

Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận

những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng )

Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từ

camera trả về

Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.

USB driver : Quản lý hoạt động của các cổng giao tiếp USB.

Keypad driver : Điều khiển bàn phím.

Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.

Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu

dạng audio thành tín hiệu số và ngược lại

Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng

vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thôngđược thực hiện

M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD,

flash

Power Madagement : Giám sát việc tiêu thụ điện năng.

2.1.2.3 Tầng Library và android runtime :

Phần này có 2 thành phần là phần Library và Android Runtime :

Trang 19

Phần Libraries Phần này có nhiều thư viện được viết bằng C/C++ để các

phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như

- Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn C, được

sử dụng chỉ bởi hệ điều hành

- Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát

và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng

- Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên

web, được sử dụng để xây dựng phần mềm duyệt web(Android Browser) cũng như

để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều côngnghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX

- Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng Phần Android runtime : Phần này chứa các thư viện mà một chương trình

viết bằng ngôn ngữ Java có thể hoạt động Phần này có 2 bộ phận tương tự như môhình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Library) ,chứa các lớp như JAVA IO,Collections, File Access Thứ hai là một máy ảo java(Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứngdụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay làOracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển

2.1.2.4 Tầng Application Framework :

Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên

có thể nhanh chóng xây dựng ứng dụng Nó được viết bằng Java, có khả năng sửdụng chung để tiết kiệm tài nguyên

Giới thiệu một số thành phần của phần này :

 Activity Manager : Quản lý các chu kỳ sống của một ứng dụng

cũng như cung cấp công cụ điều khiển các Activity

Trang 20

 Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc

như gọi điện thoại

 XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực

 Location Manager : Cho phép xác định vị trí của điện thoại thoại

dựa vào hệ thống định vị toàn cầu GPS và Google Maps

 Window Manager : Quản lý việc xây dựng và hiển thị các giao

diện người dùng cũng như tổ chức quản lý các giao diện giữa cácứng dụng

 Notication Manager : Quản lý việc hiển thị các thông báo (như báo

có tin nhắn, có e-mail mới )

 Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao

gồm các file hình ảnh, âm thanh, layout, string (Những thành phầnkhông được viết bởi ngôn ngữ lập trình)

2.1.2.5 Tầng Application :

Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như :Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọiđiện(phone), quản lý danh bạ(Contacts), duyệt web (Browser), nhắn tin (SMS), lịchlàm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh(camera)

Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), cáctrò chơi (Game), từ điển

Các chương trình có các đặc điểm là :

Viết bằng Java, phần mở rộng là apk

Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program : Chương trình cógiao diện với người sử dụng hoặc là một background : chương trình chạy nền hay làdịch vụ

Trang 21

Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụngthì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó có tácdụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn.

Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạnkhi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành diđộng khác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền.Các ứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dung quá5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU

Ứng dụng không có điểm vào cố định, không có phương thức main để bắtđầu

2.2.3 Môi trường lập trình trên hệ điều hành Android

2.2.3.1 Giới thiệu :

Trong phần này sẽ giới thiệu các công cụ lập trình cho Android (AndroidDevelopment Tools) Chúng ta sẽ dần làm quen với Eclipse và Android DevelopmentTool plug-in, thông qua Android SDK và công cụ của nó, chạy một ứng dụng Androidtrên Emulator(tạm dịch là trình giả lập giao diện của Android trên PC) Với những kĩnăng đó trong tay, chúng ta sẽ tìm hiểu các gói Java packages được cung cấp trongSDK giúp nâng cao khả năng lập trình trên Android

Trang 22

Hình 2 Error: Reference source not found Android SDK

2.2.3.2 ANDROID SDK:

Android SDK, viết tắt của Android Software Development Kit, có thể gọi là

“công cụ phát triển phần mềm” mà cụ thể ở đây là phát triển ứng dụng cho Android

OS Đến đây thì chắc các chúng ta cũng đã hiểu đơn giản Google Adroid SDK là bộcông cụ được chính Google xây dựng và phát hành miễn phí đến giới Developer để

họ dễ dàng xây dựng và phát triển các ứng dụng chạy được trên Android OS

Android SDK có các đặc tính sau:

Được phát triển và cung cấp miễn phí

Trang 23

 Truy cập đến phần cứng Wi-Fi

 GSM, EDGE và tính năng mạng 3G cho phép việc chuyển dữ liệu, gọi điệnhay gửi tin SMS trong mạng di động

 Gói API toàn diện cho các dịch vụ nền tảng ví dụ như GPS

 Truy cập toàn bộ phần cứng điều khiển đa phương tiện như chơi nhạc, ghi

âm hay sử dụng microphone và camera

 Chia sẻ dữ liệu trong kho dữ liệu

 Tích hợp trình duyệt dựa trên bộ WebKit (mã nguồn mở)

 P2P hổ trợ sử dung Google Talk

 Hỗ trợ tốt đồ họa 3D nhờ sử dụng OpenGL ES

Android SDK cần phải được cài đặt để xây dựng các ứng dụng Android.Android SDK bao gồm tài liệu tích hợp HTML_base lõi chính của Javadoc để thểhiện các gói và lớp trong Java

2.2.3.3 Máy ảo Dalvik :

Một trong những thành phần quan trọng của Android là máy ảo Dalvik Thay

vì sử dụng máy ảo Java như trước kia Android sử dùng máy ảo của riêng nó đượcthiết kế để bảo đảm rằng đa ứng dụng có thể chạy mượt mà trên một thiết bị di động

Máy ảo Dalvik sử dụng lõi Linux để xử lý các chức năng ở mức thấp baogồm bảo mật, các tiến trình, các luồng và quản lý vùng nhớ Nó cũng có thể viếtbằng ứng dụng C/C++ để chạy trực tiếp lên lõi Linux bên dưới Giữa phần cứng vàcác dịch vụ hệ thống được quản lý bởi máy ảo Dalvik, nó là một thành phần ở giữa.Bằng cách sử dụng máy ảo này để chạy ứng dụng, các nhà phát triển hoàn toànkhông phải bận tâm gì về các phần cứng bên dưới Khi máy ảo này chạy nó sẽ tạo ratập tin có đuôi là dex, tập tin này được SDK tạo ra bởi sự chuyển đổi từ các lớpbiên dịch ngôn ngữ Java

2.2.3.4 Các gói Java cần thiết :

 java.lang —gói chứa các lớp lõi của Java

 java.io —xuất nhập

Trang 24

 javax.security —Security-related classes

 javax.xml —các lớp liên quan đến DOM-based XML

 org.apache.* — các lớp liên quan đến HTTP-related

 org.xml —các lớp liên quan đến SAX-based XML

Các gói dùng cho lập trình Android:

 Android.app—Android application model access

 Android.content—truy xuất dữ liệu trong Android

 Android.net—bao gồm Uri class dùng cho việc truy xuất các nội dungkhác

 Android.graphics—đồ họa

 Android.opengl—các lớp OpenGL

 Android.os—truy cập ở mức độ hệ thông đến môi trường Android

 Android.telephony—khả năng truy cập Telephony

 Android.text—Text layout

 Android.util—tập các tiện thao tác trên văn bản,bao gồm XML

 Android.view—thành phần UI (giao diện người dùng)

 Android.webkit—Browser functionality

 Android.widget—thành phần UI mức độ cao hơn

Trong đó các gói gần như là lõi của mọi ứng dụng trên Android đó làAndroid.app, Android.view và Android.content

2.2.3.5 Thành phần chính của Eclipse khi tạo ứng dụng trên Android :

 Môi trường phát triển Rich Java bao gồm trình biên dịch, classautocompletion, và tích hợp Javadoc

Trang 25

 Bẫy lỗi code

 Quản lý và chạy Android Emulator profile

 The Dalvik Debug Monitoring Service (DDMS)

 Khung nhìn các tiến trình (Thread and heap views)

 Quản lý Hệ thống tập tin giao diện (Emulator filesystem management)

 Điều khiển dữ liệu và hội thoại (Data and voice network control)

 Điều khiển giao diện (Emulator control)

 Ghi lỗi hệ thống và ứng dụng (System and application logging)

2.2.3.6 Thành phần của một project Android :

 Activity (Android.app.Activity): đây là lớp khởi tạo giao diện ứngdụng nội bộ trên Android tương tư như MIDlet trong J2ME

 Service (Android.app.Service): cung cấp các dịch vụ liên quan đếnclient/service Một Service sẽ chạy ngầm bên dưới, sau đó các client(Activity) sẽ kết nối và truy xuất các hàm trên dịch thông qua Interfaceclass

 Broadcast receiver (Android.content.BroadcastReceiver): đây là mộtứng dụng chạy ngầm dùng để đọc và cập nhật thông tin trên UI, ví dụnhư cập nhật sự thay đỗi giờ, pin

 Content Provider: cung cấp chức năng truy vấn dữ liệu giữa các ứngdụng của Android

 Intent: nền tảng để truyền tải các thông báo Intent được sử dụng đểgửi các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiệncông việc mà chúng ta mong muốn

2.2.3.7 Chu kì sống của ứng dụng Android :

Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụngkhi codes cần được xây dựng, khởi chạy và sẽ còn chạy cho đến khi:

 Nó không phụ thuộc

 Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác

Trang 26

Một sự khác thường và đặc tính cơ bản của Android là thời gian sống của tiến trìnhứng dụng không được điều khiển trực tiếp bởi chính nó Thay vào đó, nó được xácđịnh bởi hệ thống qua một kết hợp của:

 Những phần của ứng dụng mà hệ thống biết đang chạy

 Những phần đó quan trọng như thế nào đối với người dùng

 Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống

2.3.4 Các thành phần quan tâm khi lập trình trên HĐH Android :

2.3.4.1 : Giới thiệu Intent :

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

Hình 2 2 Mô hình hoạt động của Intent Object

Các thành phần của Intent :

Thực ra Intent là một cấu trúc dữ liệu được mô tả trong Android.content.Intent

Trang 27

Hình 2 3 Các thành phần của Intent

Các Action định nghĩa sẵn:

Trang 28

Hình 2 4 Các Action đã định nghĩa

Tự định nghĩa action:

Về nguyên tắc chúng ta có thể đặt tên action của một intent là bất cứ thứ gìtheo chuẩn đặt tên thông thường, hay thậm chí dùng luôn hằng action đã định nghĩasẵn như ACTION_VIEW (hay “Android.intent.action.VIEW”) Cái tên VIEW thựcchất chỉ là một tên gợi tả, chúng ta có thể dùng nó với mục đích thực hiện mộtactivity để … gửi mail! Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn” Thay vào đó tahãy dùng ACTION_SEND hay ACTION_SENDTO

Việc đặt tên action cho intent đúng tên gợi tả còn có một ý nghĩa khác đó làapp của chúng ta có thể được triệu gọi từ một app khác Ví dụ chúng ta viết một app

có activity đáp ứng intent ACTION_SEND và để chia sẻ một bức ảnh lên trang web

Trang 29

của chúng ta (giống như ta làm với Facebook, Flickr etc.) Khi đó có thể app củachúng ta sẽ là một lựa chọn chia sẻ ảnh của người dùng điện thoại.

Sử dụng Intents khởi động cho Activities:

Phổ biến nhất trong Intents là việc liên kết dữ liệu giữa các thành phần ứngdụng, Intents được dùng để bắt đầu, dừng lại và chuyển tiếp giữa các Activitiestrong ứng dụng

Để mở một ứng dụng khác trong một ứng dụng có sẵn thì chúng ta gọistartActivity như sau: startActivity(myIntent);

Để theo dõi thông tin phản hồi từ phương thức mở ta sử dụng phương thức :

startActivityForResult(Intent)

Hình 2 5 Các phương thức startActivity của 1 Intent

Intent không tường minh thực thi Activity:

Trong trường hợp này intent không chỉ định một lớp cụ thể mà thay vào đódùng các dữ liệu khác (action, data, type, etc.) và để hệ thống tự quyết định xem lớpnào (app nào) sẽ thích hợp để đáp ứng intent đó

Thông tin action và category của activity trong một app đáp ứng intent đóphải được khai báo trong Manifest của app (AndroidManifest.xml) dưới dạng

Trang 30

Intent-filter (tất nhiên nếu chúng ta muốn gọi một built-in action thì ta không cầnquan tâm đến vấn đề này)

Ví dụ: chúng ta muốn cho phép người dùng thực hiện cuộc gọi từ một ứng

dụng, hơn là thực hiện quay số mới, chúng ta có thể sử dụng một ý định ngầm yêucầu hành động ("quay số") được thực hiện trên một điện thoại như trong đoạn mãdưới đây:

if (somethingWeird && itDontLookGood)

{

Intent intent = newIntent(Intent.ACTION_DIAL,Uri.parse(“tel:555-2368”));

startActivity(intent);

}

Intent tường minh thực thi Activity :

Như đã trình bày ở phần trên, intent có thể dùng thuộc tính phụ component

để chỉ định đích danh tên lớp sẽ thực thi Activity Để thực hiện điều này, lớp Intentcung cấp các hàm đó là setComponent(ComponentName) và setClass(Context,Class) và setClassName(Context, String) setClassName(String, String)

Chỉ được dùng để gọi các Activities trong cùng một app

Intent intent = new Intent(); intent.setClassName("ten_package",

"ten_lop_ben_trong_package");

startActivity(intent);

2.3.4.2 Giới thiệu Adapter :

Adapter là cầu nối để liên kết dữ liệu với giao diện người dùng

Một số Adapter cơ bản :

ArrayAdapter: là một lớp chung để gắn các Adapter Views vào một mảng

đối tượng, theo mặc định thì ArrayAdapter liên kết cá giá trị toString của từng đốitượng ra TextView trong layout, chúng ta có thể thay thế TextView bằng các điều

Trang 31

khiển khác phức tạp hơn bằng cách sử dụng kỹ thuật Overriding phương thứcgetView()

SimpleCursorAdapter : dùng để liên kết các View với con trỏ để trả về câu

truy vấn cho Content Provider, nó được định nghĩa trong file XML layout và liênkết các giá trị ràng buộc bên trong mỗi cột kết quả với View trong layout

Sử dụng Adapter hiển thị dữ liệu:

Để áp dụng một Adapter đến một class AdapterView ta chỉ cần gọi phươngthức setAdapter của View đưa vào trong tập Adapter được minh họa trong đoạncode sau:

ArrayList<String> myStringArray = new ArrayList<String>();

ArrayAdapter<String> myAdapterInstance;

int layoutID = Android.R.layout.simple_list_item_1;

myAdapterInstance = new ArrayAdapter<String> (this, layotID,myStringArray); myListView.setAdapter(myAdapterInstance);

SimpleCursorAdapter cho phép chúng ta load dữ liệu từ Cursor đến ListView SimpleCursorAdapter được tạo ra bằng cách truyền vào các tham số bốicảnh(context) hiện hành, một layout, một Cursor và hai giá trị: tên các cột và mộtmảng các giá trị chứa dữ liệu cột để hiển thị:

String uriString = “content://contacts/people/”;

Cursor myCursor = managedQuery(Uri.parse(uriString), null, null, null, null); String[] fromColumns = new String[] {People.NUMBER, People.NAME};

int[] toLayoutIDs = new int[] { R.id.nameTextView, R.id.numberTextView};

SimpleCursorAdapter myAdapter;

myAdapter = new SimpleCursorAdapter(this,R.layout.simplecursorlayout,

myCursor, fromColumns,toLayoutDs);

myListView.setAdapter(myAdapter);

Trang 32

2.3.4.3 Lưu trữ dữ liệu trong Android :

Các kỹ thuật duy trì dữ liệu trong Android nhanh chóng, gọn nhẹ, hiệu quả vàmạnh mẽ:

Shared Preferences: Khi muốn lưu trữ UI state ,user preferences hay

application setting, chúng ta muốn có một cơ chế gọn nhẹ để lưu trữ một tập hợpcác giá trị được biết đến, Shared Preferences cho phép chúng ta lưu trữ nhóm củakey/value của dữ liệu gốc

Files: Android cho phép tạo và tải các tập tin trên thiết bị di động

SQLite Databases: quản lý cấu trúc dữ liệu là cách tốt nhất Android cung cấp

thư viện quan hệ cơ sở dữ liệu SQLite, mỗi ứng dụng có thể tạo ra một cơ sở dữ liệucủa mình để nó kiểm soát hoàn toàn trên đó

Content Providers: Thay vì theo cơ chế lưu trữ riêng ,Content Providers cung

cấp nội dung cho phép đưa ra một giao diện để sử dụng và chia sẻ dữ liệu cá nhân.Chúng ta có thể truy cập Content Providers để sử dụng hệ thống được phép

2.3.5 Làm việc với Maps, Geocoding, Location Based Services :

2.3.5.1 : Sử dụng dịch vụ định vị :

Location Based Services (LBS) là một thuật ngữ chung dùng để mô tả sựkhác nhau về kỹ thuật, và dùng để tìm vị trí thiết bị hiện hành Hai yếu tố chính củaLBS là:

LocationMangager: quản lý kết nối với dịch vụ định vị trong Android LocationProvider: là một lớp trừu tượng cơ bản của các công nghệ tìm kiếm vị trí

khác nhau để xác định vị trí thiết bị

Sử dụng Location Manager ta có thể :

Xác định vị trí

Theo dõi sự chuyển động

Đặt trạng thái báo động cho việc phát hiện một sự chuyển động vào và rakhỏi một khu vực xác định

2.3.5.2 Kiểm tra vị trí trên Emulator :

Dùng Location Controls có sẵn từ DDMS trong Eclipse như hình dưới đây

để thay đổi trực tiếp vị trí trong thử nghiệm GPS_PROVIDER.

Trang 33

Hình 2 6 Lấy GPS Location

Trong hình trên có các tab Manual, KML và GPX

Sử dung tab Manual chúng ta có thể xác định vĩ độ/ kinh độ

Sử dụng tab KML và GPX cho phép chúng ta tải các tập tin KML (KeyholeMarkup Language) và GPX (GPS Exchange Format) tương ứng

Lưu ý vị trí GPS sẽ trả về từ getLastKnownLocation sẽ không thay đổi trừ

khi có ít nhất một ứng dụng yêu cầu cập nhật vị trí.

Chọn một Location Provider:

Tùy thuộc vào thiết bị mà có những kỹ thuật riêng, Android có thể dùng đểxác định vị trí hiện tại, mỗi kỹ thuật, mỗi Location Provider sẽ cung cấp những khảnăng khác nhau như xác định độ cao, tốc độ, sự chính xác hoặc các thông tin liênquan

Để có được đối tượng LocationProvider ta gọi getProvider và truyền vào tên Provider Ví dụ dưới đây thì Provider là GPS_PROVIDER

String providerName = LocationManager.GPS_PROVIDER;

LocationProvider gpsProvider;

gpsProvider = locationManager.getProvider(providerName);

Trang 34

Để có danh sách tất cả tên của nhà cung cấp trên thiết bị ta gọi getProvider,

sử dụng Boolean để biết nếu chúng ta muốn tất cả, hoặc chỉ lấy một Provider đầutiên

boolean enabledOnly = true;

List<String> providers = locationManager.getProviders(enabledOnly);

Tìm kiếm một Provider theo tiêu chí :

Sử dụng lớp Criteria để yêu cầu nhà cung cấp xử lý chính xác những số liệu

có sẵn như: vĩ độ và kinh độ, tốc độ, độ cao, chi phí và yêu về cầu năng lương điện

Criteria criteria = new Criteria();

trả lại các tiêu chí tốt nhất, sử dụng Boolean cho phép hạn chế những kết quả từ nhàcung cấp đang được hoạt động

String bestProvider = locationManager.getBestProvider(criteria, true);

List<String> matchingProviders = locationManager.getProviders(criteria,false);

Tìm một địa chỉ (Finding Your Location):

Mục đích của dịch vụ định vị là tìm ra vị trí vật lý của thiết bị

Trang 35

Để truy cập vào Location Manager thực hiện các yêu cầu LOCATION_SERVICES

ta sử dụng phương thức getSystemService như sau:

String serviceString = Context.LOCATION_SERVICE;

LocationManager locationManager;

locationManager = (LocationManager)getSystemService(serviceString);

Trước khi sử dụng Location Manager thì cần thêm một hoăc nhiều thẻ permission trong file mainfest để truy cập vào các phần cứng của LBS trong đó bao gồm cả fine và coarse như sau:

uses-<uses-permission

Android:name=”Android.permission.ACCESS_FINE_LOCATION”/>

<uses-permission

Android:name=”Android.permission.ACCESS_COARSE_LOCATION”/>

Chúng ta có thể tìm thấy vị trí bằng cách xác định một Location Provider sử

dụng phương thức getKnowLocation và đưa vào tên của Location Provider.

Ví dụ:

String provider = LocationManager.GPS_PROVIDER;

Location location = locationManager.getLastKnownLocation(provider);

Theo dõi sử di chuyển (Tracking Movement):

Sử dụng phương thức requestLocationUpdate để cập nhật bất kỳ một vị trí, khi vị trí hiện tại thay đổi chúng ta sử dụng một LocationListener LocationListener thực hiện và đăng ký để nhận thông tin LocationListener rất linh hoạt và nhiều tính

năng cho phép chọn nhiều loại sự kiện về vị trí dựa trên đặc tính khác nhau

Phương thức requestLocationUpdate chấp nhận một Location Provider hoặc Criteria để xác định nhà cung cấp được sử dụng

Đoạn code sau sẽ thể hiện một yêu cầu cập nhật thường xuyên dựa trên mức tốithiểu về thời gian và khoảng cách

Trang 36

String provider = LocationManager.GPS_PROVIDER;

int t = 5000; // milliseconds

int distance = 5; // meters

LocationListener myLocationListener = new LocationListener() {

public void onLocationChanged(Location location) {

// Update application based on new location

}

public void onProviderDisabled(String provider){

// Update application if provider disabled

}

public void onProviderEnabled(String provider){

// Update application if provider enabled

}

public void onStatusChanged(String provider, int status,Bundle extras){

// Update application if provider hardware status changed

Geocoding cho phép chuyển giữa các địa chỉ và các mô tả khác vào kinh độ /

vĩ độ của bản đồ tọa độ Điều này cung cấp cho chúng ta một khung cảnh giúp dễnhận biết các vị trí và tọa độ được sử dụng trong các dịch vụ dựa trên vị trí và hoạtđộng dựa trên bản đồ Để thực hiện việc này lớp Geocoder thực hiện một cuộc gọimạng (tự động) cho một dịch vụ web

Lớp Geocoder cung cấp hai chức năng truy cập mã địa lý:

Forward Geocoding: tìm vĩ độ và kinh độ của đia chỉ

Trang 37

Reverse Geocoding: chuyển địa chỉ ra vĩ độ, kinh độ

Cách tạo một Geocoder:

Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());

Cả hai chức năng mã hoá địa lý trả về một danh sách các đối tượng Address.

Mỗi danh sách có thể chứa nhiều kết quả

2.3.5.4 Reverse Geocoding

Trả về địa chỉ khi được cung cấp kinh độ, vĩ độ

Để thực hiện việc tra cứu chuyển đổi chúng ta đưa vào một vĩ độ và kinh độ

đến Geocoder và phương thức getFromLocation sẽ Reverse Geocoding sẽ trả về một danh sách địa chỉ phù hợp, nếu Geocoder không giải quyết được địa chỉ này

với các quy định thì nó sẽ trả về null

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); double latitude = location.getLatitude();

double longitude = location.getLongitude();

Geocoder gc = new Geocoder(this, Locale.getDefault());

List<Address> addresses = null;

Để tra cứu Forward Geocoding, gọi getFromLocationName trên trường

Geocoder Đưa vị trí tạo độ mà chúng ta muốn và số lượng tối đa của các kết quả trảlại, chúng ta sẽ nhận được các địa chỉ thích hợp, như thể hiện trong đoạn code dướiđây:

Trang 38

List <Address>result = geocoder.getFromLocationName(aStreetAddress, maxResults);

Locale cung cấp bối cảnh địa lý để giải thích các yêu cầu tìm kiếm của chúng

ta như tên của một vị trí có thể tồn tại trong nhiều khu vực Nếu có thể thì ta xem

xét lựa chọn một Locale ở khu vực để tránh sự nhập nhằng tên, như thể hiện trong

đoạn code sau:

Geocoder fwdGeocoder = new Geocoder(this, Locale.US);

String streetAddress = “160 Riverside Drive, New York, New York”; List<Address> locations = null;

try {

locations = fwdGeocoder.getFromLocationName(streetAddress, 10);

}

catch (IOException e){}

//để có nhiều địa chỉ, sử dụng getFromLocationName List<Address> locations = null;

try {

locations = fwdGeocoder.getFromLocationName(streetAddress, 10,n, e, s, w); } catch (IOException e) {}

mapView.setSatellite(true);

mapView.setStreetView(true);

mapView.setTraffic(true);

Trang 39

Chúng ta cũng có thể truy cập vào các Map View để tìm ra kinh độ hiện hành

và độ phóng đại, cũng như các điểm trung tâm và hiện đang nhìn thấy và khoảng vĩ

độ (ở dạng thập phân)

GeoPoint center = mapView.getMapCenter();

int latSpan = mapView.getLatitudeSpan();

int longSpan = mapView.getLongitudeSpan();

Chúng ta cũng có thể hiển thị bản đồ điều khiển zoom một cách tùy ý

View zoomControls = mapView.getZoomControls();

Để sử dụng bản đồ trong ứng dụng chúng ta cần phải tạo một Activity mới

kế thừa từ MapActivity và cần thêm vào trong file XML, trong thẻ <Aplication>:

<uses-library Android:name=”com.google.Android.maps”/>

MapView điều khiển chỉ có thể được sử dụng trong một Activity mở rộngMapActivity Overriding phương thức onCreate đặt ra các màn hình bao gồm một

Trang 40

MapView, và ghi đè lên isRouteDisplayed để trả về true nếu Activity sẽ được hiểnthị thông tin định tuyến

Đoạn code sau sẽ trình bày cách khởi tạo mới lớp bản đồ cơ sở

public class MyMapActivity extends MapActivity {

private MapView mapView;

private MapController mapController;

protected boolean isRouteDisplayed() {

// IMPORTANT: This method must return true if your Activity

// is displaying driving directions Otherwise return false

return false;

}

}

Sử dụng Overlay :

Overlay là một cách để thêm các chú thích và xử lý nhấn vào MapView

Để thêm một lớp mới Overlay chúng ta tạo một lớp mới kế thừa từ lớpOverlay, ghi đè các phương thức vẽ để vẽ các chú thích mà chúng ta muốn thêm vàghi đè lên onTap để phản lại cho người dùng khi click chuột như đoạn code sau:

import Android.graphics.Canvas;

Ngày đăng: 07/06/2014, 00:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Android Developer – Trang web hỗ trợ dành cho lập trình viên của Android.http://developer.android.com/index.html Link
[2]. StackOverFlow – Trang web thảo luận, gỡ rối các vấn đề gặp phải. http://stackoverflow.com/questions/tagged/android[3].http://android-er.blogspot.com/ Link
[1] Wei - Meng Lee, Beginning Android Tablet Application Developmen, Indianapolis, Indiana, 2011 Khác
[2]. Reto Meier, Professional Android 2 Application Development, Wiley Publishing, 2010 Khác
[4] W.Frank Ableson, Robi Sen, Chris King , Android In Action (2nd edition), Manning Publications,2011.Trang Web:Tiếng Anh Khác

HÌNH ẢNH LIÊN QUAN

Hình 2. 1 Ki n trúc h   i u hành Android ế ệ đ ề - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. 1 Ki n trúc h i u hành Android ế ệ đ ề (Trang 15)
Hình 2. Error: Reference source not found Android SDK - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. Error: Reference source not found Android SDK (Trang 20)
Hình 2. 2 Mô hình ho t  ng c a Intent Object ạ độ ủ - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. 2 Mô hình ho t ng c a Intent Object ạ độ ủ (Trang 24)
Hình 2. 4 Các Action  ã  nh ngh a đ đị ĩ - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. 4 Các Action ã nh ngh a đ đị ĩ (Trang 26)
Hình 2. 6 Lấy  GPS - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. 6 Lấy GPS (Trang 31)
Hình 2. 7 L y Keystore ấ - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 2. 7 L y Keystore ấ (Trang 41)
3.1. Sơ đồ Use-case - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
3.1. Sơ đồ Use-case (Trang 46)
4.1. Sơ đồ lớp - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
4.1. Sơ đồ lớp (Trang 55)
Bảng KhuDuLich - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
ng KhuDuLich (Trang 60)
Bảng Tạm - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
ng Tạm (Trang 61)
Hình   khu   du  lịch - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
nh khu du lịch (Trang 61)
Hình   tượng   trưng     cho  khu du lịch - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
nh tượng trưng cho khu du lịch (Trang 62)
Hình 7.2.2.1 Khu du lịch mà  người dùng đã  chọn là nơi có  biểu tượng  trên  bản đồ, nhấn vào  biểu tượng khu du  lịch người dùng sẽ  biết được sơ lược  về khu du lịch :  Tên khu du lịch,  Địa chỉ, Giới  thiệu. - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 7.2.2.1 Khu du lịch mà người dùng đã chọn là nơi có biểu tượng trên bản đồ, nhấn vào biểu tượng khu du lịch người dùng sẽ biết được sơ lược về khu du lịch : Tên khu du lịch, Địa chỉ, Giới thiệu (Trang 70)
Hình 7.2.3 7.2.4  MH Menu Ở tất cả các màn  hình đều có nút  ,  khi nhấn vào thì  chương trình sẽ  sang màn hình  chức năng - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 7.2.3 7.2.4 MH Menu Ở tất cả các màn hình đều có nút , khi nhấn vào thì chương trình sẽ sang màn hình chức năng (Trang 71)
Hình 7.2.6.1 Sau đó nhấn nút  thêm  thì phần  mền sẽ trả về  thông báo đã thêm  được hay chưa - Tìm hiểu về android và xây dựng phần mền tìm kiếm khu du lịch trên hệ điều hành android trong địa bàn tp HCM
Hình 7.2.6.1 Sau đó nhấn nút thêm thì phần mền sẽ trả về thông báo đã thêm được hay chưa (Trang 73)

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