Tải bản đầy đủ (.pdf) (44 trang)

Tiểu luận môn công nghệ phần mềm HỆ ĐIỀU HÀNH ANDROID VÀ NỀN TẢNG GOOGLE MAPS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.5 MB, 44 trang )


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BỘ MÔN CÔNG NGHỆ PHẦN MỀM





CHUYÊN ĐỀ




Giảng viên: TS: Nguyễn Duy Phương
Sinh viên: Vũ Văn Công
Lớp: D10CNPM2
Mã sinh viên: 1021040008





HÀ NỘI, 04/2014
www.ptit.edu.vn
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 1


MỤC LỤC


CHƯƠNG 1: ỨNG DỤNG CÔNG NGHỆ BẢN ĐỒ TRÊN THIẾT BỊ DI ĐỘNG. 3
1.1. Sự phát triển của điện thoại thông minh và ứng dụng di động. 3
1.2. Ý tưởng về ứng dụng mạng địa điểm do chính người dùng tạo ra. 4
CHƯƠNG 2: HỆ ĐIỀU HÀNH ANDROID VÀ NỀN TẢNG GOOGLE MAPS. 6
2.1. Hệ điều hành Android 6
2.1.1 Sơ lược về Android 6
2.1.2 Giao diện 7
2.1.3 Ứng dụng 7
2.1.4 Tổ chức mã nguồn mở 8
2.1.5 Dành cho nhà phát triển. 8
2.2. Google Play Service và Google Maps v2 10
2.2.1 Google Play Service: 10
2.2.2 Google Maps API v2. 11
2.2.3 MySQL và dữ liệu JSON 13
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ. 14
3.1. Yêu cầu chức năng và cơ sở dữ liệu. 14
3.1.1 Mục đích và yêu cầu 14
3.1.2 Phân tích cơ sở dữ liệu. 14
3.2. Phân tích chức năng. 15
3.2.1 Tổng quan. 15
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 2

3.2.2 Xem danh sách địa điểm: 16
3.2.3 Xem chi tiết địa điểm. 16
3.2.4 Đăng nhập – Đăng ký 17
3.2.5 Quản lý thông tin tài khoản. 20
3.3. Thiết kế. 23

3.3.1 Thiết kế giao diện. 23
3.3.2 Thiết kế Activity. 34
CHƯƠNG 4: KẾT LUẬN 42
4.1. Kết quả đạt được 42
4.2. Hướng phát triển cho tương lai 42
Tài liệu tham khảo 43


CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 3

CHƯƠNG 1: ỨNG DỤNG CÔNG NGHỆ BẢN ĐỒ
TRÊN THIẾT BỊ DI ĐỘNG.
1.1. Sự phát triển của điện thoại thông minh và ứng dụng di động.
Sự phát triển đến chóng mặt của điện thoại di động trong thời gian gần đây đã biến
nó thành một công cụ không thể thiếu của mỗi người. Từ chỗ chỉ là một thiết bị liên lạc
thông thường, nó đã đạt được những bước tiến cực lớn để góp mặt trong hầu hết mọi
mặt của cuộc sống. Chỉ với một chiếc điện thoại ở mức trung bình hiện nay, chúng đã
có thể mang đến cho người dùng rất nhiều trải nghiệm thú vị từ đơn giản như chơi
nhạc, lướt web đến các chức năng phức tạp khác…
Điện thoại thông minh được biết đến với thế mạnh là một thiết bị nhỏ gọn với nhiều
công nghệ tích hợp và một hệ thống khổng lồ các ứng dụng, hơn thế là khả năng hỗ trợ
người dùng. Để đạt được những tác động như ngày hôm nay, điện thoại thông minh đã
có một quá trình biến đổi không ngừng.
Đầu tiên phải kể đến là sự phát triển của các thiết bị phần cứng. Từ một chiếc điện
thoại được coi là di động của Motorola ra đời vào năm 1973. Nói như vậy vì khi đó nó
nặng tới 1.1 kg, dày tới 13cm và rộng 4,5 cm, chỉ thực hiện được một cuộc gọi kéo dài
30 phút mà phải mất tới 10 tiếng để nạp lại năng lượng. Cho đến nay nói đến điện thoại

