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

XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID

58 1,2K 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 58
Dung lượng 2,81 MB

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

Nội dung

Trong khi việc phát triển nền tảng di độnghiện nay chủ yếu xây dựng trên các hệ điều hành độc quyền, hạn chế các ứng dụng của bênthử ba, sự ra đời của Android đã mang lại một giải pháp m

Trang 1

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành côngnghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng sànphẩm của công nghệ Một trong những bộ phận ứng dụng công nghệ thông tin chính làthay đôi và giúp đỡ việc sinh hoạt hàng ngày của mọi ngưòà trong cuộc song Vì vậy em

đã lựa chọn đe tài “Nghiên cứu hệ điều hành Android và xây dựng ứng dụng tìm kiếm máyrút tiền ATM” để làm đồ án với ý nghĩa mang tính thực tế

Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đờhướng dẫn tận tình của các thầy giáo, cô giáo trong bộ môn lập trình — Khoa Khoa HọcMáy Tính - Trường Cao Đắng Công Nghệ Thông Tin Hữu Nghị Việt - Hàn đã giúp emhoàn thành được đồ án này

Em xin chân thành cảm ơn giảng viên Trịnh Thị Ngọc Linh — người trực tiếphướng dẫn đã tận tình hướng dẫn và giúp đỡ em hoàn thành cuốn đồ án này Một lời cảm

ơn sâu sắc nữa em muốn gửi tới toàn thể thầy cô giáo đã trang bị cho em những kiến thức

cơ bản cần thiết trong những năm học vừa qua để em có thể thực hiện tốt cuốn đô án nàycũng như đủ tự tin đê làm việc sau này

Trang 2

Em xin chân thành cảm ơn!Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC CÁC TỪ VIẾT TÁT iv

DANH MỤC CÁC HÌNH VẼ V CHƯƠNG 1 - CHƯƠNG MỞ ĐẦU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu và nhiệm vụ 1

1.3 Đối tượng nghiên cứu và phạm vi hệ thống 2

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

1.5 Ý nghĩa thực tiễn của ứng dụng 2

CHƯƠNG 2 - Cơ SỞ LÝ THUYẾT 3

2.1 Giói thiệu hệ điều hành Android 3

2.1.1 Tổng quan cấu trúc của Android 3

2.1.2 Sơ lược các phiên bản Android 4

2.1.3 Các thành phần cơ bản của ứngdụng Android 5

2.2 Lập trình trên hệ điều hànhAndroid 9

2.2.1 Ngôn ngữ JAVA 9

2.2.2 Ngôn ngũ JSON 12

2.2.3 Ngôn ngữ XML 12

2.2.4 Ngôn ngũ PHP 13

2.2.5 Các dịch vụ cua google vói lập trình Map View 14

2.3 Máy áo Dalvik và Android SDK 16

2.3.1 Máy ảo Dalvik 16

2.3.2 Android SDK 17

2.3.3 Android Emulator 18

CHƯƠNG 3 - PHÂN TÍCH THIẾT KÉ HỆ THỐNG 19

3.1 Mô tả về hệ thống 19

3.1.1 Yêu càu chức năng 19

3.1.2 Yêu cầu phí chức năng 19

Trang 3

3.1.3 Yêu cầu hệ thống 20

3.2 Phân tích thiết kế 20

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android 3.2.1 Mô hình hóa yêu cầu 20

3.2.2 Mô hình hóa khái niệm 24

3.2.3 Mô hình hóa tương tác 26

3.2.4 Mô hình hóa hành vỉ 31

3.2.5 Thiết kế chi tiết biểu đồ lóp 35

3.2.6 Thiết kế kiến trúc vật lý 36

CHƯƠNG 4 - XÂY DỤNG ỨNG DỤNG 38

4.1 Detno chương trình 38

4.1.1 Xây dựng chức năng cập nhật dũ' liệu của Web Services 38

4.1.2 Xây dựng chức năng xử lý cua Web Services 38

4.1.3 Truyền dữ liệu qua các form 39

4.1.4 Hiển thị MapView 41

4.1.5 Sử dụng tài nguyên GPS và Internet của hệ thống 41

4.1.6 Đánh dấu vị trí trên Map View 42

4.1.7 Truy vấn và lấy dữ liệu từ hệ thống Services của Google 43

4.1.8 Đọc dữ liệu tù file JSON 43

4.2 Giao diện ứng dụng 44

KÉT LUẬN VÀ HƯỚNG PHÁT TRIÊN 48

DANH MỤC TÀI LIỆU THAM KHẢO 49

Trang 4

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

VIẾT TẮT

❖ ATM: Automated teller machine (Máy rút tiền tự động).

♦ĩ* API: Application Programming Interface (Giao diện lập trình ứng dụng).

❖ CPU: Central Processing Unit (Đơn vị xử lý trung tâm).

♦> CSDL: Cơ sở dữ liệu.

❖ GPS: Global Positioning System (Hệ thống định vị toàn cầu).

❖ HD: High -definition (Truyền hình độ nét cao).

♦ĩ* HTML: HyperText Markup Language (Ngôn ngừ Đánh dấu Siêu văn bản).

❖ JSON: JavaScript Object Notation (Định dạng trao đối dữ liệu cực nhẹ).

❖ OOP: object-oriented programming (Lập trình hướng đối tượng).

♦í* OHA: Open Handset Alliance (Liên minh thiết bị cẩm tay mở rộng).

❖ XML: extensible Markup Language (Ngôn ngữ Đánh dấu Mở rộng).

*t* SDK: Software Development Kit (Bộ công cụ phát triến phẩn mềm).

DANH MỤC CÁC HÌNH VẼ

Hình 1: Các thành phần của hệ điểu hành

Android 4

Hình 2: Logo và tên các phiên bán Android 5

Hình 3: Mô hình hoạt động của Activity 8

Hình 4: Cách biên dịch chương trình truyền thống 10

Hình 5: Cơ chế biên dịch chương trình của Java 10

Hình 6: Một vỉ dụ về Google Maps 15

Hình 7: Một vỉ dụ về Google Places API 16

Hình 8: Môi trường phát triển ứng dụng Android trong Eclipse 18

