Tải bản đầy đủ (.docx) (108 trang)

Xây dựng ứng dụng tìm kiếm thông tin bản đồ trên thiết bị android

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 (9.9 MB, 108 trang )

Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG
ĐẠI HỌC NHA TRANG KHOA CÔNG
NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
Đề tài:
Xây dựng ứng dụng tìm kiếm thơng tin bản đồ
trên thiết bị Android

Giáo viên hướng dẫn: Trần Minh Văn
Sinh viên thực hiện: Trần Mạnh Cường
MSSV:50130175
Lớp 50TH2

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Contents
Lời nói đầu...................................................................................................................................................... 6
Chương I: Giới thiệu.................................................................................................................................... 7
I.1 Du lịch Nha Trang.............................................................................................................................. 7
I.2 Công nghệ thiết bị di động............................................................................................................... 8
I.2.1 Di động đi tắt đón đầu trong thế giới công nghệ................................................................ 8
I.2.2 Thời kỳ “hậu PC” và cơ hội cho các lập trình viên di động.......................................... 10
I.3 Mục đích thực hiện đề tài............................................................................................................... 13
Chương II: Hệ điều hành Android.......................................................................................................... 15
II.1 Giới thiệu hệ điều hành Android................................................................................................. 15
II.2 Những đặc trưng của hệ điều hành Android:............................................................................ 15
II.3 Các tính năng hỗ trợ sẵn trong hệ điều hành Android............................................................ 16


II.4 Kiến trúc và các thành phần trong hệ điều hành Android..................................................... 17
II.4.1 Linux kernel (nhân Linux)................................................................................................... 17
II.4.2 Libraries.................................................................................................................................... 17
II.4.3 Android runtime:.................................................................................................................... 18
II.4.4 Application framework 2.4.3 Android runtime:.............................................................. 18
II.4.5 Applications:............................................................................................................................ 19
II.5 Các khái niệm cơ bản trong lập trình ứng dụng Android...................................................... 19
II.5.1 Activity..................................................................................................................................... 19
II.5.2 Service....................................................................................................................................... 22
II.5.3 Content provider..................................................................................................................... 23
II.5.4 Broadcast Receive.................................................................................................................. 23
II.5.5 View........................................................................................................................................... 23
II.5.6. Intent........................................................................................................................................ 24
II.6 Các thành phần trong một project ứng dụng Android............................................................ 25
II.6.1. AndroidManifest.xml........................................................................................................... 25
II.6.2. File R.java............................................................................................................................... 26
II.6.3 Thư mục src............................................................................................................................. 26
II.6.4 Thư mục rec............................................................................................................................. 26
Chương III: Công nghệ XML và Webservice...................................................................................... 27
III.1 Công nghệ XML............................................................................................................................ 27
III.1.1 Lịch sử ra đời chuẩn XML, XML là gì?.......................................................................... 27
III.1.2 Cấu trúc của file XML và tài liệu XML.......................................................................... 27
GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường

2


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
III.1.3 Đặc điểm của XML.............................................................................................................. 28
III.1.4 XML và HTML..................................................................................................................... 29

III.1.5 Ngôn ngữ đặt tả cấu trúc..................................................................................................... 29
III.1.6 Ưu điểm của XML................................................................................................................ 30
III.2 Webservice.......................................................................................................................................... 31
III.2.1 Webservice là gì ?...................................................................................................................... 31
III.2.2 Một số đặt điểm cơ bản của webservice............................................................................... 32
III.2.3 Phân loại webservice................................................................................................................. 32
Chương IV: Google Map và Google Maps API Web Services........................................................ 34
IV.1 Google Map.................................................................................................................................... 34
IV.1.1 Giới thiệu Google Map........................................................................................................ 34
IV.1.2 Google Maps for Mobile..................................................................................................... 35
IV.2 Google Maps API Web Services................................................................................................ 37
IV.2.1 Giới thiệu Google Maps API Web Services.................................................................... 37
IV.2.2 Sử dụng Google Maps API Web Services....................................................................... 37
IV.3 Google Geocoding API................................................................................................................ 40
IV.3.1 Mã hóa địa lý là gì?.............................................................................................................. 40
IV.3.2 Giới hạn sử dụng................................................................................................................... 40
IV.3.3 Geocoding API request........................................................................................................ 40
IV.3.4 Kết quả mã hóa địa lý........................................................................................................... 41
IV.3.5 Giải mã địa lý (tìm địa chỉ từ kinh độ-vĩ độ).................................................................. 47
IV.4 Google Distance Matrix API....................................................................................................... 50
IV.4.1 Giới hạn sử dụng................................................................................................................... 50
IV.4.2 Distance Matrix API request.............................................................................................. 50
IV.4.3 Kết quả từ Distance Matrix API........................................................................................ 52
IV.5 Google Direction API................................................................................................................... 58
IV.5.1 Giới hạn sử dụng................................................................................................................... 58
IV.5.2 Google Direction request..................................................................................................... 58
IV.5.3 Kết quả trả về Google Direction........................................................................................ 61
Chương V: Cơ sở dữ liệu SQLite............................................................................................................ 70
V.1 Giới thiệu SQLite............................................................................................................................ 70
V.2 Thiết kế của SQLite........................................................................................................................ 70

V.3 Các đặc tính của SQLite................................................................................................................ 71
V.4 Sử dụng SQLite............................................................................................................................... 71
GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường

3


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
V.4.1 Những trường hợp thích hợp sử dụng SQLite................................................................. 71
V.4.2 Những trường hợp khơng thích hợp sử dụng SQLite..................................................... 73
V.5 Các ứng dụng lớn của SQLite...................................................................................................... 74
Chương VI: Xây dựng ứng dụng............................................................................................................ 75
VI.1 Phân tích thiết kế dữ liệu............................................................................................................. 75
VI.1.1 Đặc tả hệ thống..................................................................................................................... 75
VI.1.2 Mơ hình thực thể kết hợp.................................................................................................... 76
VI.1.3 Mơ hình vật lý dữ liệu......................................................................................................... 77
VI.2 Các yêu cầu về chức năng của chương trình.......................................................................... 77
VI.3 Các vấn đề trong quá trình xây dựng ứng dụng..................................................................... 78
VI.3.1 Giao diện UI trong lập trình ứng dụng Android............................................................ 78
VI.3.2 Đăng ký bản đồ Google Map trong ứng dụng............................................................... 82
VI.3.3 Đánh dấu địa điểm và hiện thông tin trên bản đồ......................................................... 83
VI.3.4 Sử dụng SQLite trong hệ điều hành Android................................................................. 84
VI.3.5 Phân tích cú pháp XML...................................................................................................... 86
VI.3.6 Chạy đa tiến trình các tác vụ truy cập mạng nhằm giảm độ trễ cho ứng dụng.....87
VI.3.7 Bắt vị trí hiện tại bằng các Location Provider............................................................... 88
VI.3.8 Dùng Observer Template để thông báo cho các Activity mỗi khi địa điểm hiện tại
thay đổi................................................................................................................................................. 90
VI.3.9 Gọi các Activity và truyền dữ liệu giữa chúng.............................................................. 91
VI.4 Kết quả xây dựng ứng dụng....................................................................................................... 92
Chương VII: Tổng kết............................................................................................................................. 106

VII.1 Ưu khuyết điểm của chương trình đã xây dựng................................................................. 106
VII.1.1 Ưu điểm.............................................................................................................................. 106
VII.1.2 Khuyết điểm....................................................................................................................... 106
VII.2 Hướng đi trong tương lai......................................................................................................... 106
VII.3 Kết quả đạt được....................................................................................................................... 107
Tài liệu tham khảo.................................................................................................................................... 108

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Lời nhận xét của giáo viên hướng dẫn:
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

Lời nói đầu
Hiện hay du lịch đang là một ngành kinh tế mũi nhọn của Việt Nam nói chung
và đặt biệt là đối với Thành phố Nha Trang tỉnh Khánh Hòa. Với tiềm năng du lịch
như vậy việc xúc tiến quảng bá du lịch và cung cấp thông tin du lịch là điều rất quan
trọng để đẩy mạnh hơn nữa ngành kinh tế mủi nhọn này.
Với sự xuất hiện phát triển chóng mặt của cơng nghệ mobile-thiết bị nhúng hiện
nay mang lại cơ hội quảng bá du lịch và cung cấp thông tin du lịch một cách thuận tiện
nhất cho khách du lịch. Và hiệu quả mạng lại là rất cao.

Với sự hướng dẫn, giúp đỡ của thầy Trần Minh Văn tôi đã thực hiện đề tài ‘Xây
dựng ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android’. Phần mềm sản
phẩm có tên là ‘Du lịch Nha Trang bằng xe buýt’. Được viết bằng ngôn ngữ Java,
trên nền tảng Android 2.3.3, sử dụng Google Map API lever 10 và Google Maps API
Web Services, sử dụng công nghệ XML, cơ sở dữ liệu SQLite.
Phần mềm ‘Du lịch Nha Trang bằng xe buýt’ sẽ cung cấp thông tin địa điểm
du lịch chia thành các nhóm: ăn uống, vui chơi, tham quan … Cung cấp chức năng
quản lý thông tin các địa điểm du lịch, cho phép người sử dụng thêm thơng tin các vị
trí của mình chưa có trong dữ liệu, cung cấp thông tin các tuyến và trạm xe bt, hiển
thị tồn bộ thơng tin trên bảng đồ Google Map, lấy vị trí hiện tại trên bản đồ và chức
năng tìm đường đi.
Vì thời gian cộng với khả năng của bản thân có hạn và đây là một lĩnh vực khá
mới mẻ nên chương trình chắc chắc sẽ cịn nhiều thiếu sót. Vì vậy tơi mong sẽ nhận
được nhiều góp ý từ phía thầy cơ để chương trình có thể hồn thiện thêm.
Cuối cùng tơi xin cảm ơn thầy Trần Minh Văn đã lo lắng và giúp đỡ em trong
suốt quá trình thực hiện đề tài.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

Chương I: Giới thiệu
I.1 Du lịch Nha Trang
Nha Trang, một điểm du lịch hấp dẫn khách du lịch gần xa đặc bởi những bãi
biển n bình và khí hậu mát mẻ suốt bốn mùa. Đến với Nha Trang khách du lịch
không những được thưởng thức vô vàn cảnh đẹp thiên nhiên mà cịn được tìm hiểu về
văn hóa cả truyền thông lẫn hiện đại.
Trong khoảng 20 năm qua, du lịch Nha Trang đã phát triển khá toàn diện về cơ
sở hạ tầng cũng như chất lượng sản phẩm du lịch. Nhờ đó, Nha Trang đã trở thành