di động người ta nghĩ ngay đến một thiết bị nhỏ gọn bỏ túi với kích thước chỉ vừa lòng
bàn tay và độ dày tính bằng milimet. Nhưng đi ngược lại với nhỏ gọn về kích thước đó
lại là một kho đồ sộ các tính năng được tích hợp trong nó. Người ta mang đến và tích
hợp cho nó vô vàn các thiết bị khác nhau từ màn hình cảm ứng, camera, các cổng kêt
nối ngoại vị đến các thiết bị phức tạp như hệ thống định vị GPS…
Song hành với đó phải kể đến sự phát triển của các ứng dụng di động – cầu nối để các
thiết bị phần cứng có thể hỗ trợ đến người dùng. Ứng dụng di động được chia làm
nhiều loại như ứng dụng giải trí, ứng dụng hỗ trợ liên lạc, ứng dụng đa phương tiện,
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 4

ứng dụng bản đồ,…Với sự đa dạng như vậy, ứng dụng đang dần đi vào mọi mặt của
cuộc sống. Không chỉ đa dạng về thể loại mà còn cả về số lượng các ứng dụng. Điều
này thể hiện ở số lượng khổng lồ các ứng dụng trên chợ ứng dụng trên chợ ứng dụng
của các hãng phát hành. Có thể điểm tên một số chợ ứng dụng lớn nhứ Google
Play(của hàng ứng dụng cho Android) với khoảng 700.000 ứng dụng hay AppStore
(chợ ứng dụng cho iOS)với 625.000.
Điện thoại thông minh – smartphone tuy gia nhập vào thị trường Việt Nam chưa lâu,
song với tính tiện dụng của nó, đã từng bước dần chiếm lĩnh thị trường di động tại đất
nước này. Càng ngày, với những tính năng được nâng cấp và sự phong phú, đa dạng về
mẫu mã, chủng loại, sự khai sinh của những chiếc smartphone giá rẻ, mức độ “phủ
sóng” của thiết bị công nghệ cao ngày càng rộng. Hiện tại ngành lập trình di động đang
thu hút một lượng lớn sự quan tâm của các công ty công nghệ, lập trình viên cũng như
những người đam mê công nghệ. Do là một ngành mới, vấn đề nhân lực vẫn chưa thể
đáp ứng được yêu cầu cả về chất và lượng. Tuy nhiên đây cũng là một hướng đi đầy
hứa hẹn, một mảnh đất đầy màu mỡ để các doanh nghiệp và lập trình viên phát triển
trong hiện tại và tương lai.
1.2. Ý tưởng về ứng dụng mạng địa điểm Place Apps.

Đi cùng với sự phát triển của xã hội, hệ thống đường xá, giao thông ngày càng trở
nên phức tạp, các dịch vụ ăn uống, giải trí phát triển mạnh. Đôi lúc bước ra đường và
có thể chúng ta không biết nên đi đâu, xung quanh mình có địa điểm nào hấp dẫn hay
đôi khi bị lạc đường mà xung quanh không có bản đồ. Hay trong những chuyến du lịch,
công tác ngắn ngày, chúng ta không biết nên chọn địa điểm nào để đáp ứng nhu cầu ăn
uống. Từ mong muốn hỗ trợ người dùng giải quyết các vấn đề trên. Thay vì phải mang
một chiếc bản đồ hay phải liên tục hỏi đường thì chúng ta chỉ việc mở ứng dụng ra và
nó sẽ đưa ra những thông tin mà chúng ta đang tìm kiếm.
Place Apps sẽ cung cấp cho người dùng một trải nghiệm mới về cách tìm kiếm các
địa điểm một cách nhanh chóng, với các hỗ trợ tìm kiếm như: ATM, Ngân hàng, Nhà
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 5

hàng, Trạm xăng. Với cả chế độ tìm kiếm online (nếu máy người dùng có kết nối
internet, GPS và đã cài sẵn Google play service) và chế độ offline (nếu máy người
dùng không kết nối internet), Place Apps sẽ mang đến cho người dùng những tiện ích
bỏ túi hấp dẫn…Em chọn xây dựng ứng dụng này trên nền tảng hệ điều hành Android,
một hệ điều hành cho thiết bị di động do Google phát triển và hiện đang dẫn đầu về số
lượng các thiết bị sử dụng nó. Ứng dụng sử dụng hệ thống bản đồ nền của Google
Maps thông qua Google Maps API v2 – một tính năng được cung cấp trong gói Google
Play Service.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 6

CHƯƠNG 2: HỆ ĐIỀU HÀNH ANDROID VÀ NỀN
TẢNG GOOGLE MAPS.