Hình 9: Android Emulator 18

Hình 10: Kiến trúc của hệ thống 19

Hình 11: Biêu đồ trường hợp sử dụng USE CASE 22

Hình 12: Use Case trường hợp Cập nhật DS Địa điếm 22

Hình 13: Use Case trường hợp cập nhật DM Ngân hàng 22

Hình 14: Use Case trường họp cập nhật DM Quận huyện 23

Hình 15: Use Case trường hợp cập nhật DM Tỉnh thành 23

Trang 5

Hình 16: Use Case trường hợp Tìm kiếm 23

Hình 17: Các lớp biên 24

Hình 18: Các lớp điầí khiên 25

Hình 19: Các lớp thực thê mức phân tích 25

Hình 20: Biểu đồ trình tự Mở hệ thống 26

Hình 21: Biêu đô trình tự Đóng hệ thong 26

Hình 22: Biếu đo trình tự Thêm DM Ngân hàng 26

Hình 23: Biểu đồ trình tự Hiệu chỉnh DM Ngân hàng 27

Hình 24: Biêu đồ trình tự Xóa DM Ngân hàng 27

Hình 25: Biếu đồ trình tự Tìm kiếm bang services ứng dụng 27

Hình 26: Biếu đo trình tự Tìm kiếm bang Google Services 28

Hình 27: Biếu đo trình tự Góp ỷ 28

Hình 28: Biểu đồ cộng tác Mở hệ thống 28

Hình 29: Biểu đồ cộng tác Đóng hệ thống 29

Hình 30: Biểu đồ cộng tác Thêm DM Ngân hàng 29

Trang 6

Hình 31: Biếu đo cộng tác Hiệu chỉnh DM Ngân hàng 29Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Hình 32: Biểu đồ cộng tác Xóa DM Ngân hàng 30

Hình 33: Biểu đo cộng tác Tìm kiếm bang services ứng dụng 30

Hình 34: Biểu đồ cộng tác Tìm kiếm bang google services 30

Hình 35: Biêu đồ cộng tác Gửi góp ỷ 31

Hình 36: Biêu đò trạng thái Mở hệ thông 31

Hình 37: Biêu đồ trạng thái Tìm kiếm 31

Hình 38: Biểu đồ trạng thái Gửi góp ỷ 31

Hình 39: Biểu đồ hoạt động Mở hệ thong 32

Hình 40: Biểu đồ hoạt động Đóng hệ thống 32

Hình 41: Biêu đồ hoạt động Cập nhật DM Ngân hàng 32

Hình 42: Biểu đồ hoạt động Cập nhật DM Tỉnh thành 33

Hình 43: Biểu đồ hoạt động Cập nhật DM Quận huyện 33

Hình 44: Biểu đo hoạt động Cập nhật DS Địa điềm 34

Hình 45: Biêu đồ hoạt động Tìm kiếm 34

Hình 46: Biếu đồ hoạt động Gửi góp ỷ 35

Hình 47: Biểu đồ lớp mức chi tiết 35

Hình 48: Biêu đô thành phân 36

Hình 49: Biểu đồ triển khai 36

Hình 50: Demo minh họa cập nhật dừ liệu 38

Hình 51: Quá trình xử lý của Web Services 38

Hình 52: Mô hình trao đôi dữ liệu giữa 2 Activity 39

Hình 53: cấu trúc ỉ Intent 40

Hình 54: Quá trình lấy dữ liệu map từ Google 41

Hình 55: Quả trình sử dụng tài nguyên hệ thống 41

Hình 56: Quá trình đánh dấu vị tri trên Map View 42

Hình 57: Quá trình Truy vẩn và lẩy dữ liệu từ hệ thong Services của Google 43

Hình 58: Mô hình xác định mảng giá trị trong JSON 43

Hình 59: Giao diện chính của chương trình 44

Hình 60: Giao diện phần tìm kiếm từ web services của ứng dụng 44

Hình 61: Giao diện phần kết quả trả về từ tìm kiếm 45

Trang 7

Hình 62: Các tùy chọn khi click vào kết quả tìm kiếm 45 Hình 63: Tùy chọn tới vị trí hiện tại và vẽ đường 46

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Hình 64: Giao diện phần tìm kiếm trên Map View 46 Hình 65: Quá trình hiến thị kết quả 47

Trang 8

1.1 Hình 66: Giao diện góp ỷ 47Lý do chọn đề tài

Ngày nay các thiết bị số cẩm tay như điện thoại di động, điện thoại thông minh,máy tính bảng có rất nhiều trên thị trưòưg Với giá thành ngày càng rẻ và các lợi ích đemlại, các thiết bị đỏ ngày càng được sử dụng nhiều và phố biến Một nền tảng được sử dụngtrong các thiết bị đó là hệ điều hành thông minh Android của Google Do vậy đi cùng việcphát triến và sử dụng các thiết bị phần cứng một cách hiệu quả thì việc phát triển các ứngdụng phần mềm chạy trên nền Android càng lúc càng tăng cao

Các thiết bị di động ngày càng mạnh mẽ với khả năng xử lí các tác vụ mà chúng takhó cỏ thể tưởng tượng trước đây vài năm Những chiếc điện thoại thời trang và tiện dụngvới những tính năng về phần cứng như GPS, gia tốc kế và màn hình cảm ứng là một nềntảng hấp dẫn cho các ứng dụng di động đột phá Trong khi việc phát triển nền tảng di độnghiện nay chủ yếu xây dựng trên các hệ điều hành độc quyền, hạn chế các ứng dụng của bênthử ba, sự ra đời của Android đã mang lại một giải pháp mở Không bị hạn chế, các lậptrình viên Android tự do viết các ứng dụng tận dụng tối đa sự phát triển mạnh mẽ của phầncứng cho điện thoại di động Android nhanh chóng trở thành hệ điều hành thu hút nhiềulập trình viên và chiếm một thị phần lớn trong thị trường di động