trung tâm du lịch lớn của cả nước, hàng năm thu hút lượng khách lớn đến nghỉ dưỡng.
Thiên nhiên đã ưu đãi cho Nha Trang những điều kiện tuyệt vời để phát triển du
lịch, đó là vịnh Nha Trang - một trong những vịnh đẹp nhất thế giới, thời tiết ấm áp
quanh năm… Vùng đất này cịn có nhiều trầm tích văn hóa gắn liền với 2 nền hóa Việt
- Chăm, những lễ hội độc đáo của cư dân miền biển gắn với con người hiền hòa, mến
khách… Những chuyên gia du lịch thế giới đánh giá, với những tiềm năng vốn có,
Nha Trang hội tụ đầy đủ các lợi thế để trở thành một trung tâm du lịch biển của thế
giới như Bali (Indonesia), Phuket (Thái Lan).
Cơ sở hạ tầng du lịch Nha Trang phát triển rất nhanh, cho đến nay Nha Trang đã
có gần 500 cơ sở lưu trú với hơn 12.000 phịng; trong đó, khách sạn từ 3 đến 5 sao có
gần 3.800 phịng. Các thương hiệu khách sạn nổi tiếng của thế giới như: Sheraton,
Novotel, Marriot… đã có mặt ở Nha Trang. Thành phố biển cũng đã có những khu du
lịch lớn như: Tổ hợp du lịch giải trí Vinpearl, Khu du lịch Diamond bay Nha Trang,
Khu nghỉ mát Ana Mandara, Khu du lịch Hịn Tằm. Bên cạnh đó số lượng các nhà
hàng, quán bar quán cà phê, khu mua sắm ngày càng tăng phục vụ nhu cầu khách du
lịch trong và ngồi nước.
Các sự kiện văn hóa - du lịch mang tầm quốc gia và quốc tế liên tục được tổ
chức ở Nha Trang như: Các cuộc thi hoa hậu trong nước và quốc tế, chương trình
Festival Biển được tổ chức 2 năm/lần (từ năm 2003)… đã góp phần quảng bá hình ảnh
và từng bước khẳng định thương hiệu du lịch Nha Trang với du khách trong nước,
quốc tế.
Lượng khách đến nghỉ dưỡng ở Nha Trang liên tục tăng. Theo thống kê của
UBND TP. Nha Trang, năm 2011, Nha Trang đón khoảng 2,073 triệu lượt khách du
lịch (tăng 18,54% so với năm 2010), trong đó hơn 440.000 lượt khách quốc tế (tăng
13,5%), số ngày lưu trú bình quân của khách du lịch là 2,09 ngày/khách; tổng doanh
thu du lịch và dịch vụ ước đạt 2.142,9 tỷ đồng (tăng 20,28%)…

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường



Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Nhìn tổng thể, du lịch Nha Trang đã có những bước phát triển vượt bậc. Tuy
nhiên, sự phát triển của du lịch Nha Trang vẫn cịn có những hạn chế cần khắc phục để
hướng tới sự phát triển bền vững. Thành phố cần phải đẩy mạnh công tác xúc tiến du
lịch, giới thiệu hình ảnh du lịch Nha Trang ra thị trường quốc tế với nhiều hình thức
khác nhau. Hy vọng, trong tương lai, Nha Trang sẽ trở thành trung tâm du lịch biển
quốc tế.

I.2 Công nghệ thiết bị di động
I.2.1 Di động đi tắt đón đầu trong thế giới công nghệ
Công nghệ di động trong những năm gần đây đã có những bước nhảy vọt nhanh
chóng cả về sức mạnh phần cứng lẫn tốc độ phổ biến của nó trong dân cư. Những
chiếc điện thoại thậm chí cịn phát triển nhanh hơn cả thời kỳ hoàng kim của các công
nghệ trong quá khứ như ti vi, máy vi tính ... Bên cạnh đó, trong vịng 2 năm trở lại đây
thì thị trường máy tính bảng cũng trở nên vô cùng sôi động.

Tốc độ chiếm lĩnh 10% số người tiêu dùng của các lại công nghệ

Tốc độ chiếm lĩnh 10-40% số người tiêu dùng của các lại công nghệ

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Biều đồ trên đã cho chúng ta thấy khá rõ “chặng đường phát triển” của các loại
hình cơng nghệ. Điện thoại bàn và điện năng đã phải trải qua hơn 100 năm mới đạt tới
thời điểm bão hòa trong khi đó những cơng nghệ khơng dây như: radio, truyền hình
hay điện thoại di động lại có thể thâm nhập được 75% thị trường chỉ trong vòng 20
năm.
Những thành tựu mà công nghệ di động đã tạo ra là không thể phủ nhận. Khi

chiếc iPhone đầu tiên ra đời, kỷ nguyên của điện thoại thông minh bắt đầu phát triển
mạnh mẽ và từng bước chiếm lĩnh thị trường từ 5% cho đến 40% thị phần.
Đặc biệt, ở một số thị trường, sự phát triển điện thoại thơng minh cịn diễn ra
nhanh hơn rất nhiều, đơn cử như ở Mỹ đã có hơn 2/3 số điện thoại được bán ra hiện
nay là các điện thoại thơng minh. Nhiều khả năng thì điện thoại thông minh sẽ chiếm
lĩnh tới 75% thị trường Mỹ trong vài năm tới, trở thành cơng nghệ có tốc độ phổ biến
nhanh nhất trong lịch sử loài người. Trong quý I năm 2012, điện thoại thông minh
chiếm đến 36% tổng số điện thoại di động được bán ra, tăng 25% so với cùng kì năm
trước, một tỷ lệ rất cao.
Trong khi đó, máy tỉnh bảng cũng có sự phát triển nhanh chóng ở Mỹ từ khi
iPad lần đầu ra mắt vào năm 2010. Các chuyên gia vẫn chưa dám khẳng định liệu nhu
cầu về thiết bị này có lan rộng ở khắp nơi trên thế giới hay không. Ở các nước phương
Tây có thể dễ dàng mua được một chiếc máy tính xách tay, điện thoại thơng minh hay
máy tính bảng nhưng ở các nước đang phát triển nó là điều cần phải cân nhắc.
Nền móng cho sự phát triển của điện thoại di động chính là hệ thống mạng
không dây. Theo ITU (Liên Minh Viễn Thông Quốc tế), có 90% dân số thế giới (hiện
nay đã đạt gần 7 tỷ người) được bao phủ bởi mạng di động GSM, phần lớn trong số đó
là truy cập thơng qua mạng lưới EDGE và GPRS. Hơn thế nữa, có 45% dân số thế giới
đã được biết hoặc đã từng sử dụng mạng di động 3G. Ngày nay việc triển khai Internet
tốc độ cao đã trở nên phổ biến ở mọi quốc gia ngay cả những nước đang phát triển.
Sự tiến bộ của mạng không dây đã thúc đẩy sự phát triển của những sản phẩm
công nghệ “thông minh” như điện thoại thơng minh và máy tính bảng. Với số lượng
người dùng các thiết bị “thông minh” ngày càng cao sẽ tăng trưởng số lượng người
dùng Internet. Khơng nằm ngồi số đó Việt Nam cũng khơng ngừng gia tăng số lượng
người sử dụng Internet đặt biệt xu hướng truy cập Internet từ thiết bị di động đang
bùng nổ mạnh mẽ. Tính đến thời điểm q 4-2011, thế giới đã có 1,1 tỉ thuê bao 3G,
tăng 37% so với cùng kỳ năm trước. Trong đó, Mỹ, Nhật và Trung Quốc lần lượt là ba
cường quốc hàng đầu về lượng thuê bao 3G. Việt Nam đứng thứ 21 với 12 triệu thuê
bao 3G, đứng sau nhóm các quốc gia phát triển, xếp trên Thụy Điển (24), Hà Lan (27)
và Hi Lạp (28).


GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Tiềm năng phát triển các thiết bị “thông minh ” tại Việt Nam là rất lớn. Các sản
phẩm máy tính bảng điện thoại “thơng minh” của các hãng cơng nghệ nổi tiếng hầu hết
đều có mặt tại Việt Nam. Các hãng điện thoại trong nước cũng bắt đầu bán các thiết bị
“thông minh” giá rẻ ra thị trường. Điện thoại thơng minh ngày càng rẻ hơn cũng đang
khiến nó nhanh chóng được phổ biến và tiếp cận với người dùng hơn. Và đó chỉ là vấn
đề thời gian bởi ngày càng có nhiều điện thoại thơng minh có mức giá phải chăng được
tung ra để đáp ứng nhu cầu của cả những khách hàng có thu nhập khơng cao. Theo
thống kê năm 2012 có 30% điện thoại được bán ra ở Việt Nam là điện thoại thông
minh.
Chiếc điện thoại khơng cịn đơn thuần là thiết bị liên lạc mà nó đả trở thành một
thiết bị đa chức năng phục vụ rất nhiều nhu cầu cơng việc và giải trí của con người.
Hiện tại điện thoại thông minh đang là ngọn sóng cơng nghệ trên thế giới. Và Việt
Nam cũng sẽ đón ngọn sóng đó chỉ tron một tương lai ngắn. “Làn sóng moblie” sẽ
thay đổi cách con người làm việc, giải trí và mang lại những thách thức mới.

I.2.2 Thời kỳ “hậu PC” và cơ hội cho các lập trình viên di động
Thời kỳ “hậu-PC” tiêu biểu là thế hệ các thiết bị di động thơng minh có khả
năng chạy hệ điều hành quản lý đa nhiệm, kết nối dữ liệu tốc độ cao có thể đảm nhận
hầu hết nhiệm năng của một máy tính cá nhân bình thường (PC) mà thậm chí cịn
nhiều điểm tiện lợi hơn. Đâu tiên phải kể đến đó là chiếc điện thoại di động của Apple
– Iphone. Thiết bị điện thoại thông minh này xuất hiện vào năm 2007 khác xa các loại
điện thoại truyền thống, màn hình cảm ứng rộng, khơng có bàn phím, chạy hệ điều
hành IOS đã gây sốt trong giới công nghệ. Chiếc Iphone đầu tiên được nhắc đến như
một huyền thoại công nghệ mở màng cho một trào lưu mới. Nó đã thúc đẩy thời kỳ
“Hậu PC” (Post-PC)

Theo Steve Jobs – Giám đốc điều hành tập đoàn Apple, các thiết bị hậu PC phải
trực quan và dễ dùng hơn so với PC. Cụ thể, với chiếc máy tính bảng iPad 2 mà công
ty của ông mới cho ra mắt, phần cứng và phần mềm "phải đan quyện vào nhau, chặt
chẽ hơn so với cách thức trên PC". Thời kỳ “hậu PC” là thời kỳ mà những hệ thống
nhúng là cốt lõi sẽ làm nên làn sóng đổi mới thức 3 sau sự phát triển của máy tính lớn
và mini (mainframe và mini computer) giai đoạn 1960 - 1980, PC-Internet giai đoạn
1980 – 2000.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

Đại diện tiêu biển nhất cho thời đại “hậu PC” đó là những chiếc điện thoại
thơng minh và máy tính bảng. Hai thiết bị đã tạo nên một làng sóng cơng nghệ mạnh
mẽ. Các xu hướng cơng nghệ của thế giới đều tập trung nhiều vào những thiết bị này.
Cùng với nó là sự phát triển chóng mặt của phần cứng và nhất là các phần mềm, các
ứng dụng di động và hệ điều hành di động.
Đầu tiên là sự xuất hiện của IOS trên thiết bị của Apple. Tiếp theo đó là sự xuất
hiện của Android – hệ điều hành mã nguồn mở do Google phát triển. Sau đó nữa là
WebOS của HP và Window Phone của Microsolf . Tuy nhiên IOS và Android là hai hệ
điều hành phát triển mạnh nhất. Android bắt đầu nhảy vọt sau IOS nhưng nó đang có
tốc độ phát triển nhanh hơn IOS.
Điều quan trọng tạo nên thành công cho một hệ điều hành di động đó là các ứng
dụng. Với một chiếc điện thoại thơng minh bạn có thể cài đặt nhiều ứng dụng đa dạng
và phong phú phục vụ phục cơng việc và giải trí. Một tiêu chí đánh giá một hệ điều
hành này tốt hơn hệ điều hành kia là ở số lượng ứng dụng mà hệ điều hành đó có thể
cung cấp chất lượng của ứng dụng.
Hiện tại hệ điều hành IOS chiếm vị trí độc tơn với tổng cộng 356,577 ứng dụng.
Đứng thứ 2 là Android với 256,545 ứng dụng.


GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

Android là hệ điều hành mã nguồn mở có thể sử dụng trên rất nhiều thiết bị và
đang có tốc độ phát triển ứng dụng rất nhanh.

Trong năm 2011, 10 xu hướng công nghệ chiến lược được các chuyên gia đánh
giá có bao gồm điện tốn đám mây, ứng dụng di động (điện thoại thơng minh… ). Mỗi
ngày có hàng triệu thiết bị đi động được bán ra đẫn đến nhu cầu về ứng dụng di động
ngày càng tăng. Đây là một cơ hội lớn cho các nhà lập trình các thiết bị di động. Với
các của hàng ứng dụng như AppStore, Google Play, lập trình viên hay nhóm lập trình
các nhân có thể đưa các sản phẩm đưa lên để bán cho người dùng. Đây là một lợi thế
lớn cho các lập trình viên lập trình trên thiết bị di động. Nhờ đó khơng cần phải trực
thuộc một cơng ty lập trình đủ lớn mà sản phần của người lập trình có thể được trả tiền
nếu sử dụng tốt và đáp ứng nhu cầu của người sử dụng. Nhà viết ứng dụng cá nhân
cũng có thể tiết kiệm được một khoảng tiền lớn chi phí quản cáo và kênh phân phối
đến cho khách hàng của mình.
Cụ thể hơn ở Việt Nam, lập trình di động đang là một cơ hội rất tốt cho các lập
trình viên bán ra các sản phẩm của mình. Có thể dễ dàng đưa sản phẩm của mình ra thế
giới tiêu thụ và thu được tiền từ những ứng dụng tốt và độc đáo. Đối với thị trường
ứng dụng trong nước, từ năm 2010 đến nay, cùng với xu thế phát triển thiết bị di động
của thế giới, Việt Nam cũng có một sự phát triển vượt bật trong mảng này.Với các chợ
ứng dụng của chính hãng như AppStore, Google Play nhiều người sử dụng vẫn cịn
vấp phải rào cảng thanh tốn. Vì vậy đây là cơ hội để các lập trình viên phát triển ứng
dụng tiêu thụ trong nước với các chợ ứng dụng của hãng thứ 3.
Điện thoại thông minh và máy tính bảng đã góp phần thúc đẩy kỷ ngun “hậu
PC” phát triển. Và đã mở ra một cơ hội lớn cho các lập trình viên tự do chứng tỏ khả

năng sáng tạo của mình. Lập trình di động là một hướng đi mới và đầy triển vọng, và
là cơ hội lớn đối với nền Công nghệ thông tin ở Việt Nam.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

I.3 Mục đích thực hiện đề tài
Quảng bá du lịch và cung cấp thông tin du lịch là một công việc hết sức quan
trọng đối với ngành du lịch Nha Trang. Cần phải thực hiện điều đó trên rất nhiều
phương tiện đặt biệt là áp dụng công nghệ mới. Có nhiều website đã được xây dựng để
quản bá du lịch và cung cấp thông tin du lịch và đạt được hiệu quả tốt. Tuy nhiên với
xu hướng công nghệ hiện nay thì website đã khơng cịn là phương tiện cung cấp thông
tin du lịch một cách thuận tiện nhất đối với khách du lịch.
Ví dụ muốn lên tìm một điểm ăn uống, vui chơi, mua sắm ở Nha Trang khách
du lịch phải tìm trước ở nhà, nguyên cứu và ghi lại thơng tin địa chỉ. Hoặc trong
chuyến đi có thể mang theo laptop để tra cứu thông tin, tuy nhiên thơng thường rất ít
người mang laptop du lịch bởi vì cồng kềnh và nặng nề, có thể sử dụng dịch vụ
internet công cộng, tuy nhiên cũng khá bất tiện vì phát sinh thêm vấn đề là phải tìm
thêm vị trí của dịch vụ internet cơng cộng, mỗi lần muốn tìm một địa điểm lại sử dụng
internet cơng cộng. Thậm chí bằng một cách nào đó khách du lịch có được địa chỉ của
địa điểm mong muốn, nếu không phải quen với đường phố Nha Trang cũng khó xác
địch được vị trí đó ở đâu. Giải pháp là sử dụng một bản đồ số trên laptop nhưng bản đồ
số trên laptop rất bất tiện khi mạng theo trong lúc đi đường, thêm một giải pháp nữa là
bản đồ giấy. Tuy nhiên sử dụng bản đồ giấy rất khó khăn để nhận ra vị trí hiện tại. Để
tìm một vị trí ăn uống, vui chơi đối với một khách du lịch Nha Trang trở thành một vấn
đề phức tạp, và nhiều du khách chấp nhận việc vui chơi ở các địa điểm tour du lịch xắp
xếp sẵn và chỉ đến các địa điểm thật sự nổi tiếng.
Ngoài ra khách du lịch có thể hỏi lái xe taxi đưa đến các vị trí đã biết trước, tuy