2.1. Hệ điều hành Android
2.1.1 Sơ lược về Android
Hệ điều hành Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế cho
các thiết bị di động có màn hình cảm ứng như điện thoại thông minh hay máy tính
bảng. Ban đầu Android được phát triển bởi một công ty cùng tên và nhận hỗ trợ tài
chính từ Google. Sau đó được mua lại bởi chính Google vào năm 2005. Android ra mắt
2 năm sau đó với tuyên bố thành lập Liên minh thiết bị cầm tay mở. Thiết bị đầu tiên
chạy Android được bán trên thị trường vào tháng 10 năm 2008.
Android có mã nguồn mở và được Google công bố theo giấy phép Apache. Chính mã
nguông cùng giấy phép không có nhiều ràng buộc này đã cho phép các nhà phát triển
thiết bị, mạng di động và các lập trình viên được thỏa thích điều chỉnh và phân phối
Android một cách hoàn toàn miễn phí. Ngoài ra Android còn có một lực lượng rất đông
đảo các lập trình viên viết ứng dụng trên nền ngôn ngữ Java có sửa đổi. Vào tháng 10
năm 2012 trên chợ ứng dụng chính của Android đã có khoảng 700.000 ứng dụng đi
theo đó là khoảng 25 tỉ lượt tải ứng dụng.
Những yếu tố này dần đưa Android trở thành hệ điều hành trên nền tảng di động
thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý IV năm 2010, và được
các cong ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả
năng tinh chỉnh, chạy trên các thiết bị công nghệ cao thay vì bắt tay làm mới một hệ
điều hành cho riêng họ. Bản chất mở của Android cũng thu hút không ít các lập trình
viên và những người đam mê mã nguồn mở tạo ra các dự án do chính cộng đồng quản
lý.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 7

Với những tiến bộ vượt bậc, Android chiếm 75% thị phần điện thoại thông minh trên
thế giới vào quý III năm 2012 với khoảng 500 triệu thiết bị đã kích hoạt và 1,3 triệu
thiết bị mới kích hoạt mỗi ngày.

Giao diện của Android dựa trên nguyên lý hoạt động tương tác trực tiếp, sử dụng các
động tác cảm ứng tương tự như ngoài đời sống thực tế như vuốt, kéo, xoay. Sự đáp ứng
của thiết bị gần như ngay lập tức khi xảy ra tương tác.
Android hoạt động dựa trên nền Linux 2.6, kể từ Android 4.0 với tên gọi Ice Cream
Sandwich trở về sau, là phiên bản Linux 3.0 với middleware, thư viện và API viết bằng
C, còn các phần mềm ứng dụng chạy trên một nền tảng bao gồm các thư viện tương
thích với Java. Android sử dụng máy ảo Dalvik như một trình biên dịch tự động để
chạy mã dex của Dalvik, thường mã này được dịch thành Java bytecode. Nền tảng của
Android là kiền trúc ARM (Acorn RISC Machine). Người ta cũng muốn nó hỗ trợ kiến
trúc x86 thể hiện ở dự án mang tên Android x86.
Nhân Linux dùng cho Android được Google thực hiện nhiều thay đổi về kiến trúc so
với nhân gốc. Android không có sẵn X Window System cũng như không hỗ trợ các thư
viện GNU chuẩn. Việc chuyển các thư viện có sẵn từ Linux sang Android rất khó khăn.
Các ứng dụng C đơn giản và SDL cũng được hỗ trợ bằng cách chèn các đoạn shim
Java vào và sử dụng tương tự JNI.
2.1.2 Ứng dụng
Android đang có một sự tăng trưởng vượt bậc số lượng các ứng dụng của bên thứ ba,
những ứng dụng này được mang tới cho người dùng chủ yếu thông qua một kênh là
chợ ứng dụng như Google Play hay Amazon AppStore hoặc người dùng có thể tải về
tập tin cài đặt APK từ trang của một hãng thứ ba nào đó. Ứng dụng Play Store cho
phép người dùng tham khảo, tải về, cập nhật các ứng dụng được phát hành bởi Google
và các hãng thứ ba khác và được cài đặt sẵn trên các thiết bị nếu chúng tương thích với
các yêu cầu của Google.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 8

Hiện tại trên các chợ ứng dụng này đã có hơn 700.000 ứng dụng với nhiều mặt hỗ trợ
khác nhau và số lượt tải ứng dụng đã đạt đến con số 25 tỉ lượt tải.