Việc sử dụng các thiết bị số ngoài khả năng hỗ trợ con người trong công việc, giảitrí mà còn giúp con người tiết kiệm thời gian hơn vào nhiều công việc thực tiễn trong đờisống hằng ngày Hiện nay một hình thức lưu giữ tiền khá phố biến trong cuộc sổng đó làthẻ rút tiền ATM, nỏ được dùng đế chi trả lương cho nhiều nhân viên của các công ty,doanh nghiệp, hay dùng đê gởi tiền cho sinh viên ở xa nhà Vì vậy việc tìm kiếm các địađiếm đế sử dụng thẻ là điều khá hữu dụng trong cuộc sống, khi mà trong một số trườnghợp chúng ta rất khó có thế xác định cột thẻ trong hàng ngàn địa điểm trong thành phố haycác khu vực khác

1.2 Mục tiêu và nhiệm vụ

Muc tiêu: Tìm hiểu được các công nghệ lập trình cần thiết trên nền Android để

hoàn thành được ứng dụng có thế tìm kiếm nhanh và chính xác vị trí máy ATM

> Hiểu về nguyên lý hoạt động của Android, các thành phần cùa hệ thống cũng

Trang 9

như của một ứng dụng thực thi trên nền android.Xây dựng hệ thống tìm kiếm máy ATM trên hệđiều hành Android

> Tìm hiéu và áp dụng được các công nghệ lập trình trên nền Android như ngôn ngữJAVA, tương tác với các tài nguyên của hệ thống (GPS, Internet, TouchScreen), sửdụng các dịch vụ cùa Google như Google Map, Google Places API, GoogleDirections API, Google Geocoding API

> Tìm hiểu xây dựng một dịch vụ web trên nền php sử dụng hệ cơ sở dữ liệuMySQL

Nhiêm vu: Đọc các tài liệu liên quan về bộ thư viện lập trinh trên nền Android.

Tìm hiếu các dịch vụ liên quan đến ứng dụng

1.3 Đối tưọng nghiên cứu và phạm vi hệ thống

Dối tương:

> Ngôn ngữ JAVA, PHP, JSON, XML

> Hệ cơ sở dữ liệu MySQL

> Công cụ Android SDK & Eclipse

> Hệ diều hành và tài nguyên hệ thống Android

> Các dịch vụ của google như Google Map, Google Places API, Google DirectionsAPI, Google Geocoding API

Pham vi; Đe tài chỉ dừng lại ở khuôn khổ tìm kiếm địa chỉ đặt các trạm ATM theo

tỉnh thành phố, tên ngân hàng, ứng dụng mapview đê tìm kiểm và dẫn đường trực quancho người dùng, ứng dụng được viết trên nền Android 2.1

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

Đọc sách và các tài liệu tham khảo tìm được

1.5 Ý nghĩa thực tiễn của ứng dụng

Trang 10

2.1 Chương trình có thể áp dụng vào cuộc sổng hàng ngày đế tìm kiểm máy ATM trêntoàn quốc khi có nhu cầu mà đến cà những người có ít kiến thức về công nghệ có thể sử

dụng.Giói thiệu hệ điều hành Android

Android là hệ điều hành trên các thiết bị số di động như smartphone và tablet (vàhiện nay là cả trên một số đầu phát HD, HD Player) phát triển bởi Google và dựa trên nềntảng Linux Trước đây, Android được phát triển bởi công ty liên hợp Android Vào năm

2005, Google đã mua lại Android nằm trong chiến lược tiến vào thị trường di động.Google muốn Android trở thành nền tảng “mở” và miễn phí, Do vậy hầu hết mã nguồn củaAndroid được phát hành theo giấy phép mã nguồn mở Apache nên bất cứ ai muốn sử dụngAndroid có thể download toàn bộ mã nguồn Hơn nữa các nhà sàn xuất phần cứng có thểthêm các thành phần mở rộng độc quyền của hẫng để tạo ra các sản phâm khác nhau.Chính mô hình phát trien đơn giản này khiến Android trở nên rất hấp dẫn Android có mộtcộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình

Hiện tại có khoảng hơn 250,000 ứng dụng cho Android os và vào khoảng hơn375,000 ứng dụng đã được đệ trinh, điều này khiến Android trở thành hệ điều hành diđộng có môi trường phát triển lớn thử 2 Các nhà phát triển viết ứng dụng cho Android dựatrê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 độngtrong 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épApache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML, 2.8 triệudòng mã c, 2.1 triệu mã Java và 1.75 triệu dòng mã c++

2.1.1 Tống quan cấu trúc của Android

Nói một cách dơn giản thì Android bao gằm ba thành phần:

1 Một hệ điều hành mở, miễn phí cho các thiết bị di động

2 Một nền tảng mã nguồn mở cho phát triển các ứng dụng

3 Thiết bị chạy hệ điều hành Android và các ứng dụng Android

Chi tiết hơn thì Android gồm các thành phần quan trọng sau:

1 Một thiết kể phần cứng cho thiết bị di động hỗ trợ bộ phần mềm

2 Một nhân hệ điều hành Linux cung cấp giao diện mức thấp với phần cứng, quản

Trang 11

lý bộ nhớ và kiếm soát tiến trình Tat cả đều tối ưu hoá cho thiết bị di động.Xây dựng hệthống tìm kiếm máy ATM trên hệ điều hành Android

3 Thư viện mã nguồn mở cho phát triến ứng dụng bao gồm SQLite, Webkit, OpenGL

và quản lí đa phương tiện

4 Một hệ thống thực thi và lưu trữ cho ứng dụng Android bao gồm máy ảo Dalvik vàcác thư viện cơ bản cung cấp chức năng đặc thù cho Android Hệ thống thực thiđược thiết kế nhỏ gọn và hiệu quả khi sử dụng trên các thiết bị di động

5 Một kiến trúc ứng dụng cung cấp các dịch vụ hệ thống cho tầng ứng dụng bao gồmquản lí cửa sổ, quản lí vị trí, cung cấp nội dung và các cảm biển

6 Một kiến trúc giao diện người dùng đế lưu trữ và chạy các ứng dụng

7 Một số ứng dụng được cài đặt sẵn được coi như một phần của bộ ứng dụng

8 Một bộ phát triển ứng dụng bao gồm các công cụ và tài liệu

A PPLICATIONS

Package Manager ^7

Location Notification Manager Manager