nhiên nếu địa điểm đó đã được biết trước. Hoặc nếu khách du lịch muốn tự đi thì sao?
Để giải quyết vấn đề ví dụ ở trên trở nên đơn giản, có một giải pháp đó chính là
sử dụng ứng dụng trên thiết bị di động. Với một bản đồ số Google Map, có một danh
sách các địa điểm nhà hàng, khách sạn, quán cà phê … mà khách du lịch có thể đến để
lựa chọn, hiển thị trực tiếp địa địa điểm đó trên bản đồ số. Với GPS, bản đồ có thể xác
định đươc vị trí hiện tại và từ đó gợi ý tuyến đường ngắn nhất đến mục tiêu. Và đặt
biệt thiết bị di động ln sẵn sàng hoạt động 24/24, kích thước nhỏ gọn luôn mang
theo, cùng với mạng internet 3G hay WIFI thì việc tìm một địa điểm du lịch và đi đến
đó khơng cịn gì thuận tiện hơn.
Ngồi ra bản đồ số cịn tích hợp bản đồ các tuyến xe buýt ở Nha Trang hiển thị
toàn bộ 6 tuyến xe và các trạm xe tương ứng. Cho người dùng hình dung được tổng
thể các tuyến xe và biết tuyến xe buýt nào có thể đưa đến một địa điểm nhất định.
Với một số lượng địa điểm vui chơi, nhà hàng, quán bar, khách sạn, mua sắm ..
ở Nha Trang nhiều như hiện nay rất cần thiết phải có một cách tìm kiếm thơng tin du
lịch thuận tiện nhất, đơn giản nhất, hiệu quả nhất. Để du khách đến Nha Trang có thể
biết đến Nha Trang một cách trọn vẹn khơng chỉ ở phong cảnh thiên nhiên, khí hậu.
GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Tốc độ phổ biến công nghệ di động “thông minh” nhanh chóng như bây giờ sẽ
mạng lại cơ hội cho các lập trình viên di động tự do thể hiện ý tưởng của mình. Làm
sao cho các sản phẩm phần mềm ngày càng hữu dụng, gần gũi và phục vụ cho công
việc và cuộc sống nhiều hơn.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android


Chương II: Hệ điều hành Android
II.1 Giới thiệu hệ điều hành Android
Android là một hệ điều hành di động dựa trên một phiên bản sửa đổi của Linux.
Được phát triển vào năm 2005 với một dự án cùng tên “Android”. Như một phần chiến
lược của mình để lấn sâu vào lĩnh vực di động Google Android đã mua về tồn bộ q
trình phát triển cũng như đội phát triển nó.Đây là con át chủ bài của Google để cạnh
tranh thị phần hệ điều hành di động với Apple.
Google Android muốn mở và miễn phí, vì vậy hầu hết các mã android được
được đưa ra dưới dạng mã nguồn mở Apache License, điều này tương đương với việc
bất cứ ai muốn sử dụng Android có thể làm như vậy bằng cách tải về mã nguồn
android đầy đủ. Hơn nữa các nhà cung cấp (thường là những nhà phát triển phần cứng)
có thể thêm phần mở rộng và tùy biến cho android để phân biệt sản phẩm của họ với
sản phẩm của những người khác. Điều này đơn giản làm cho mơ hình phát triển
android rất hấp dẫn và do đó khơi dậy sự quan tâm của nhiều nhà cung cấp. Những nhà
sản xuất coi android như một giải pháp – họ sẽ tiếp tục thiết kế phần cứng của riêng
mình và sử dụng android như một hệ điều hành chính.
Ưu điểm chính của việc áp dụng android là nó cung cấp một cách tiếp cận thống
nhất để phát triển ứng dụng. Các nhà phát triển chỉ cần phát triển cho android và các
ứng dụng của họ có thể chạy trên nhiều thiết bị khác nhau, miễn là các thiết bị được hỗ
trợ bằng cách sử dụng android. Trong thế giới điện thoại thông minh ứng dụng là một
phần quan trọng nhất của chuỗi thành cơng. Do đó các nhà sản xuất thiết bị coi
Android như là hy vọng tốt nhất để thách thức sự tấn công của Apple.

II.2 Những đặc trưng của hệ điều hành Android:
Application framework: cho phép sử dụng lại và thay thế các thành phần
trong lập trình ứng dụng.
Dalvik virtual machine: tối ưu hóa cho thiết bị di động.
Intergrated browser: trình duyệt tích hợp, dựa trên cơ chế WebKit mã
nguồn mở.
SQLite: sơ sở dữ liệu trong môi trường di động.

Media support: hỗ trợ các định dạng audio, video và hình ảnh thơng dụng.
GSM Telephony: mạng điện thoại di động (phụ thuộc vào phần cứng).
Bluetooth, EDGE, 3G, và WiFi :các chuẩn kết nối dữ liệu (phụ thuộc vào
phần cứng).
Camera, GPS, la bàn, và gia tốc kế: (phụ thuộc vào phần cứng).
Môi trường phát triển phong phú: bao gồm thiết bị mơ phỏng, cơng
cụ cho việc dị tìm lỗi, bộ nhớ và định hình hiệu năng và một plugin cho
Eclipse IDE.
GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

II.3 Các tính năng hỗ trợ sẵn trong hệ điều hành Android
Các tính năng được hổ trỡ tùy thuộc vào cấu hình phần cứng và phần mềm.
Storage: Sử dụng SQLite, một cơ sở dữ liệu quan hệ nhẹ cho việc lưu trữ
dữ liệu
Connectivity: Hỗ trợ GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth (bao gồm AD2P và AVRCP), Wifi, LTE và WiMAX
Messaging: hỗ trợ cả SMS và MMS
Web browser: Dựa trên mã nguồn mở Webkit, cùng với công nghệ
JavaScript V8 của Chrome
Media support: Bao gồm hỗ trợ các phương tiện truyền thông sau: H.263,
H.264 (Trong 3GP hoặc MP4 container ), MPEG-4 SP, AMR, AMR-WB
(3GP container), AAC, HE-AAC (MP4 hoặc 3GP container), MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF và BMP
Hardware support: Accelerometer Sensor, Camera, Digital Compass,
Proximity Sensor và GPS
Multi-touch: Hỗ trợ màn hình cảm ứng đa điểm
Multi-tasking: Hỗ trợ ứng dụng đa tác vụ