Các ứng dụng viết cho Android được viết bằng ngôn ngữ Java trên một bộ công cụ
hỗ trợ lập trình mang tên Android Software Development Kit (SDK). SDK này chứa
sẵn các công cụ hỗ trợ lập trình bao gồm debuger, các thư viện phần mềm, bộ giả lập
thiết bị ảo, tài liệu kỹ thuật, mã nguồn mẫu và các bài hướng dẫn. Thông thường nó sử
dụng một môi trường phát triển tích hợp là Eclipse sử dụng trình cắm Android
Development Tool (ADT). Ngoài ra cũng tồn tại một số công cụ lập trình khác như
Native Development Kit (NDK) dùng cho các ứng dụng hay phần mở rộng viết bằng C
hoặc C++, như Google App Inventor, một môi trường lập trình dành cho các lập trình
viên mới làm quen và một vài nền tảng kép giữa di động và môi trường ứng dụng web.
2.1.3 Tổ chức mã nguồn mở
Android là một hệ điều hành mã nguồn mở cho phép các nhà phát triển và tất cả
những người quan tâm có thể tham gia phát triển một cách thoải mái các ứng dụng hay
thay đổi, nâng cấp các phiên bản của hệ điều hành.
Các bản cập nhật từ các nhà phát hành này thường mang tới các tính năng mới, hay
hoàn thiện một tính năng cũ nào đó. Những bản cập nhật này thường đến với người
dùng nhanh hơn so với từ nhà sản xuất chính, mặc dù chúng không trải qua một công
đoạn kiểm thử hay đảm bảo chất lượng nào. Từ đam mê của những nhà phát triển này,
các thiết bị cũ có thể chạy được những phiên bản mới nhất của hệ điều hành mà không
cần tới những bản cập nhật (vốn bị bỏ quên) từ phía nhà cung cấp, hay chạy Android
trên các thiết bị vốn chạy các hệ điều hành khác, như HTC TouchPad. Cộng đồng
thường đưa ra những phiên bản đã được root sẵn và điều chỉnh những vấn đề không
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 9

phù hợp cho những người không nắm bắt được công nghệ như khả năng ép xung hay
over/undervolt
1
của thiết bị. CyanogenMod là một firmware được sử dụng nhiều nhất.

Trước đây các nhà sản xuất và phân phối điện thoại tỏ ra thiếu thiện chí với việc hỗ
trợ các firmware đến từ bên thứ ba. Họ còn cho rằng các thiết bị chạy các firmware này
sẽ hoạt động không tốt và gây tốn kém tiền bạc cho họ nếu họ hỗ trợ chúng. Hơn thế
các firmware đã trải qua nhiều thay đổi như CyanogenMod đôi khi còn cung cấp những
tính năng như tethering
2
mà người dùng sẽ phải trả phí cho nhà mạng nếu muốn sử
dụng chúng. Kết quả là một số thiết bị bắt đầu đặt ra một số hàng rào như khóa
bootloader để hạn chế quyền truy cập vào boot. Tuy nhiên sau những phát triển của
cộng đồng này, Thư viện Quốc hội Hoa Kỳ đã đưa ra một thông cáo cho phép “jail
break” (kỹ thuật bẻ khóa) các thiết bị di dộng. Nhờ vậy các nhà cung cấp và nhà mạng
bắt đầu tỏ ra mềm mỏng hơn với các nhà phát triển thứ ba này, trong đó có một vài
công ty lớn như HTC, Motorola, Samsung và Sony cung cấp hỗ trợ và khuyến khích
phát triển. Kết quả của nó làm cho các vấn đề về phần cứng ngăn không cho cài
firmware ngày càng giảm bớt, số lượng các thiết bị được mở khóa thậm chí mở khóa
bootloaders sẵn ngày càng gia tăng, như chuỗi sản phẩm điện thoại Nexus của Google.
Tuy nhiên nếu làm vậy người dùng có thể phải từ bỏ chế độ bảo hành cho thiết bị của
mình. Và vấn có một vài nhà mạng ở Mỹ không chấp nhận chuyện này, điện thoại sử
dụng mạng của họ bắt buộc không được mở khóa.
Việc mở khóa, bẻ khóa đang trở thành nguyên nhân gây căng thẳng giữa cộng đồng
với các nhà công nghiệp. Cộng đồng người dùng cho rằng nền công nghiệp đáp ứng


1
Over/UnderVolt: là một kỹ thuật tăng giảm điện áp của một bộ phận nào đó, thường
là vi xử lý nhằm giảm áp lực xử lý, giải quyết vấn đề tản nhiệt, kỹ thuật thay thế phần
nào cho việc sử dụng hệ thống quạt tản nhiệt trong các thiết bị điện tử.
2
Tethering: một kỹ thuật giúp một chiếc điện thoại có thể kết nối không dây với một
thiết bị khác như PC,… mục đích chủ yếu của kỹ thuật này là chia sẻ, truyền mạng