L IBRARIES A NDROID R UNTIME

OpenGL | ES FreeType WebKit

fl DalvikVirtual Machine

SGL SSL libc

^nvT’

Hình 1: Các thành phần của hệ điểu hành Android

2.1.2 Sơ lược các phiên bản Android

Android là một nền tảng mới và phát triển nhanh Các phiên bản thông thườngđược phát hành sau khoảng 6 tháng Sau đây là danh sách các phiên bản chính và sự thayđổi lớn trong mỗi phiên bản Android

❖ OHA giới thiệu Android (5-1 1-2007)

❖ Phát hành SDK (12-11-2007)

A PPLICATION F RAMEWORK

L INUX K ERNEL

Trang 12

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

♦ĩ* Apple pie - Android 1.0 (23/9/2008): Phát hành phiên bản Andró id 1.0 trên điệnthoại Android đầu tiên - HTC Dream (GI)

❖ Banana bread - Android 1.1 (9-2-2009): Phát hành phiên bản cập nhật 1.1 riêng choT-Mobile GI

Tên goi của các phiên bán Android đều đươc đăt theo các món tráng miệng:

Gingerbreađ Honeycomb Ice Cream Sandvvich

Hình 2: Logo và tên các phiên bản Android 2.1.3 Các thành phần cơ bản của ứng dụng Android

ứng dụng Android bao gồm nhiều thành phần liên kết với nhau được giới hạn trongkiến trúc ứng dụng Kiến trúc ứng dụng mô tả chi tiết mỗi thành phần và sự tương tác giữacác thành phần này cũng như siêu dữ liệu về yêu cầu phần cứng

2.2

Trang 13

Các thành phần sau đây tao nên môt ứng dung Android:

Trang 14

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

♦ĩ* Activity: là lớp thế hiện ứng dụng Mỗi màn hình trong ứng dụng là một mở rộng

của lớp Activity Các Activity sử dụng các View tạo thành giao diện đồ họa tươngtác người dùng để thê hiện thông tin và phản hồi hành động của người dùng

❖ Service: là thành phần chạy ẩn, cập nhật nguồn dữ liệu và thể hiện các Activity,

kích hoạt các Notification Các Service thường thực hiện các xử lí thông thườngnhư tiếp tục Activity sau khi các Activity này không hoạt động hoặc hiến thị

❖ Content Provider: là thành phần lưu trữ dữ liệu chia sẻ Content Provider quản lí

và chia sẻ cơ sở dữ liệu của ứng dụng Chúng được coi như là phương tiện chia sẻ

dữ liệu giữa các ứng dụng

*t* Intent: là cấu trúc truyền thông điệp giữa các ứng dụng Chúng ta có thể sử dụng

Intent để truyền một thông tin tới toàn hệ thống hay tới Activity hay Service địnhtrước để thực thi một hoạt động Hệ thống sau đó sẽ xác định đối tượng nào sẽ thựchiện các hoạt động phù họp

❖ Broadcast Receiver: là nơi nhận các Intent Chúng ta có thế tự tạo một Broadcast

Receiver để ứng dụng có thể nhận được các Intent phù hợp với bộ lọc đặt trước.Broadcast Receiver tự động bắt đầu khi ứng dụng phản hồi với Intent nhận được vàbiến ứng dụng trở thành hướng sự kiện một cách hoàn hảo

❖ Widget: thành phần trực quan của ứng dụng có thế thêm vào màn hình chính Là

một dạng Broadcast Receiver, Widget cho phép người dùng tạo ra các ứng dụngđộng, tương tác được nhúng ngay trên màn hình chính

❖ Notification: là thành phần thông báo cho người dùng Hộp thoại thông báo chongười dùng mà không gián đoạn các Activity hiện thời Đây là kĩ thuật thông báocho người dùng năm trong một Service hay một Broadcast Receiver Ví dụ như khinhận được một tin nhắn hay cuộc gọi đến có thê thông báo cho người dùng bằngnhấp nháy đèn hay bằng âm thanh,

Một ứng dụng không nhất thiết phải gồm tất cả các thành phần trên nhưng để cómột giao diện với người dùng thì ít nhất ứng dụng đó phải có một Activity Mã đã đượcbiên dịch của các thành phần của ứng dụng, tài nguyên liên quan như thư viện, hình ảnh vàcác dữ liệu cần thiết khác dược đóng gói trong một file apk duy nhất chính là dạng filethực thi của ứng dụng Android

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Trang 15

Như đã trình bày ở trên, Activity là thành phẩn quan trọng nhất và đóng vai tròchính trong việc xây dựng ứng dụng Android Hệ điều hành Android quản lí ứng dụngdưới dạng stack : khi một Activity mới được khởi tạo, nó được xếp lên đầu stack và trởthành running activity, các Actitivy trước đó sẽ bị tạm dừng vả chỉ hoạt động trở lại khiActivity mới được giải phỏng.

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

❖ Pause: Activity vẫn hiến thị (visible) nhưng không thế tương tác VD: một activity

mới xuất hiện hiển thị giao diện đè lên trên activity cũ, nhưng giao diện này vẫnnhỏ hơn giao diện activity cũ Do đó ta vẫn thấy được một phần giao diện củaactivity cũ nhưng không tương tác được với nó

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

♦ĩ* Killed: Khi hệ thong thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc

ưu tiên ở trên Các Activity ở trạng thái stop hoặc paused cũng có thế bị giải phóng

và khi nó được hiến thị lại thì các Activity này phải khởi động lại hoàn toàn vàphục hồi trạng thái trước đó

Tuỳ từng sự kiện mà các phương thức được gọi đê đảm bảo trạng thái các Activityđược hoạt động đúng Chi tiết từng phương thức và sự kiện thay đối trạng thái tương ứng:

❖ onCreate(): Phương thức này khởi tạo Activity Nó có thế bỏ qua trạng thái cũ đế

trở lại hoạt động Phương thức tiếp theo luôn là onStartQ

❖ onRestart(): Được gọi sau khi một Activity dừng và muốn bắt đầu lại.

♦í* onStart(): Được gọi khi ứng dụng chuyển sang visible nhưng chưa tương tác được

với người dùng