Flash support: Android 2.3 hỗ trợ Flash 10.1
Tethering: Hỗ trợ kết nối internet khơng dây/có dây

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

II.4 Kiến trúc và các thành phần trong hệ điều hành
Android
Mơ hình sau thể hiện đầy đủ kiến trúc các thành phần của hệ điều hành
Android.

II.4.1 Linux kernel (nhân Linux)
Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và tầng
dưới của phần mềm. Lớp này chứa tất cả các thiết bị mức thấp điều khiển các thành
phần phần cúng khác nhau của một thiết bị Android.

II.4.2 Libraries
Libraries bao gồm một tập hợp các thư viện lập trình chứa mã lệnh cung cấp
những tính năng và thao tác chính trên hệ điều hành. Một số các thư viện cơ bản

được liệt kê dưới đây:
System C library: a BSD-derived triển khai các thư viện hệ thống ngôn
ngữ C chuẩn, được nhúng vào các thiết bị dựa trên hệ điều hành Linux.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android

Media Libraries – Dựa trên PacketVideo's OpenCORE; thư viện này hỗ
trợ cho việc chơi nhạc, quay phim, chụp hình theo các định dạng file
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Surface Manager – Quản lý truy cập đến các hệ thống con hiển thị cũng
như các lớp đồ họa 2D, 3D từ tầng ứng dụng.

LibWebCore – Thư viện được dùng để tạo nên thành phần webview trong
Android và có thể nhúng được vào nhiều ứng dụng.

SGL – Thư viện hỗ trợ đồ hoạ 2D.
3D libraries – Thư viện đồ họa 3D.
FreeType - bitmap and vector font rendering.
SQLite – Một cơ sở dữ liệu nhỏ được dùng cho các thiết bị cầm tay có bộ
nhớ hạn chế. SQLite khơng có quan hệ như các cơ sở dữ liệu khác.

II.4.3 Android runtime:
Tại cùng một tầng với Libraries, android runtime cung cấp một bộ lõi thư viện
cho phép các nhà phát triển viết các ứng dụng android bằng cách sử dụng ngôn ngữ lập
trình java. Android runtime cũng bao gồm các máy ảo Dalvik, cho phép mọi ứng dụng
android chạy trong tiến trình riêng của mình. Dalvik là một máy ảo chuyên dụng được
thiết kế đặc biệt cho android và tối ưu hóa cho các thiết bị điện thoại di động với giới
hạn bộ nhớ và CPU.

II.4.4 Application framework 2.4.3 Android runtime:
Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà
phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát
triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch
vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái,
và nhiều, nhiều hơn nữa.

Nhà phát triển có thể truy cập vào các API được sử dụng bởi các ứng dụng lõi.
Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các API. Đưa ra
những khả năng khác nhau của hệ điều hành android vào ứng dụng để sử dụng chúng
trong các ứng dụng của mình.
Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm: các
View (là dùng để hiển thị thông tin và để người dùng thao tác), Content Provider để
chia sẻ dữ liệu giữa các ứng dụng, Resource Manager truy xuất tài nguyên,
Notification Manager hiển thị các thơng báo, Activity Manager quản lý chu trình sống
của ứng dụng và điều hướng Activity.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
II.4.5 Applications:
Tại lớp trên cùng sẽ là các ứng dụng cho android (như điện thoại, danh bạ, trình
duyệt,…) cũng như các ứng dụng được tải về và cài đặt từ AndroidMarket hay bất lý
ứng dụng nào bạn viết được tại tầng này.

II.5 Các khái niệm cơ bản trong lập trình ứng dụng
Android
II.5.1 Activity
Một activity thể hiện một giao diện đồ họa người dùng. Ví dụ một activity có thể
biểu diễn một danh sách các menu item để người dùng có thể chọn và có thể hiển thị ảnh
cùng với tiêu đề. Một ứng dụng gửi tin nhắn văn bản có thể có một hoạt động là hiển thị
một danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ hai là viết tin nhắn tới liên hệ
được chọn, các hoạt động khác nữa là xem lại tin nhắn cũ hay thay đổi cài đặt. Mặc dù
chúng làm việc cùng nhau để tạo thành một giao diện người dùng, mỗi activity độc lập với
những cái khác. Mỗi activity là một lớp con của lớp cơ sở Activity.


Một ứng dụng có thể gồm chỉ một activity hay nhiều activity. Activity chính
phải được hiển thị đầu tiên khi khởi động chương trình. Chuyển từ một activity sang
activity khác bằng cách cho activity hiện thời khởi động activity kế tiếp.
Mỗi activity được vẽ vào một cửa sổ trên màn hình, mặc định sẽ lấp đầy màn
hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa sổ khác ví dụ như
activity thơng báo một thơng tin gì đó.
Nội dung trực quan của cửa sổ được cung cấp bởi một cây phân cấp các đối
tượng view dẫn xuất từ lớp View. Mỗi view điều khiển một khoảng hình chữ nhật cụ
thể bên trong cửa sổ. View cha chứa và tổ chức bố cục các view con. Các view lá vẽ
trong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động người dùng
trực tiếp ở khoảng trống này. Do đó, các view là nơi mà các tương tác của activity với
người dùng diễn ra.
Ví dụ một view có thể hiển thị một hình ảnh nhỏ và khởi tạo một hoạt động khi
người dùng nhấn vào hình ảnh đó. Android có một số view đã xây dựng sẵn mà bạn có
thể sử dụng – gồm có các buttons, text fields, scroll bars, menu items, check boxes …
Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phương
thức Activity.setContentView(). Content view là đối tượng View ở gốc của cây phân
cấp.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời
của một hoạt động. Class Activity định nghĩa các sự kiện sau đây :
onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên
onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng
onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng
onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt
động trước đó