Internet giữa các thiết bị(sử dụng điện thoại như một modem không dây cho PC,
laptop)
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 10

quá chậm với nhu cầu cập nhật, nâng cấp của người dùng thậm chí không hỗ trợ họ đối
với những thiết bị cũ, còn các nhà phát triển không chính thức thì làm rất tốt điều đó.
2.1.4 Dành cho nhà phát triển.
Hiện tại Android cung cấp một trang tài liệu hỗ trợ các nhà lập trình tại địa chỉ
, trang này cung cấp các tài liệu kỹ thuật về các thư viện,
cách sử dụng các hàm, lớp trong Android.
Ngoài ra còn các trang hỗ trợ không chính thức như trang hỏi đáp
hay các trang hướng dẫn lập trình, tham khảo mã nguồn, ví
dụ mẫu như hay . Ở Việt Nam cũng có
nhiều cộng đồng Android khá đông đảo tại các diễn đàn như vietandroid.com,
android.vn là nơi trao đổi kinh nghiệm, thảo luận các vấn đề về lập trình Android.
2.2. Google Play Service và Google Maps v2
2.2.1 Google Play Service:
Google Play Service là một dịch vụ của Google Play, được sử dụng trên các thiết bị
chạy hệ điều hành Android với nhiệm vụ chính là quản lý, kiểm soát và cập nhật các
ứng dụng hay nâng cấp hệ điều hành theo nhu cầu của người dùng.
Trong năm 2013, Google đưa ra đã công bố nhiều cải tiến cho Android: Google
Hangouts, Google Play games, giao diện mới cho Google Play Music và Google Map,
bộ API mới cho Google Map, tính năng lưu trữ dữ liệu trò chơi trên mạng và một tính
năng quan trọng khác là Android Device Manager. Tất cả các tính năng này được
không được tích hợp trong một bản cập nhật nào của Android mà được đóng gói vào
một ứng dụng duy nhất. Đó chính là Google Play Service.
Tuy nói như vậy, nhưng Google Play Service không thực sự là một ứng dụng. Nó đòi

hỏi hầu hết các quyền truy cập, sử dụng cơ chế cập nhật ngầm, tự cập nhật thay vì
thông qua Play Store, người dùng không thể kiểm soát và cũng không biết khi nào thì
nó thực hiện cập nhật. Google Play Service là một nền tảng mới cho Android.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 11

Google Play Service có cách hoạt động rất rõ ràng: Nó có thể điều khiển toàn bộ hệ
thống nhưng lại tự động cập nhật, nâng cấp chính mình. Là một phần của gói ứng dụng
Google, và các bên thứ hai không thể tác động vào nó; hay nói cách khác Google hoàn
toàn kiểm soát Google Play Service.
Hầu hết các ứng dụng hiện tại của Google đều cần có Google Play Service để có thể
hoạt động được. Hiện tại nó đang điều khiển tất cả các API của Google Maps, chịu
trách nhiệm đồng bộ dữ liệu tài khoản Google Plus, quản lý nội dung dữ liệu từ xa, đẩy
tin nhắn, điều khiển hoạt động nền của Play Games.
Để thấy mức độ quan trọng của Google Play Service, hãy cùng nhìn vào những con
số thống kê sau. Lượng thiết bị chạy các bản từ Jelly Bean(Android 4.1) chiếm một
nửa số thiết bị chạy Android với 54.2%, trong đó Android 4.4 Kit Kat ra mắt gần đây
đạt con số 1.1%. Trong khi đó Google Play Service được phát hành tới tất cả các thiết
bị chạy Android từ phiên bản 2.2 trở lên có nghĩa là phần lớn các thiết bị phát hành
trong vòng 3 năm trở lại đây (theo Google thì ở vào khoảng 98% thiết bị chạy Android
sử dụng phiên bản từ 2.2 trở lên). Với con số khổng lồ như vậy nhưng nếu có một thay
đổi quan trọng từ các ứng dụng của Google thì chỉ trong vòng 1 tuần hầu hết số thiết bị
trên đều sẽ hoàn tất cập nhật. Play Service trở thành sợi dây liên kết giữa Google và
thiết bị của bạn.
Dựa vào Play Service, các tính năng trên Android không còn bị gắn chặt vào hệ điều
hành nữa, trừ những tính năng cơ bản. Thay vì phải mất vài tháng chờ phiên bản hệ
điều hành mới được ra mắt, người dùng có thể chỉ phải chờ một vài tuần là đã có thể
trải nghiệm những thay đổi mới nhất từ Google.