♦> onResume(): Activity cỏ tương tác với người sử dụng và có thể nhận thông tin đầu

vào Kiểu tiến trình của ứng dụng được chuyển sang dạng hiển thị (foreground)

♦í* onPause(): Nếu ứng dụng không còn tương tác hay thiết bị không hoạt động,

phương thức này được gọi và kiểu tiến trình úng dụng sẽ được chuyển sang dạngvisible Sau khi thực hiện phương thức này, hệ thống cho phép giải phóng ứngdụng bất cứ lúc nào Các thao tác sử dụng CPU và dữ liệu đều được lưu lại.Activity sẽ có thể được hoạt động trở lại hoặc dừng lại

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Trang 16

<* onStopO: Khi Activity không còn tương tác nữa thì kiểu tiến trình được chuyển

sang chạy nền (background) và ứng dụng có thể bị giải phóng bất cứ lúc nào bởi hệthống đế lấy lại bộ nhớ Activity sẽ bị giải phóng hoặc khởi động lại

onDestroyO:

❖ Phương thức cuối cùng này được hệ thống gọi trước khi giải phóngứng dụng hay ứng dụng loại bỏ Activity Tiến trình của ứng dụng có thế chuyểnsang kiểu rỗng nếu hệ thống muốn giữ lại ứng dụng đê tiếp tục lại ứng dụng cho lầnsau

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành AndroidHình 3: Mô hình hoạt động của Activity

Trang 17

2.2 Lập trình trên hệ điều hành Android

2.2.1 Ngôn ngữ JAVA

Java là một ngôn ngữ lập trình dạng lập trình hướng đoi tượng (OOP) Khác vớiphần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặcthông dịch mã nguồn khi chạy, Java được thiết kể đế biên dịch mã nguồn thành bytecode,bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy Bằng cách này,Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python,Perl, PHP, c#

Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý định thiết kể mộtngôn ngừ lập trình đế điều khiến các thiết bị điện tử như tivi, máy giặt, lò nướng, Mặc dù

c và C++ có khả năng làm việc này nhưng trình biên dịch lại phụ thuộc vào từng loại CPU

Trình biên dịch thường phải tốn nhiều thời gian để xây dụng nên rất đắt, vì vậy đểmỗi loại CPU có một trình biên dịch riêng là rất tốn kém Do đó nhu cầu thực tể đòi hỏimột ngôn ngữ chạy nhanh, gọn, hiệu quả và độc lập thiết bị tức là có thể chạy trên nhiềuloại CPU khác nhau, dưới các môi trường khác nhau “Oak” đã ra đời và vào năm 1995được đổi tên thành Java

2.2.1.2 Một sổ tỉnh chất ngôn ngữ JA VA

Cú pháp Java được vay mượn nhiều từ c & C++ nhưng có cú pháp hướng đổitượng đơn giàn hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chương trìnhbằng Java dỗ hon, đơn giản hơn, đờ tốn công sửa lỗi hơn Dùng bộ thư viện chuẩn KFC,nhiều đoạn code Java chỉ mất vài dòng trong khi c phải mất cả trang giấy

Đon giàn: Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và

quen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của c

❖ Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán từ

❖ Không cho phép đa kể thừa mà sử dụng các giao diện

♦ĩ* Không sử dụng lệnh “goto” cũng như file header (,h).

**** Loại bò cấu trúc “struct” và “union”.

Hướng đối tượng; Java là ngôn ngữ lập trình thuần hướng đối tượng, mọi chương

trình viết trên Java đều phải được xây dựng trên các đối tượng Nếu trong

Trang 18

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

C/C++ ta có thế tạo ra các hàm (chưong trình con không gắn với đối tượng nào) thì trongJava ta chỉ có thể tạo ra các phương thức (chương trình con gắn liền với một lớp cụ thể).Trong Java không cho phép các đối tượng có tính năng đa kế thừa mà được thay thế bằngcác giao diện (interface)

Đỏc lâp phần cứng và hê điều hành: Đối với các ngôn ngữ lập trình truyền thống

Hình 4: Cách biên dịch chương trình truyền thống Với mỗi nền

phần cứng khác nhau, có một trình biên dịch khác nhau để biên dịch mã nguồn chươngtrình cho phù hợp với nền phần cứng ấy Do vậy, khi chạy trên một nền phần cứng khácbắt buộc phải biên dịch lại mã nguồn

Đối với các chương trình viết bang Java, trình biên dịch Javac sẽ biên dịch mãnguồn thành dạng bytecode Sau đó, khi chạy chương trình trên các nền phần cứng khácnhau, máy ảo Java dùng trình thông dịch Java để chuyển mã bytecode thành dạng chạyđược trên các nền phần cứng tương ứng Do vậy, khi thay đối nền phần cứng, không phảibiên dịch lại mã nguồn Java

Hình 5: Cơ chế biên dịch chương trình của Java

IBM

Sparc

Macintosh

Trang 19

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Manh mẽ:

❖ Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu

❖ Kiểu dữ liệu phải khai bảo tường minh

*t* Java không sử dụng con trò và các phép toán con trỏ.

❖ Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bâo rằng cáctruy nhập đó không ra ngoài giới hạn kích thước

❖ Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấp phát

bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đã cấp Vấn

đề có thê nảy sinh khi lập trình viên quên giải phóng bộ nhớ đã xin cấp trước đó.Trong chương trình Java, lập trình viên không phải bận tâm đến việc cấp phát bộnhớ Quá trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu nhặtnhững đối tượng không còn sử dụng nữa (garbage collection)

❖ Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý lỗi và hồi phục sau lỗi

Báo mât: Java cung cấp một môi trường quản lý thực thi chương trình với nhiêu

mức đê kiêm soát tính an toàn:

♦> ơ mức thứ nhất, dữ liệu và các phương thức được đóng gói bên trong lớp Chúngchỉ được truy xuất thông qua các giao diện mà lớp cung cấp

❖ Ở mức thử hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và tuân theocác nguyên tắc của Java

♦♦♦ Mức thứ ba được đảm bảo bởi trình thông dịch; chúng kiêm soát xem bytecode cóđảm bảo các quy tắc an toàn trước khi thực thi không