onStop(): Được gọi khi hoạt động khơng cịn hiển thị với người dùng
onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng
tay hoặc bằng hệ thống để bảo tồn bộ nhớ)
onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại
một lần nữa

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Sau đây là sơ đồ các sự kiện trong vòng đời của một Activity:

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
II.5.2 Service
Một service khơng có giao diện trực quan, nó chạy trên nền trong một khoảng
thời gian khơng xác định. Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữ liệu
trên mạng hay tính tốn cái gì đó và cung cấp kết quả cho activity cần đến nó. Mỗi
service mở rộng từ lớp cơ sở Service.
Trong khi kết nối, người sử dụng có thể giao tiếp với service thơng qua giao
diện mà service đó trưng ra. Ví dụ như trong service chơi nhạc, giao diện này có thể
cho phép người dùng pause, rewind, stop và restart lại playback.
Giống như các activity và các thành phần khác khác, service chạy trong thread
chính của tiến trình ứng dụng. Vì thế chúng khơng thể chặn những thành phần khác
hay giao diện người dùng, chúng thường tạo ra các thead khác cho các nhiệm vụ hao
tốn thời gian.Sơ đồ các sự kiện trong vòng đời của một service:

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường



Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
II.5.3 Content provider
Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng
cho các ứng dụng khác. Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ
sở dữ liệu SQLite, hay trong một cách khác nào đó. Content provider mở rộng lớp cơ
sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứng
dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển. Tuy nhiên, các ứng
dụng khơng gọi trực tiếp các phương thức này, chúng sử dụng một đối tượng
ContentResolver và gọi các phương thức của nó. Một ContentResolver có thể nói
chuyện với bất cứ content provider nào, chúng cộng tác với provider để quản lý giao
tiếp liên tiến trình.

II.5.4 Broadcast Receive
Một Broadcast Rreceiver là một thành phần khơng làm gì ngồi việc nhận và
đáp lại các thơng báo broadcast. Nhiều broadcast khởi đầu trong mã hệ thống - ví dụ
như thơng báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã thay
đổi ngôn ngữ … Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụng
khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụng
chúng.
Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo
nào mà nó cho là quan trọng. Tất cả các receiver mở rộng từ lớp cơ sở
BroadcastReceiver.
Broadcast Receiver không hiển thị một giao diện người dùng. Tuy nhiên chúng
có thể bắt đầu một activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sử
dụng NotificationManager để cảnh báo người dùng. Notifications có thể lấy sự chú ý
của người dùng bằng nhiều cách, lóe sáng đèn sau, rung, tạo ra âm thanh, vân vân.
Chúng thường lấy một biểu tượng bền vững trong thanh trạng thái, cái mà người dùng
có thể mở để lấy thơng điệp.


II.5.5 View
Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối
tượng View và ViewGroup. Có nhiều kiểu View và ViewGroup. Mỗi một kiểu là một
con của class View và tất cả các kiểu đó được gọi là các Widget.
Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị
trí, background, kích thước, lề,… Tất cả những thuộc tính chung này được thể hiện hết
ở trong đối tượng View.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android
Trong Android Platform, các screen ln được bố trí theo một kiểu cấu trúc
phân cấp như hình dưới. Một màn hình là một tập hợp các Layout và các widget được
bố trí có thứ tự. Để thể hiện một màn hình thì trong hàm onCreate của mỗi Activity
cần phải được gọi một hàm là setContentView(R.layout.main); hàm này sẽ load giao
diện từ file XML lên để phân tích thành mã bytecode.

II.5.6. 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 các Activity có thể triệu gọi cũng như truyền các
dữ liệu cần thiết tới một Activity khác. Điều này cũng giống như việc di chuyển qua
lại giữa các Forms trong lập trình Windows Form.

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


Ứng dụng tìm kiếm thơng tin bản đồ trên thiết bị Android


II.6 Các thành phần trong một project ứng dụng Android
II.6.1. AndroidManifest.xml
Trong bất kì một dự án Android nào khi tạo ra đều có một file
AndroidManifest.xml, file này được dùng để định nghĩa các màn hình sử dụng, các
quyền cũng như các giao diện cho ứng dụng. Đồng thời nó cũng chứa thông tin về
phiên bản SDK cũng như màn hình chính sẽ chạy đầu tiên.
Ví dụ file manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=" />package="android.at"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name"> android:name=".TooDo"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".WorkEnter">
</activity>
<receiver android:name=".AlarmReceiver">
</receiver>
</application>
<uses-sdk android:minSdkVersion="3" />

android:name="android.permission.VIBRATE"/> </manifest>

File này được tự động sinh ra khi tạo một dự án Android. Trong file manifest
bao giờ cũng có 3 thành phần chính đó là: application, permission và version.
Application: chứa các giá trị định nghĩa cho một ứng dụng Android như
icon,tên ứng dụng, chế độ hiển thị giao diện…Ngồi ra cần phải khai báo các Activity
và Service có trong chương trình tại đây.
Permission: bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tài
nguyên của ứng dụng. Khi cần sử dụng một loại tài nguyên nào đó thì trong file
manifest của ứng dụng cần phải khai báo các quyền truy xuất tương ứng

GVHD: Trần Minh Văn | SVTH: Trần Mạnh Cường


×