2.2.2 Google Maps API v2.
a. Google Maps là gì?
Là một hệ thống ứng dụng và công nghệ bản đồ kỹ thuật số do Google cung cấp,
nhằm mục đích cung cấp một số dịch vụ liên quan đến bản đồ. Nó bao gồm trang web
Google Maps (), Google Rider Finder, Google Transit, và một
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 12

hệ thống nhúng bản đồ vào một ứng dụng thứ ba thông qua Google Maps API. Google
Maps đưa ra các chỉ dẫn về đường đi, chỉ đường cho người đi bộ, đi xe hơi và các
phương tiện di chuyển đường bộ khác, các địa điểm, khu vực trên toàn thế giới.
b. Google Map API.
Sau thành công trên một vài ứng dụng được nhúng Google Maps như
chicagocrime.com hay housingmaps.com. Google bắt tay vào phát triển và tung ra hệ
thống thư viện Google Maps API v1 vào tháng 6 năm 2005, cho phép các nhà phát
triển sử dụng hệ thống bản đồ của Google vào trang web của họ. Khi đó, nó hoàn toàn
miễn phí và không hề có các quảng cáo chèn vào. Nhưng Google khẳng định trong
tương lai họ có quyền chèn quảng cáo vào trong các bản đồ đó.
Bằng cách sử dụng Google Maps, người ta có thể đưa vào sản phẩm của mính một hệ
thống bản đồ nền, sau đó phủ một lớp dữ liệu tùy chọn lên trên tùy theo các mục đích
khác nhau.
Ban đầu thư viện chỉ là một thư viện Javascript đơn giản, sau đó được mở rộng bao
gồm các tính năng như dùng cho ứng dụng sử dụng Adobe flash(hiện tại điều này đã
được lược bỏ), dịch vụ lấy hình ảnh bản đồ tĩnh, các dịch vụ mạng mã hóa dữ liệu địa
lý, tạo độ cao(bản đồ 3 chiều), tạo đường giao thông. Hiện tại có khoảng hơn 1 triệu
trang web sử dụng hệ thư viện này. Sau này Google mở rộng hệ thống thư viện này để
nó có thể ứng dụng trên nhiều nền tảng thiết bị khác nhau chứ không riêng gì nền tảng
website.

c. Ứng dụng bản đồ trên các thiết bị di động.
Tháng 10 năm 2005, Google giới thiệu một ứng dụng Java với tên gọi Google Maps
cho điện thoại di động, chạy trên các thiết bị sử dụng ngôn ngữ Java. Đến tháng 4 năm
2010, bản nâng cấp với tên gọi Google Maps Navigation được phát hành nó hỗ trợ các
thiết bị chạy Google Android phiên bản 2.0 Eclair như Motorola Droid, với các tính
năng mới như nhận dạng lệnh qua giọng nói, báo cáo giao thông, xem đường đi. Đến
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 13

nay thì Google Maps đã có mặt ở hầu hết các nền tảng từ Android, iOS đến các hệ máy
chơi game như Nintendo DS, Wii U,…
2.2.3 MySQL và dữ liệu JSON
a. MySQL
MySQL hay còn được gọi là My Sequel là một hệ cơ sở dữ liệu mã nguồn mở thông
dụng bậc nhất trên thế giới và được các nhà phát triển rất ưa chuộng sử dụng. Vì
MySQL đáp ứng được các yêu cầu về tốc độ xử lý, tính ổn định và rất dễ sử dụng, có
tính khả chuyển và hoạt động tốt trên nhiều nền tảng hệ điều hành và bản thân sở hữu
một số lượng lớn các hàm tiện ích rất mạnh. MySQL đặc biệt thích hợp cho các ứng
dụng sử dụng hệ cơ sở dữ liệu trên nền web. MySQL thường được sử dụng để bổ trợ
cho các ngôn ngữ web như PHP, Perl,…
b. JSON.
JSON (viết tắt của Java Script Object Notation) là một chuẩn định dạng mở sử dụng
cho việc truyển gửi dữ liệu dạng đối tượng từ máy chủ đến các máy khách, thông dụng
trong các ứng dụng web, có nét tương tự như ngôn ngữ XML. Được Douglas
Crockford phát triển và chính thức công bố vào năm 2001.

CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014


SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 14

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ.
3.1. Yêu cầu chức năng và cơ sở dữ liệu.
3.1.1 Mục đích và yêu cầu
a. Yêu cầu chức năng chính:
Là một ứng dụng hỗ trợ cả việc tìm kiếm online và offline nên đầu tiên ứng dụng cần
có một cơ sở dữ liệu đủ lớn để cung cấp cho người dùng các thông tin. Ứng dụng cũng
hỗ trợ một server để chứa các thông tin phản hồi của người dùng: các chấm điểm sao,
các bình luận,…
Tiếp đó, ứng dụng cần phải đảm bảo các tính năng cơ bản của một ứng dụng bản đồ
như cung cấp hệ thống bản đồ cùng danh mục địa điểm, thông tin cụ thể của địa điểm
đó và có khả năng chỉ dẫn ngươi dùng đến địa điểm đó, tìm kiếm một địa điểm theo
yêu cầu của người dùng. Cập nhật vị trí của người dùng khi người dùng di chuyển.
b. Yêu cầu thiết bị:
Để sử dụng được ứng dụng mạng địa điểm Ineed, thiết bị cần đạt được những yêu cầu
sau:
- Hệ điều hành Android mọi phiên bản.
- Cài đặt Google Play Service (không bắt buộc).
- Có định vị GPS (không bắt buộc).
- Kết nối Internet (không bắt buộc).
3.1.2 Phân tích cơ sở dữ liệu.
Cơ sở dữ liệu xoay quanh hai đối tượng chính bao gồm: địa điểm và người dùng. Đối
tượng địa điểm chứa các thuộc tính như vị trí, địa chỉ, tên, mô tả… Đối tượng người
dùng để mô tả và lưu trữ các thông tin của người dùng sử dụng để đăng nhập hệ thống.
Với các yêu cầu thiết kế như trên, cơ sở dữ liệu sẽ cần các bảng để quản lý thông tin
về tài khoản, thông tin địa điểm, thông tin về phản hồi của người dùng,…
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014


SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 15

Như vậy, cơ sở dữ liệu sẽ như sau:



3.2. Phân tích chức năng.
3.2.1 Tổng quan.
Nhằm đáp ứng các yêu cầu nêu trên, ứng dụng cần có các chức năng cơ bản sau:
- Xem danh sách địa điểm: Cung cấp thông tin tổng quan, danh sách các địa điểm
dựa theo vị trí của người dùng. Người dùng có thể xem chi tiết một địa điểm từ
chức năng này.
- Xem chi tiết một địa điểm: Cung cấp thông tin chi tiết về một địa điểm được
người dùng lựa chọn.
- Đăng nhập/Đăng ký: cho phép người dùng đăng nhập vào hệ thống và lấy các
thông tin cá nhân. Hoặc đăng ký đối với người mới.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 16

- Quản lý thông tin tài khoản: quản lý thông tin cá nhân, thay đỏi một số thông tin
cho phép. Yêu cầu đăng nhập
3.2.2 Xem danh sách địa điểm:
a. Chức năng:
Chức năng này có chức năng hiển thị danh sách các địa điểm để người dùng có thể
lựa chọn xem địa điểm mình muốn tìm kiếm. Để hiển thị được danh sách các địa điểm
theo nhu cầu, người dùng có ba lựa chọn: Tìm kiếm theo tên (từ khóa), tìm kiếm theo
khu vực hành chính và tìm kiếm theo Google maps.

b. Mô tả quá trình thực thi:
Sau khi ứng dụng được khởi chạy, hệ thống sẽ hiển thị các đối tượng tìm kiếm bao
gồm: ATM, Ngân hàng, Nhà hàng và Trạm xăng. Sau khi người dùng chọn một đối
tượng tìm kiếm thì sẽ hiển thị form tìm kiếm (đây cũng chính là form sẽ hiển thị danh
sách các địa điểm). Như đã nói ở trên, người dùng sẽ có 3 lựa chọn để tìm kiếm. Nếu
người dùng chọn kiểu tìm kiếm theo tên, thì một dialog sẽ xuất hiện, sau khi nhập từ
khóa và nhấn OK, hệ thống sẽ tìm kiếm và trả về cho người dùng một danh sách các
địa điểm theo từ khóa đó. Nếu người dùng chọn kiểu tìm kiếm theo khu vực hành
chính thì một dialog sẽ hiện ra có chưa tên các quận huyện ở Hà Nội, người dùng có
thể lựa chọn một hay nhiều quận huyện, hệ thống sẽ hiển thị danh sách theo các lựa
chọn. Một cách khác, nếu người dùng lựa chọn kiểu tìm kiếm sử dụng google maps thì
hệ thống sẽ yêu cầu bạn kết nối internet và bật GPS, khi đó hệ thống sẽ hiển thị bản đồ
vị trí bạn đang đứng và các địa điểm xung quanh bạn trong vòng bán kính 10km. Bạn
sẽ được chỉ đường trong trường hợp này.
3.2.3 Xem chi tiết địa điểm.
a. Mô tả chức năng:
Khi một địa điểm được người dùng chọn từ chức năng xem danh sách địa điểm, chức
năng xem chi tiết địa điểm được thực thi. Nhiệm vụ chính của nó là đưa ra các thông
tin chi tiết về một địa điểm như tên địa điểm, loại hình, vị trí, khoảng cách, mô tả,
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 17