❖ Mức thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giớihạn truy xuất trước khi nạp vào hệ thống

Phân tán; Java được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp

mạng (java.net) Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sử dụngrộng rãi như là công cụ phát triển trên Internet - nơi sử dụng nhiều nền khác nhau

Đa luồng: Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực

thi các công việc đồng thời Chúng cũng cung cấp giải pháp đồng bộ giữa các

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

luồng, Đặc tính hỗ trợ đa luồng này cho phép xây dựng các ứng dụng trên mạng chạy hiệuquả

Trang 20

Lình đông: Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi

trường mở Các chương trình Java chửa rất nhiều thông tin thực thi nham kiếm soát và truynhập đối tượng lúc chạy Điều này cho phép khá năng liên kết mã động

2.2.2 Ngôn ngữ JSON

JSON (JavaScript Object Noattion) là một chuấn đế định dạng dữ liệu Rất dễ dàng

để đọc, viết và phân tích Nó dựa trên cơ sở tập hợp của ngôn ngữ JavaScript, tiêu chuẩnECMA-262 phiên bản 3 - tháng 12 năm 1999 Khi sử dụng JSON không cần phải có cácbước phân tích phức tạp như đổi với XML Mà có thể truy vẩn trực tiếp giá trị theo tên(khóa) được định nghĩa trong JSON, Đứng về mặt tốc độ của các úng dụng di động đây làmột ưu điểm rất lón

♦> Là tập họp của các cặp tên và giá trị name-value

❖ Là 1 tập hợp các giá trị đã được sắp xếp

*t* JSON là văn bản trơn (không có định dạng(màu sắc, cỡ chữ, ))

♦> JSON là "tự mô tả" (người dùng có thể hiểu được)

❖ JSON là phân cấp (cỏ cấu trúc cây)

❖ JSON có thể được phân tích cú pháp (parse) bởi JavaScript

❖ Dữ liệu JSON có thể được truyền đi bằng AJAX

♦♦♦ Không có thẻ kết thúc

❖ Ngắn hơn

❖ Nhanh hơn đế đọc và ghi

♦ĩ* Có thế được phân tích cú pháp bằng hàm dựng sẵn trong JavaScript là eval 0 *t* Sử

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Trang 21

cũng được dựa trên SGML - Standard Generalized Markup Language, Mặc dù SGMLđược sử dụng trong ngành cồng nghiệp xuất bản trong nhiều thập kỷ, nhưng sự phức tạpcủa nó đều khiến những ai từng sử dụng nó mà không có cách nào khác phải thấy mệt mỏi.

Các đặc điểm của XML:

*t* Dễ dàng viết được các chương trình xử lý dữ liệu

♦ĩ* Tài liệu XML dễ đọc và có tính hợp lý cao

❖ XML dễ dàng được sử dụng trên Internet ♦> XML

Một tài liệu XML được chia thành hai phần chính:

- Phần khai báo: khai báo cho tài liệu XML

❖ khai báo phiên bản, bảng mã ký tự sử dụng trong tài liệu

♦í* định nghĩa kiểu cho tài liệu

- Phần thân: chứa nội dung dữ liệu

*1* gồm một hay nhiều phần tử,

❖ mỗi phần tử được chứa trong một cặp thẻ

♦ĩ* phần tử đầu tiên là phần tử gốc (root element)

2.2.4 Ngôn ngữ PHP

Tóm tất sơ lươc về PHP;

*1* PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus Lerdorf

tạo ra năm 1995 Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọingười xem, sử dụng cùng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

❖ Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản c PHP/F1 2.0 đượcchính thức công bố vào tháng 11 năm 1997

Trang 22

❖ PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với cácphiên bản PFIP mà chúng ta được biết ngày nay Nó đã được An di Gutmans vàZeev Suraski tạo ra năm 1997 PHP 3.0 đã chính thức được công bố vào tháng 6năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm.

♦ĩ* PHP 4.0 đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bảnPF1P 3.0 ra đời Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến cáctính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làmviệc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụngnhập vảo bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới

❖ PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dàicác bản kiểm tra thử bao gồm Beta 4, RC I, RC2, RC3 Mặc dù coi đây là phiênbản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xácthực HTTP

*t* Hiện nay phiên bản tiếp theo của PHP đang được phát trien, PHP 6 bản sử dụng thử

đã có thê được download tại địa chỉ http://snaps.php.net Phiên bản PHP ố được kỳvọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại

Lý ứo chon ngôn ngữ PHP:

**** Viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện

ứng dụng HTTP

♦í* Rất thích hợp với web và có thế dễ dàng nhúng vào trang HTML

❖ Tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn

♦í* Dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữkhác

2.2.5 Các dịch vụ của google với lập trình MapView

Đe làm việc tốt với hệ thống bân đồ của google, thì cần sử dụng một số các dịch vụcần thiết đê lập trình Điêm chung của các dịch vụ này là đều chạy trên môi trường web vàđều trả kết quả qua định dạng file JSON hoặc là XML

Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

2.2.5.1 Google Maps

Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng vàcông nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiềudịch vụ dựa vào bản đồ như Google Ride Finder và một số có thê dùng đê nhúng vào cáctrang web cùa bên thứ ba thông qua Google Maps API Nó cho phép thấy bản đồ đường sá,

Trang 23

đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và xe hơi, vànhững địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới.

2.2.5.2 Google Places API

Trang 24

2.2.5.3 Google Dire etio ns A PI

Google Directions API là một dịch vụ cüa Google INC mà khi sử dụng chúng ta sẽđưa vào tọa độ 2 địa điếm đầu cuối rồi sau đó sẽ được nhận thông tin về khoảng cách giữa

2 địa điếm, tọa độ GPS, thời gian đi lại dự kiến với các phương tiên như xe máy, oto hay là

đi bộ

2.2.5.4 Google Geo coding A PI

Đây là một dịch vụ nữa của google cho phép chúng ta xác định các địa diêm đi qua

trên đường đi giữa 2 vị trí xác định 2.3 Máy ảo Dalvik và Android SDK 2.3.1 Máy ảo Dalvik

Các ứng dụng Android và các thành phần cơ bản hau hết được viết bằng Java, Thay