thông tin liên lạc. Ngoài ra người dùng có thể sử dụng một trong các tính năng mở rộng
như xem và thêm phản hồi, chấm điểm cho địa điểm.
b. Mô tả quá trình thực thi.
Sau khi người dùng lựa chọn một địa điểm, thông tin về địa điểm đó sẽ được hiển thị
theo thứ tự: Tên địa điểm, địa chỉ, mô tả, các tuyến bus đi qua. Kèm theo đó là các bình
luận và chấm điểm sao cho địa điểm. Để có thể gửi bình luận, người dùng cần phải có

một tài khoản để đăng nhập. Sau khi bình luận, nội dung sẽ được hiển thị lên trên địa
điểm đó.
3.2.4 Đăng nhập – Đăng ký
a. Chức năng:
Cho phép người dùng đăng nhập vào tài khoản cá nhân trên hệ thống, hay đăng ký
cho những người dùng mới. Chức năng này được gọi mỗi khi người dùng thực hiện các
hành động cần dữ liệu cá nhân như thêm địa điểm, thay đổi thông tin, đăng ký theo dõi
địa điểm,… mà chưa thực hiện đăng nhập trước đó.
b. Biểu đồ Usercase:
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 18


Hình 1 – Usercase chức năng đăng nhập/đăng ký.
c. Mô tả quá trình thực thi:
Khi nhận được yêu cầu đăng nhập của người dùng hay người dùng thực hiện các
hành động cần đăng nhập, ứng dụng thực hiện kiểm tra thông tin đăng nhập. Nếu thông
tin hợp lệ, ứng dụng thực hiện hành động đăng nhập và lấy về thông tin tài khoản từ
server, đồng thời lưu thông tin đăng nhập. Đối với người dùng mới, hệ thống cho phép
đăng ký và thưc hiện đăng nhập tự động nếu đăng ký thành công.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 19


Hình 2 – Biểu đồ trạng thái chức năng đăng nhập – đăng ký.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS

2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 20


Hình 3 – Biểu đồ tuần tự chức năng đăng nhập

Hình 4 – Biểu đồ tuần tự chức năng đăng ký
3.2.5 Quản lý thông tin tài khoản.
a. Chức năng:
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 21

Cho phép người dùng theo dõi các thông tin về tài khoản đã đăng ký, thay đổi mật
khẩu, thay đổi thông tin. Chức năng này yêu cầu đăng nhập.
b. Biểu đồ Usercase:

Hình 5 – Usercase chức năng quản lý thông tin cá nhân
c. Mô tả quá trình thực thi:
Ứng dụng lấy dữ liệu cá nhân từ server và hiển thị cho người dùng khi có yêu cầu.
Khi người dùng thay đổi thông tin, những thông tin này sẽ được kiểm tra tính hợp lệ
trước khi được cập nhật trên cơ sở dữ liệu.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 22



Hình 6 – Biểu đồ trạng thái quản lý thông tin cá nhân.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 23


Hình 7 – Biểu đồ tuần tự quản lý thông tin cá nhân.
3.3. Thiết kế.
3.3.1 Thiết kế giao diện.
a. Giao diện chính.
Giao diện chính bao gồm các thể loại để người dùng chọn lựa theo nhu cầu.
Sau khi người dùng chọn thì một giao diện khác sẽ được hiển thị lên theo thể loại đó.
CHUYÊN ĐỀ –ỨNG DỤNG: PLACES APPS
2014

SINH VIÊN THỰC HIỆN: VŨ VĂN CÔNG – D10CNPM2 TRANG 24


Hình 8 – Giao diện chính
b. Giao diện tìm kiếm (hiển thị danh sách)

×