vì sử dụng máy ảo Java, Android sử dụng máy ảo riêng Máy ảo của Android được thiết kế

và tối ưu cho các hệ thong nhỏ, không tương thích với máy ảo Java của Java ME Những

hệ thống nhỏ này có dung lượng RAM nhỏ, CPU chậm và hầu hết không có chỗ để tráođối dữ liệu bù đắp cho dung lượng bộ nhớ nhỏ

Đây là điểm khác biệt giữa Android với các hệ điều hành cho di động khác nhưSymbian, ÍOS của Apple, webOS của Palm Ngôn ngữ lập trình được sử dụng chính là c,

C++ và objective c, trong khi với webos sử dụng chủ yếu ngôn ngữ web như Javascripthay HTML

Google Places API là một dịch vụ của Google INC mà khi sử dụng chúng ta sẽ nhận đượccác thông tin về các địa điếm đã được đánh dấu trên bản đố Google Maps bởi các tổ chức,công ty và cá nhân ở khắp nơi trên thể giới Đe sử dụng được dịch vụ này chúng ta phảiđăng ký API key dịch vụ Google Places với google (Sử dụng miễn phí có giới hạn so lần

request/day)

Hình 7: Một ví dụ về Google Places API

Trang 25

Trình biên dịch byte code là máy ảo Dalvik Thay vì sử dụng dạng byte code thôngthường, Dalvik có định dạng riêng để phù hợp với yêu cầu đối với thiết bị choXây dựng hệthống tìm kiếm máy ATM trên hệ điều hành Android

Android Mã của Android nhỏ hơn so với mã của Java và file dex được tạo ra cũng nhỏ

2.3.2 Android SDK

Android SDK là bộ công cụ phát triển phần mềm cho phép lập trình viên tạo ra cácứng dụng cho các thiết bị sứ dụng nền tảng Android Android SDK bao gồm nền tảngAndroid, các công cụ, chương trình mẫu và các tài liệu hỗ trợ Nó cũng là thành phẩn bốsung trong bộ phát trien Java và có the tích hợp vào Eclipse

Android chứa các gói hỗ trợ các chức năng tính toán cơ bản như quản lí xâu, quản

lí vào ra, tính toán từ các gói cơ bản trong Java:

❖ Java.lang - lớp ngôn ngữ cơ bản của java

*t* Java.io — quản lí vào ra,

♦♦♦ Java.net — quản lí kết nối mạng

❖ Java.text - tiện ích xử lí văn bản

❖ Java.math - hỗ trợ tính toán

❖ Java.sercurity - quản lí các thành phần bảo mật

♦> Java.xml - các lóp về XML,

*t* org.apache - các lóp liên quan HTTP.

Ngoài ra Android có các lớp riêng như:

❖ android.app truy cập mô hình ứng dụng Android

❖ android, bluetooth - chức năng bluetooth của Android

*!* android.content - quản lí dữ liệu trong Android

❖ android.net - chứa các lóp Uri dùng để truy cập dữ liệu

♦> android.graphics — các thành phần đồ hoạ

❖ android location - các dịch vụ liên quan đến vị trí (ví dụ như GPS)

♦í* android.opengl - các lớp OpenGL

♦> android.view - chứa các thành phần giao diện

❖ android.webkit chức năng của trình duyệt web

♦♦♦ android.widget - các thành phần giao diện khác

Trang 26

Ớ đây chúng ta xem xét lập trình Android với Eclipse vì Eclipse cung cấp phong phủ các thành phần hỗ trợ biên soạn java

và môi trường debug mà còn có thế quản lí và điều khiển các yểu tố khác của ứng dụng Android trực tiếp từ Eclipse IDE

Hình 8: Môi trường phát triển ứng dụng Android trong Eclipse

2.3.3 Android Emulator

Android SDK cung cap một bộ giả lập thiết bị di động ảo Máy ảo này cho phép chúng ta phát trien và kiêm tra cácứng dụng mà không cần một thiết bị Android thật Máy ảo Android có đầy đủ các thành phần từ phần cứng đến phần mềmgiống như một thiết bị thật ngoại trừ nỏ không thế thực hiện được một cuộc gọi Máy ảo Android cho phép sử dụng chuột

để định hướng hay bàn phím để tạo các sự kiện Người dùng có thể cài đặt để kiểm thử phần mềm trên máy ảo với từngphiên bản khác nhau của Android Khi ứng dụng được cài đặt nó có thể sử dụng các ứng dụng đã được cung cấp

trong Android như nghe nhạc, xem video hay vào mạng Máy ảo cũng có khả năng debug, truy cập vào đầu ra của nhân, giảlập các ngắt như khi nhân cuộc gọi hay tin nhắn thậm chí là các ảnh hượng độ trễ của mạng và ngắt trên kênh truyền dữ liệu

• Network connectivity options

• Integrated with Eclipse via Android Development Tools plug-in

SDK documentation

Android Device

* Physical phone hardware

Trang 27

3.1.1 Yêu cầu chức năng

Các chức năng của hệ thống bao gồm:

3.1.2 Yêu cầu phi chức năng

❖ Chương trình có thế đảm bảo làm việc 24/7

❖ Chương trình có thể vận hành tốt khi mà cơ sở dữ liệu về địa điểm có thế tăng độtbiến trong tương lai

❖ Chương trình có thể thực hiện chính xác kết quả với sai số nhở với cơ sở dữliệu lớn.Xây dựng hệ thống tìm kiếm máy ATM trên hệ điều hành Android

Trang 28

♦Î* Chương trình phải đẹp và đơn giản đế những người có ít kinh nghiệm máy tính cóthể sử dụng.

*** Ngưòi sủ dụng: Là người trực tiếp sử dụng phàn mềm để tìm kiếm các máy ATM

hay góp ý cho người phát trien

❖ Quản trị viên: Là người trực tiếp sử dựng phần mềm đế cập nhật các danh mục,

• Tác nhân: Người sừ dụng, Quản trị viên

• Mô tả: Bắt đầu phiên làm việc người sử dụng sẽ mở ứng dụng để tìm kiếm,quản trị viên mở services đê cập nhật danh mục, xem các góp ý

❖ Trường hợp sử dụng: Đóng hệ thống.

• Tác nhân: Người sử dụng, Quản trị viên

Trang 29

• Mô tả: Ket thúc phiên làm việc, người sử dụng và quản trị viên sẽ đóng chươngtrình.Tác nhân: Quản trị viên.

• Mô tả: Cập nhật danh sách các ngân hàng vào hệ thống

❖ Trường hợp sử dụng: Cập nhật DM Tỉnh thành.

• Tác nhân: Quản trị viên

• Mô tả: Cập nhật danh sách các tỉnh thành vào hệ thống

❖ Trường hợp sử dụng: Cập nhật DM Quận huyện.

• Tác nhân: Quản trị viên

• Mô tả: Cập nhật danh sách các quận huyện vào hệ thống

❖ Trường hợp sử dụng: Cập nhật DS Địa điểm.

• Tác nhân: Quản trị viên

• Mô tả: Cập nhật danh sách các địa điếm máy ATM vào hệ thống

♦♦♦ Trường họp sử dụng: Tìm kiếm.

• Tác nhân: Người sử dụng

• Mô tả: Người sử dụng sẽ sừ dụng chức năng này đê tìm kiếm các máy ATMtheo các tiêu chí tìm kiểm, có thể tìm kiếm trong cơ sở dữ liệu MySQL của webservices của chương trình hoặc là từ dịch vụ Google Places API

Ngày đăng: 09/03/2015, 19:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]Google INC. Google Maps API Web Services. (Online) [3] Wikipedia. Android(Hệ điều hành) (Online) Sách, tạp chí
Tiêu đề: Google INC. "Google Maps API Web Services." (Online)[3] Wikipedia. "Android(Hệ điều hành)
[4]Wikipedia. Java (Ngôn ngữ lập trình) (Online) Sách, tạp chí
Tiêu đề: Wikipedia. "Java (Ngôn ngữ lập trình)
[5] ThS. Lê Tân. Giáo trình giảng dạy JA VA cơ bản. Trường CD CNTTHữu Nghị Việt Hàn, 2010 Sách, tạp chí
Tiêu đề: ThS. Lê Tân. "Giáo trình giảng dạy JA VA cơ bản. Trường CD CNTTHữu Nghị Việt Hàn
[6] ThS. Lê Viết Trương. Giáo trình phân tích, thiết kể hướng đổi tượng. Trường CĐ Công nghệ thông tin Hữu nghị Việt Hàn, 8/2011 Sách, tạp chí
Tiêu đề: ThS. Lê Viết Trương. "Giáo trình phân tích, thiết kể hướng đổi tượng. Trường CĐ Công nghệ thông tin Hữu nghị Việt Hàn
[7]JeffFriesen, Learn Java for Android Development, 2009 Sách, tạp chí
Tiêu đề: JeffFriesen, "Learn Java for Android Development

HÌNH ẢNH LIÊN QUAN

Hình 14:  Use Case trường hợp cập nhật DM Quận - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 14 Use Case trường hợp cập nhật DM Quận (Trang 31)
Hình 15:  Use Case trường hợp cập nhật DM Tỉnh - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 15 Use Case trường hợp cập nhật DM Tỉnh (Trang 31)
Hình 17: Các lớp biên - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 17 Các lớp biên (Trang 32)
Hình   20:   Biểu   đồ   trình   tự   Mở   hệ   thống ♦&gt; Biêu đồ trình tự Đóng hệ thống. - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
nh 20: Biểu đồ trình tự Mở hệ thống ♦&gt; Biêu đồ trình tự Đóng hệ thống (Trang 35)
Hình 26: Biểu đồ trình tự   Tìm kiếm bằng Google Services  ❖  Biểu đồ trình tự Gửi góp ý. - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 26 Biểu đồ trình tự Tìm kiếm bằng Google Services ❖ Biểu đồ trình tự Gửi góp ý (Trang 37)
Hình 27: Biểu đồ trình tự Góp ý 3.2.3.2. Biểu đồ cộng tác - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 27 Biểu đồ trình tự Góp ý 3.2.3.2. Biểu đồ cộng tác (Trang 37)
Hình 29: Biểu đồ cộng tác Đóng hệ thống ♦&gt; - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 29 Biểu đồ cộng tác Đóng hệ thống ♦&gt; (Trang 38)
Hình 31: Biếu đồ cộng tác Hiệu chỉnh DM Ngân hàng Hình 32: Biểu đồ cộng tác Xóa DM Ngân hàng - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 31 Biếu đồ cộng tác Hiệu chỉnh DM Ngân hàng Hình 32: Biểu đồ cộng tác Xóa DM Ngân hàng (Trang 38)
Hình   40:   Biểu   đồ   hoạt   động   Đóng   hệ   thống ♦&gt; Biếu đồ hoạt động Cập nhật DM Ngân hàng. - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
nh 40: Biểu đồ hoạt động Đóng hệ thống ♦&gt; Biếu đồ hoạt động Cập nhật DM Ngân hàng (Trang 41)
Hình 41: Biểu đồ hoạt động Cập nhật DM Ngân hàng - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 41 Biểu đồ hoạt động Cập nhật DM Ngân hàng (Trang 41)
Hình 46: Biểu đồ hoạt động Gửi góp ý - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 46 Biểu đồ hoạt động Gửi góp ý (Trang 44)
Hình 51: Quá trình xử lý của Web ServicesXây dựng hệ thống tìm kiếm máy ATM trên - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 51 Quá trình xử lý của Web ServicesXây dựng hệ thống tìm kiếm máy ATM trên (Trang 48)
Hình 53: cấu trúc I Intent - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 53 cấu trúc I Intent (Trang 49)
Hình   54:   Quá   trình   lấy   dữ   liệu  map  từ  Google Thêm Map API key vào layout của form: - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
nh 54: Quá trình lấy dữ liệu map từ Google Thêm Map API key vào layout của form: (Trang 50)
Hình 59: Giao diện chính của chương trình - XÂY DỰNG HỆ THỐNG TÌM KIẾM MÁY ATM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hình 59 Giao diện chính của chương trình (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

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

w