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

XÂY DỰNG hệ THỐNG QUẢNG cáo NHÀ đất

114 399 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 114
Dung lượng 4,17 MB

Nội dung

Thực tế nhu cầu nhà ở cho những người có thu nhập thấp là nhiều nhưng vẫn không thể đáp ứng được nhu cầu của phần lớn những người dân có thu nhập thấp như hiện nay.1 Với những khó khăn k

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG QUẢNG CÁO NHÀ ĐẤT

Giảng viên hướng dẫn: TS ĐÀM QUANG HỒNG HẢI

Sinh viên thực hiện: NGUYỄN LÂM 08520194

TP Hồ Chí Minh, tháng 02 năm 2013

Trang 2

Bất động sản là một trong những lĩnh vực “xương sống” của nền kinh tế, nếu bất động sản gặp khó khăn thì sẽ kéo theo không ít những khó khăn trong các vấn đề

xã hội và làm ảnh hưởng đến kinh tế vĩ mô của đất nước Chính vì thế, các doanh nghiệp đã đẩy mạnh đầu tư các dự án bất động sản nhầm đáp ứng nhu cầu cho người dân, mang lại lợi ích cho doanh nghiệp, đẩy mạnh phát triển cơ sở hạ tầng và nền kinh

tế quốc dân Tuy nhiên thực tế cho thấy những năm gần đây là những năm tháng đầy khó khăn đối với thị trường bất động sản, các nhà đầu tư bất động sản mới chỉ quan tâm đến thị trường dành cho những người có thu nhập cao, những người có khả năng kinh tế, vì thế sản phẩm là các căn hộ cao cấp, chung cư cao cấp, các nhà biệt thự liền kề ngày càng nhiều Trong khi đó phần lớn những người dân cần đến những sản phẩm với quy mô vừa và nhỏ, giá cả khiêm tốn thì lại không có, vì vậy những sản phẩm với giá cao, quy mô lớn thì trong tình trạng thừa thải Thực tế nhu cầu nhà ở cho những người có thu nhập thấp là nhiều nhưng vẫn không thể đáp ứng được nhu cầu của phần lớn những người dân có thu nhập thấp như hiện nay.1

Với những khó khăn kể trên, để giảm thiểu tình trạng bất động sản “đóng băng”, các doanh nghiệp đã đẩy mạnh quảng cáo và áp dụng các chính sách ưu đãi nhằm đáp ứng nhu cầu cho người dân Ngoài việc đăng các tin quảng cáo trên báo đài với chi phí tương đối cao, phần lớn các doanh nghiệp đều quan tâm đến việc đăng tin quảng cáo trên các Website chuyên về quảng cáo nhà đất Chính vì vậy, trong những năm gần đây, các Website về quảng cáo bất động sản ngày càng nhiều để đáp ứng nhu cầu cho doanh nghiệp và những người rao bán, nổi bật như: rongbay.com, muabannhadat.com.vn, batdongsan.com.vn, sanhadat.net, nhaban.com

Bên cạnh những vấn đề về bất động sản, trong những năm gần đây chúng ta chứng kiến những bước phát triển vượt bậc của công nghệ thông tin, đặc biệt là về lĩnh vực di động Ngày nay ngoài chức năng chính là liên lạc, những chiếc điện thoại thông minh đã ra đời và đáp ứng được nhiều tính năng nổi bật, mang lại hiệu quả sử

1 Theo 655476.htm

Trang 3

http://dantri.com.vn/kinh-doanh/bo-truong-xay-dung-bat-dong-san-trong-tinh-trang-khan-cap-điện thoại di động các công nghệ tiên tiến như 3G, Wifi giúp mọi người có thể sử dụng Internet một cách tiện lợi mọi lúc mọi nơi Bên cạnh đó, việc kết hợp chiếc điện thoại thông minh với các dịch vụ được cung cấp bởi các đại gia trong ngành công nghệ thông tin như Google với hệ điều hành Android và Apple với hệ điều hành iOS

đã mang lại hiệu quả và lợi ích tối đa cho người sử dụng Tuy Android là hệ điều hành được phát triển sau iOS nhưng với ưu thế là hệ điều hành mã nguồn mở và yêu cầu về phần cứng của thiết bị có thể chạy nó là tương đối thấp nên tốc độ phát triển của nền tảng di động này là khá cao và là sự lựa chọn hợp lý cho các nhà phát triển phần mềm trên thế giới

Từ việc nhìn nhận về thực tế của xã hội, nhóm đã quyết định xây dựng ứng dụng về quảng cáo nhà đất với tên đề tài “xây dựng hệ thống quảng cáo nhà đất” và tên ứng dụng là “9House” Trong đề tài này, nhóm đã xây dựng một hệ thống gồm một Website quảng cáo tin tức nhà đất viết bằng ngôn ngữ lập trình PHP và một ứng dụng hỗ trợ xem tin tức nhà đất trên nền tảng Android nhằm đáp ứng nhu cầu di động

và cung cấp các tính năng mang lại hiệu quả cao cho người sử dụng

Kết cấu của đề tài gồm 5 phần:

Chương 1: Tổng quan đề tài giới thiệu tên đề tài, lý do chọn đề tài, những

mục đích mà đề tài muốn hướng tới cho người dùng, đối tượng và phạm vi nghiên cứu của đề tài

Chương 2: Giới thiệu về Android và các công nghệ triển khai trình bày lý

thuyết về hệ điều hành Android và các công nghệ được sử dụng để xây dựng hệ thống

Chương 3: Phân tích thiết kế cơ sở dữ liệu hệ thống quảng cáo nhà đất

phân tích thiết kế cơ sở dữ liệu hệ thống quảng cáo nhà đất

Chương 4: Ứng dụng quảng cáo nhà đất 9House trình bày thiết kế giao diện

và các chức năng của ứng dụng trên thiết bị Android và trên Website

Chương 5: Kết luận nêu ra những kết quả đã đạt được, những hạn chế,

phương pháp để khắc phục và phát triển trong tương lai

Trang 4

Đầu tiên chúng em xin chân thành cảm ơn các Thầy, Cô của trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.Hồ Chí Minh, đặc biệt là các Thầy, Cô giáo Khoa Mạng Máy Tính và Truyền Thông đã tận tình giảng dạy, dìu dắt chúng em trong suốt thời gian chúng em học tại trường.

Chúng em xin chân thành cảm ơn Thầy Đàm Quang Hồng Hải đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài Trong quá trình làm việc với Thầy, chúng em không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, kinh nghiệm nghiên cứu khoa học của Thầy

Chúng em xin bày tỏ lòng biết ơn sâu sắc đến gia đình, cha mẹ và bạn bè đã luôn ủng hộ và là nguồn động viên to lớn, giúp đỡ chúng em vượt qua những khó khăn trong suốt quá trình học tập, nghiên cứu

Mặc dù chúng em đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót Kính mong quý Thầy Cô tận tình chỉ bảo

Một lần nữa, chúng em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của quý Thầy Cô

TP.HCM, ngày 27 tháng 2 năm 2013

Nguyễn Lâm Ngô Tấn Tài

Trang 5

Trang 6

Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tên đề tài

Tên đề tài: Xây dựng hệ thống quảng cáo nhà đất

Tên ứng dụng: 9House

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

Trong những năm qua, mặt bằng giá đất tăng nhanh đã thu hút giới đầu tư khắp nơi đổ vốn vào để kiếm lời Cái giá của sự phát triển quá nhanh và chênh lệch của thị trường là những dãy phố, khu chung cư cao tầng bị bỏ hoang Nếu như cách đây khoảng 5 năm, giá đất ở trong các khu đô thị chỉ hơn chục triệu đồng mỗi mét vuông, thì hiện nay mặc dù đã giảm, nhưng trung bình vẫn ở mức vài chục triệu đồng tới hơn trăm triệu đồng mỗi mét vuông Chính điều này đã làm cho giá nhà ở trung bình cao hơn 25 lần so với thu nhập trung bình một năm của người lao động, lớn hơn gấp 5 lần

so với các nước phát triển và gấp 10 lần so với các nước chậm phát triển Trong khi

đó, theo đánh giá của các chuyên gia liên ngành về thị trường bất động sản, nhu cầu

về nhà ở vẫn đứng ở mức cao, đặc biệt là nhà ở xã hội, nhà ở giá thấp ở khu đô thị, nhà ở cho công nhân khu công nghiệp, nhà trọ cho học sinh, sinh viên và nhà ở cho người nghèo khu vực nông thôn Theo báo cáo của bộ xây dựng, đến năm 2015, dân

số Việt Nam khoảng 91,5 triệu người và nhu cầu về nhà ở là 1.966,6 triệu mét vuông Nhu cầu về vốn đầu tư cho nhà ở năm 2015 là 2.205.000 tỷ đồng và đến 2020 cần 1.767.000 tỷ đồng Nhu cầu về nhà ở ngày càng cao nhưng thị trường nhà ở cho thuê chưa phát triển tương xứng.2

Với những khó khăn hiện nay của ngành bất động sản, để giảm thiểu việc bất động sản “đóng băng”, ngoài các chính sách đầu tư, phát triển và hỗ trợ của nhà nước, doanh nghiệp cần phải đưa ra các chính sách quảng cáo, ưu đãi để có thể bán được các sản phẩm của mình Thay vì phải đăng tin quảng cáo trên các phương tiện truyền

2 Trích http://www.tinmoi.vn/nguyen-nhan-khien-bat-dong-san-dong-bang-01776987.html

Trang 11

thông với chi phí cao hoặc thông qua các trung tâm mua bán nhà đất, các thương lái,

sẽ dễ dàng hơnđể đăng tin chỉ với vài bước đơn giản trên các Website quảng cáo nhà đất

Hình 1.1 Hình ảnh “đóng băng” của bất động sản

Bên cạnh đó, theo xu hướng phát triển của công nghệ thông tin và truyền thông cùng với sự phát triển mạnh mẽ của các phần mềm ứng dụng, các phương tiện truyền thông sử dụng công nghệ cao ra đời làm cho thế giới được kết nối với nhau thành một thể thống nhất Ngày nay những chiếc điện thoại không còn mang tính năng liên lạc đơn giản mà nó được tích hợp các ứng dụng cần thiết và hữu ích cho người dùng Với

sự ra đời của các smartphone, tablet kèm theo những công nghệ tiên tiến đã đưa toàn

bộ thông tin trong cuộc sống nằm trong lòng bàn tay

Cùng với sự đa dạng về các sản phẩm và các nhà sản xuất phần cứng, thị trường hệ điều hành dành cho các smartphone cũng cạnh tranh đầy sôi nổi bằng cách không ngừng nâng cấp các phiên bản của các nhà sản xuất Hiện nay, các nhà sản xuất

hệ điều hành dành cho smartphone nổi bật như Google, Apple, Microsoft, BlackBerry, Nokia với các dòng sản phẩm như Android, iOS, Windows Mobile, RIM và Symbian

Trang 12

Hình 1.2 Thị trường hệ điều hành di độngMặc dù sinh sau đẻ muộn nhưng Android đang có những bước tiến thần tốc Gần đây, trong sự kiện ra mắt iPhone 5 vào tháng 9 năm 2012 tại San Francisco, Apple đã công bố kho ứng dụng App Store của mình đã đạt tới con số 70.000 ứng dụng Và ít có ai nghỉ rằng kho ứng dụng Google Play Store dành cho nền tản Android lại có thể đuổi kịp được App Store về số lượng ứng dụng dù rằng ra đời sau Nhưng vừa qua, lượng ứng dụng trên nền tản di động Android đã đạt tới con số 70.000 ứng dụng.3 Có thể nói Google Play Store đã đạt được nhựng bước tăng trưởng thần kỳ về

số lượng ứng dụng Các lập trình viên, các nhà sản xuất điện thoại luôn ưu tiên sử dụng Android vì đây là một hệ điều hành mã nguồn mở được Google phát triển dựa trên nền tản Linux kèm theo sự linh hoạt từ nền tảng Google, phù hợp với các smartphone tầm thấp lẫn tầm cao Hàng loạt các ông lớn sản xuất điện thoại di động

và máy tính bảng sử dụng hệ điều hành Android như HTC, Samsung, LG, Motorola, Sony Ericsson Các nhà lập trình ứng dụng cho Android ngày càng nhiều, kho ứng dụng Android market ngày càng lớn mạnh và đủ sức cạnh tranh với AppStore của Apple Chính vì những điều trên, Android được hứa hẹn sẽ là hệ điều hành thống trị trong tương lai

3 Theo 2012110108023557.chn

Trang 13

http://genk.vn/dien-thoai/google-play-store-da-duoi-kip-app-store-ve-so-luong-ung-dung-Vấn đề đặt ra, các Website rao vặt nhà đất ngày càng nhiều với các mức thu phí đăng tin khác nhau mang lại nhiều sự lựa chọn cho người dùng, để nhận được nhiều

sự quan tâm sử dụng của khách hàng, cần phải có một hệ thống quảng cáo tin tức nhà đất một cách hiệu quả, nhanh chóng, tiện lợi, rộng rãi hơn Vì thế, nhóm đã tận dụng một cách tối đa những lợi ích mà chiếc điện thoại thông minh mang lại bằng cách xây dựng một ứng dụng hỗ trợ quảng cáo nhà đất trên điện thoại di động sử dụng hệ điều hành Android

1.3 Mục tiêu đề tài

Hệ thống hướng đến việc mang lại lợi ích cho cả ba bên bao gồm người rao bán, người mua lẫn người quản lý hệ thống Người rao bán có thể sử dụng hệ thống để đăng tin rao vặt nhà đất với chỉ vài thao tác đơn giản và chỉ mất vài nghìn đồng SMS 4

để một tin nhà đất được hiển thị trên Website 9House Người mua có thể sử dụng các chức năng của ứng dụng trên thiết bị Android như bản đồ Google để biết rõ vị trí địa

lý các căn nhà và sử dụng công nghệ định vị kết hợp với tính năng chỉ đường để dễ dàng tìm kiếm vị trí căn nhà yêu thích Người quản lý hệ thống có thể thu lợi nhuận thông qua tổng đài SMS Bên cạnh đó hệ thống còn mang lại nhiều tính năng hữu ích đặc biệt là việc trao đổi dễ dàng giữa người bán và người mua thông qua hệ thống bình luận tin tức trên ứng dụng Android

1.4 Đối tượng và phạm vi nghiên cứu

4 SMS, http://www.wisegeek.org/what-is-sms.htm

5 GPS, http://en.wikipedia.org/wiki/Global_Positioning_System

Trang 14

Phạm vi nghiên cứu:

 Nghiên cứu về lĩnh quảng cáo, rao vặt nhà đất

 Nghiên cứu về các loại nhà đất, các thông tin cần thiết để rao bán nhà đất

 Nghiên cứu về cách thức tích hợp dịch vụ tổng đài SMS để mang lại lợi nhuận cho người quản lý

 Nghiên cứu về phát triển ứng dụng trên nền tảng Android và công nghệ của Google (Google Maps)

Trang 15

CHƯƠNG 2: GIỚI THIỆU VỀ ANDROID VÀ CÁC CÔNG NGHỆ TRIỂN

KHAI 2.1 Tổng quan về hệ điều hành Android

2.1.1 Lịch sử của Android

Android là một hệ điều hành mã nguồn mở dành cho điện thoại di động được phát triển bởi Google, dựa trên nền tảng Linux Đầu tiên được ra đời bởi công ty Android Inc, đến năm 2005 Google đã mua lại và xây dựng Android Platform Những nhà đồng sáng lập Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của TMobile) và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại WebTV) Khi đó, có rất ít các thông tin về việc phát triển Android của Google, ngoài việc họ đang phát triển phần mềm cho điện thoại di động Điều này đã chứng minh cho thế giới biết rằng Google đang có

ý định tham gia vào thị trường di động 6

Ngày 5 tháng 9 năm 2007, Liên minh thiết bị cầm tay mã nguồn mở (Open Handset Alliance), bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile Liên minh được thành lập với mục đích phát triển các tiêu chuẩn mã nguồn mở cho thiết bị di động Và cũng trong ngày này liên minh đã cho ra mắt nền tảng Android được xây dựng trên nhân Linux phiên bản 2.6

Ngày 22 tháng 10 năm 2008, chiếc điện thoại sử dụng hệ điều hành Android chính thức ra đời do hãng HTC thiết kế với tên gọi HTC Dream dùng phiên bản Android 1.0 được nhà mạng T-Mobile giới thiệu với tên gọi T-Mobile G1

6 Theo http://www.vietnamandroid.com/gioi-thieu

Trang 16

Trung tâm nghiên cứu và tư vấn công nghệ Gartner 7 của Mỹ đã đưa ra dự đoán của mình về thị trường smartphone toàn cầu đến năm 2015 Theo đó, Android sẽ tiếp tục tăng trưởng mạnh trong vòng những năm tới để trở thành nền tảng có thị phần lớn nhất.

Hình 2.1 Thống kê thị trường các hệ điều hành của Gartner 8

Với tầm nhìn chiến lược tới năm 2015, Gartner dự đoán Android sẽ là hệ điều hành có thị phần đứng đầu với gần 49%, trong khi đó iOS sẽ đứng thứ ba kém Windows Phone 2.3%

7 About Gartner, http://www.gartner.com/technology/about.jsp

8 Theo http://www.gartner.com/newsroom/id/1622614

Trang 17

2.1.2 Các phiên bản Android

Các phiên bản của Android được mô tả chi tiết dưới hình sau:

Hình 2.2 Các phiên bản của Android

2.1.3 Kiến trúc hệ điều hành Android

Hệ điều hành Android được thiết kế theo 4 tầng: Application, Application Framwork, Library và Linux Kernel Kiến trúc của hệ điều hành Android được thể hiện tổng quát dưới hình sau: [2]

Trang 18

Hình 2.3 Kiến trúc của hệ điều hành Android

2.1.3.1 Tầng Application

Những ứng dụng mà người dùng cuối sử dụng trên thiết bị di động do các nhà phát triển phần mềm lập trình nên Một số ứng dụng mà Android tích hợp sẵn như: danh bạ, lịch, ứng dụng chụp hình quay phim, tin nhắn, chương trình nghe nhạc, xem phim

2.1.3.2 Tầng Application Framework

Tầng này cung cấp các API 9 giúp các lập trình viên có thể sử dụng các thiết bị phần cứng, các dịch vụ chạy nền, thiết lập các cảnh báo cho người dùng và nhiều chức năng khác

Một ứng dụng Android bao gồm một bộ các dịch vụ và hệ thống sau:

 View: giúp lập trình viên xây dựng giao diện cho ứng dụng như: Lists, Grids, Button, Web browser

 Content Provider: giúp truy xuất dữ liệu từ ứng dụng khác (ví dụ như Contacts) hoặc quản lý dữ liệu của ứng dụng

 Resource Manager: hỗ trợ việc truy xuất đến các tài nguyên như: layout, graphic, locallized String

 Notification Manager: hiển thị các thông báo, cảnh báo cho người dùng

 Activity Manager: kiểm soát vòng đời “lifecycle” của ứng dụng và điều hướng các activity

2.1.3.3 Tầng Library

Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android, các thư viện đó được tập hợp thành một số nhóm như:

9 API, http://www.pcmag.com/encyclopedia_term/0,2542,t=API&i=37856,00.asp

Trang 19

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

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

 Thư viện Media (Media Libraries): mở rộng từ PacketVideo’s OpenCORE, hỗ trợ các thư viện phát và ghi các định dạng âm thanh phổ biến, các định dạng video và ảnh tỉnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG và PNG

 Thư viện Web (LibWebCore): dùng Webkit Engine để nhúng vào các ứng dụng khác, nó có thể hỗ trợ đa định dạng như HTML5, JavaScript, CSS, DOM, AJAX

 Thư viện SQLite: Quản lý cơ sở dữ liệu của ứng dụng

2.1.3.4 Tầng Android Runtime

Android bao gồm một tập hợp các thư viện cơ bản, cung cấp hầu hết các chức năng sẵn có trong các thư viện lõi của ngôn ngữ lập trình Java (Java Core) Tất cả ứng dụng đều chạy trong tiến trình riêng Máy ảo Java (Dalvik Virtual Machine) đã được phát triển để cho một thiết bị có thể chạy nhiều máy ảo một cách hiệu quả

Được viết từ ngôn ngữ Java, tuy nhiên các ứng dụng Android không chạy bằng JRE (Java Runtime Environment) của Oracle mà chạy bằng máy ảo Dalvik do Google phát triển

2.1.3.5 Tầng Linux Kernel

Android phát triển dựa trên Linux phiên bản 2.6, cung cấp các dịch vụ cố lõi của hệ thống như bảo mật, quản lý bộ nhớ, quản lý tiến trình Nhân Linux hoạt động như một lớp trừu tượng hóa nhằm liên lạc giữa phần cứng và phần còn lại của phần mềm

Trang 20

2.1.3.6 Máy Ảo Dalvik

Dalvik được thiết kế bởi Dan Bornstein, là máy ảo giúp các ứng dụng Java chạy được trên các thết bị di động sử dụng hệ điều hành Android Nó chạy các ứng dụng đã chuyển đổi thành một file thực thi Davik

Dalvik hoàn toàn khác với máy ảo Java (Java Virtual Machine), khi nhà phát triển viết ứng dụng Android thì sử dụng ngôn ngữ Java, sau đó được biên dịch sang bytecode của Java Tuy nhiên, để ứng dụng có thể chạy trên môi trường Android thì nhà phát triển phải thực thi một công cụ có tên là dx Đây là công cụ dùng để chuyên đổi định dạng bytecode sang Dex-bytecode (Dex là từ viết tắt của Dalvik excutable đóng vai trò thực thi các ứng dụng Android) [7]

2.1.4 Giới thiệu Android SDK

2.1.4.1 Android SDK

Android SDK (Android Software Development Kit) là bộ công cụ dùng để phát triển ứng dụng cho hệ điều hành Android Android SDK do Google xây dựng và phát hành miễn phí để các nhà phát triển phần mềmm dễ dàng xây dựng và phát triển các ứng dụng trên hệ điều hành Android

 API cung cấp các dịch vụ nền tảng như GPS, Google Maps,

 Truy cập đến các phần cứng đa phương tiện như chơi nhạc, ghi âm, camera

10 GMS, http://en.wikipedia.org/wiki/GSM

Trang 21

 Chia sẻ dữ liệu trong kho dữ liệu.

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

 P2P hỗ trợ sử dụng Google Talk

 OpenGL ES hỗ trợ đồ họa 3D [7]

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

 Java.lang : chứa các lớp lõi của Java

 Java.io : xuất nhập

 Java.net : kết nối mạng

 Java.util : chứa các lớp tiện ích ví dụ như Log

 Java.text : tiện ích xử lý văn bản

 Java.math : các lớp tính toán

 Javax.net : các lớp mạng

 Javax.security : các lớp liên quan đến bảo mật

 Javax.mxl : các lớp liên quan đến DOM-based XML

 Org.apache.* : các lớp liên quan đến HTTP

 Org.xml : các lớp liên quan đến SAX-based XML [1]

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

 Android.app: truy cập vào các ứng dụng Android

 Android.content: truy xuất dữ liệu trong Android

 Android.net: bao gồm các lớp Uri 11 (Uniform Resource Indentifier) dùng cho việc truy xuất các nội dung khác

11 Uri, http://en.wikipedia.org/wiki/Uniform_resource_identifier

Trang 22

 Android.graphics: hỗ trợ đồ họa.

 Android.opengl: các lớp OpenGL

 Android.os: truy cập ở mức độ đến môi trường Android

 Android.os: truy cập mức độ hệ thống đến môi trường Android

 android.provider: các lớp liên quan đến ContentProvider

 android.telephony: khả năng truy cập Telephony

 android.text: giao diện văn bản

 android.util: tập các tiện ích thao tác trên văn bản,bao gồm XML

 android.view: thành phần UI 12(giao diện người dùng)

 android.webkit: hỗ trợ chức năng trình duyệt Web

 android.widget: thành phần UI mức độ cao hơn [1]

2.1.5 Các thành phần của một ứng dụng Android

2.1.5.1 Tập tin AndroidManifest.xml

Trong bất ký một ứng dụng Android nào đều có tập tin này, nó được tạo ra mặc định khi ta tạo một project Android bất kỳ Tập tin này chứa đựng các thành phần của ứng dụng như: các permission, các screen mà ứng dụng hỗ trợ, các activity, các service và quy định activity nào sẽ chạy đầu tiên

12 UI, http://en.wikipedia.org/wiki/User_interface

Trang 23

Hình 2.4 Giao diện quản lý tập tin ManifestAndroidManifest.xml có 5 thành phần chính:

 Manifest: Tab này dùng để chỉnh sửa thông tin của ứng dụng như quản

lý package name, version

 Application: tab này dùng để khai báo chi tiết về ứng dụng như tên, icon, các phương thức, dịch vụ cung cấp, các activity

 Permission: tab này dùng để hiển thị các lớp dùng để theo dõi ứng dụng

 AndroidManifest.xml: dùng để chỉnh sửa tập tin AndroidManifest bằng code

Thông thường, một tập tin AndroidManifest.xml gồm có 3 thẻ chính, ngoài ra còn có nhiều thẻ phụ khác:

 Thẻ Application: chứa các thuộc tính để định nghĩa cho ứng dụng Android như icon, label, theme, permission, process,

Trang 24

 Thẻ 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 Trong ứng dụng nếu muốn sử dụng một loại tài nguyên nào đó thì phải khai báo trong thẻ permission.

 Thẻ Version: dùng để xác định phiên bản của hệ điều hành Android mà ứng dụng có thể hỗ trợ [8]

2.1.5.2 Tập tin R.Java

R.java là tập tin tự động sinh ra khi tạo ứng dụng Android, tập tin này được sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng

Mã nguồn của tập tin R.java tự động sinh ra khi có bất kì một sự kiện nào xảy

ra làm thay đổi các thuộc tính trong ứng dụng chẳng hạn như, khi copy một tập tin hình ảnh từ ngoài vào trong project thì đường dẫn đến tập tin đó sẽ được hình thành vào trong tập tin R.java hoặc khi xóa một tập tin hình ảnh nào thì đường dẫn cũng sẽ được xóa trong Người lập trình không cần phải thao tác gì trong tập tin này khi lập trình [6]

tự viết hoa và khoảng trắng Ngoài ra, thư mục res còn chứa các tập tin layout dùng để thiết kế giao diện cho ứng dụng Android

 Res/drawable: chứa các hình ảnh, icon của ứng dụng

 Res/layout: chứa các thành phần giao diện

Trang 25

2.1.6 Chu trình của ứng dụng Android

2.1.6.1 Activity

Activity là một trong bốn thành phần chính của một ứng dụng Android (Activity, Content provider, Broadcast Receiver, Services) Một activity cung cấp một giao diện cho người dùng giao tiếp Một ứng dụng thường bao gồm nhiều activity, trong đó sẽ có một activity chính dùng để hiển thị khi ứng dụng được chạy Mỗi Activity có thể gọi hiển thị activity khác để thực hiện một hành động khác Mỗi lần một Activity mới bắt đầu thì các actvity trước đó sẽ ở trạng thái dừng lại và được quản

lý theo cớ chế stack (LIFO – Last In First Out) [3]

2.1.6.2 Activity Stack

Hệ điều hành Android quản lý các activity theo kiểu stack: khi một activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành running activity, các activity trước đó sẽ bị tạm dừng và chỉ hoạt động khi các activity gọi sau nó được giải phóng Tức là, khi một activity mới được gọi thì nó sẽ đưa lên đỉnh của stack và activty trước đó sẽ bị đẩy xuống dưới và không được hiển thị trong suốt thời gian activity mới tồn tại Khi người dùng nhấn phím Back thì activity kế tiếp trong stack được chuyển lên để hiển thị và activity hiện tại sẽ bị gỡ bỏ

Hình 2.5 Mô hình activity Stack

Trang 26

2.1.6.3 Vòng đời của một activity

Mỗi một activity có một chu trình hoạt động (hay gọi là vòng đời) từ lúc sinh ra cho đến lúc mất đi Mô hình sau mô tả một vòng đời của một activity:

Hình 2.6 Vòng đời của một Activity

Trang 27

 onCreate(): gọi khi lớp activity được khởi tạo, dùng để thiết lập giao diện ứng dụng và thực thi những thao tác cơ bản.

 onStart(): gọi trước khi lớp ứng dụng xuất hiện trên màn hình

 onResume(): gọi ngay sau onStart() trước khi activity tương tác với người dùng, lúc này activity đang ở đỉnh của stack

 onPause(): gọi khi hệ thống bắt đầu onResume() một activity khác, activity này có thể bị “kill” nếu như ứng dụng khác cần bộ nhớ

 onRestart(): gọi khi ứng dụng đang ở onStop() nhưng muốn khởi động lại bằng onStart()

 onStop(): được gọi khi người dùng không còn nhìn thấy activity này nữa, activity này có thể bị “kill” nếu một ứng dụng khác cần bộ nhớ

 onDestroy(): được gọi trước khi activity bị hủy, hoặc bị hệ thống hủy để tiết kiệm vùng nhớ [3]

Trang 28

Hình 2.7 Đối tượng View trong Android

Có nhiều kiểu View và ViewGroup, mỗi kiểu là một kế thừa của lớp View và tất cả các kiểu đó được gọi là Widget Trong Android Platform, các screen luôn được

bố trí theo một cấu trúc phân cấp, một screen là tập hợp các layout và widget được bố trí có thứ tự Để thể hiện một sreen thì trong hàm onCreate của mỗi Activiy cần phải gọi hàm setContentView(R.layout.main), trong đó main.xml là layout được gọi hiển thị khi activity được khởi tạo [6]

2.2.1.2 ViewGroup

ViewGroup là sự mở rộng của lớp View, hay nói cách khác là một nhóm các wiget layout dùng để bố trí các đối tượng như button, textview, edittext trong một giao diện Có các loại ViewGroup sau:

 Linear Layout: dùng để bố trí các thành phần giao diện theo chiều ngang hay dọc nhưng trên một dòng duy nhất, không có xuống dòng Các thành phần trong Linear Layout không phụ thuộc vào kích thước của

Trang 29

màn hình và chúng được dàn theo những tỷ lệ cân xứng dựa vào các ràng buộc của nhau.

 Frame Layout: được dùng để bố trí các đối tượng theo kiểu giống như Layer trong Photoshop Những đối tượng nào thuộc Layer bên dưới thì

sẽ bị che khuất bởi các đối tượng của Layer bên trên FramLayer thường được sử dụng khi muốnt tạo ra các đối tượng có khung hình bên ngoài

 Absolute Layout: layout này được sử dụng để bố trí các widget vào một

vị trí bất ký dựa vào 2 thuộc tính tọa độ x, y Tuy nhiên, kiểu layout này rất ít sử dụng vì tọa độ của các đối tượng sẽ cố định và không tự điều chỉnh tỷ lệ khoảng cách giữa các đối tượng Khi sử dụng ứng dụng cho các kích thước màn hình khách nhau thì vị trí của đối tượng sẽ không chính xác như ban đầu Thông thường, layout này thường được dùng trong thiết kế game

 Relative Layout: Layout này cho phép bố trí các đối tượng theo một trục đối xứng ngang hoặc dọc Để cố định các đối tượng cần phải xác định các mối ràng buộc nào đó với một hoặc nhiều đối tượng khác Các ràng buộc này là các ràng buộc trái, phải, trên, dưới so với một hoặc nhiều đó tượng khác hoặc so với layout cha Dựa vào các mối ràng buộc đó mà Relative Layout cũng không phụ thuộc vào kích thước của màn hình thiết bị

 Table Layout: Layout này sử dụng khi cần thiết kế các đối tượng widget theo hình dạng như một table gồm các row và column Ví dụ như giao diện của một máy tính bỏ túi, một bàn phím di động, một bảng dữ liệu

2.2.2 Các thành phần giao diện người dùng

2.2.2.1 Button

Button là đối tượng đầu tiên phải nhắc đến trong widget vì đây là đối tượng được sử dụng nhiều nhất trong các ứng dụng Android Để thiết kế giao diện với một button ta có hai cách như sau:

Trang 30

 Thiết kế bằng XML: khai báo trong tập tin xml nằm trong thư mục res,

ta có thể tùy chỉnh màu sắc, kích thước dài rộng, bo các góc cạnh, hiệu ứng khi chạm

 Thiết kế bằng Code: Không cần phải khai báo trong tập tin xml mà ta chỉ cần khai báo trong các lớp và định nghĩa một số thuộc tính của Button

2.2.2.2 ListView

Được sử dụng để hiển thị danh sách các đối tượng theo từng dòng, ví dụ như: danh bạ, danh sách các bài hát Mỗi dòng thông thường được tải lên từ một tập tin XML đã thiết kế sẵn các thuộc tính và đối tượng trên đó [6]

Để thể hiện một list thông tin lên mà hình thì cần có 3 yếu tố chính sau:

 Data Source: có thể là một ArrayList, HashMap hoặc bất ký một cấu trúc dữ liệu kiểu danh sách nào

 Adapter: là một lớp trung gian ánh xạ dữ liệu trong Data Source vào đúng vị trí của đối tượng đã xác định và hiển thị thông tin lên chúng trong ListView Chẳng hạn như Data Source có một trường name sẽ ánh

xạ lên một TextView để hiển thị lên ListView

 ListView: là đối tượng để hiển thị các thông tin trong Data Source ra một cách trực quan trên các đối tượng giao diện cho người dùng xem và

có thể tương tác trực tiếp với nó

2.2.2.3 EditText

Đối tượng EditText trong Android cũng giống như một TextField hay một TextBox Giá trị android:singleLine bằng false thì EditText sẽ là một TextBox, còn người lại là true sẽ là một TextField Giá trị android:inputType dùng để xác định các kiểu văn bản nhập vào trong EditText chẳng hạn như password, email, number

Trang 31

2.2.2.4 TextView

TextView ngoài tác dụng là sử dụng để hiển thị văn bản thì nó còn cho phép định dạng nội dung bằng thẻ html Tuy nhiên, TextView chỉ có thể định dạng văn bản HTML thông thường như cỡ chữ, màu sắc, in đậm nhưng không thể hiển thị hình ảnh thông qua một url nào đó trên Internet, điều này chỉ có thể sử dụng trên WebView

2.2.2.5 CheckBox

Là đối tượng chỉ sử dụng hai giá trị true và false, tương ứng với thao tác chọn

và bỏ chọn Trong một nhóm gồm các đối tượng CheckBox ta có thể chọn nhiều đối tượng, đây là điểm khác biệt cơ bản giửa CheckBox và Radio Button CheckBox thường được thiết kế với các kiểu vuông, còn Radio Button thường được thiết kế bằng các nút tròn

2.2.2.6 Options Menu

Có hai cách để tạo một Options Menu, tạo bằng tập tin xml hoặc tạo thông qua code Options Menu được hiển thị ở góc dưới màn hình và được hiển thị lên khi gọi hàm openOptionsMenu() Options Menu là nơi thường dùng để đặt các hành động của toàn bộ ứng dụng chẳng hạn như: tìm kiếm, email, settings, exit [7]

Hình 2.8 Options Menu

Trang 32

2.2.2.7 Context Menu

Context Menu thường được sử dụng trong một ngữ cảnh nhất định ví dụ như khi nhấn vào một item của ListView, hoặc xử lý tác vụ nào đó khi bấm vào một Button Để tạo Context Menu ta cũng có hai cách là tạo bằng xml hoặc bằng code Context Menu thường được hiển thị giữa màn hình thành một dạng List để người dùng lựa chọn

Để khởi tạo một Context Menu, tao sử dụng phương thức:

onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) , với các tham số được truyền vào như sau:

 ContextMenu: Đối tượng để thêm các item vào Context Menu

 View: đối tượng dùng để gọi hiển thị Context Menu

 ContextMenuInfo: cho biết vị trí xảy ra sự kiện trong ListView

Hình 2.9 Context Menu

Trang 33

2.2.3 Giới thiệu Intent

2.2.3.1 Khái niệm Intent

 Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một activity

 Là cầu nối giữa các activity: ứng dụng Android bao gồm nhiều activity, mỗi activity hoạt động độc lập nhau và thực hiện những công việc khác nhau Intent đứng giữa giúp các activity có thể triệu gọi cũng như truyền

dữ liệu tới một activity khác [7]

Hình 2.10 Cầu nối Intent giữa các activity

2.2.3.2 Các thuộc tính của Intent

Một Intent thường có hai thuộc tính chính: [7]

 action: là hành động được gọi thực hiện ví dụ: ACTION_VIEW, ACTION_MAIN

Trang 34

 data: là dữ liệu sẽ được xử lý trong action, thường được diễn ta là một Uri.

Một số Action thường được sử dụng trong Intent:

ACTION_VIEW Hiển thị thông tin liên lạc trong danh bạ

của định danh lấy từ thông tin của Uri

ACTION_DIAL Hiển thị trình quay số với thông tin lấy từ

địa chỉ chứa trong Uri

ACTION_EDIT Sửa đổi thông tin của định danh lấy từ

địa chỉ chưa trong Uri

ACTION_ANSWER Mở activity để xử lý các cuộc gọi tới,

thường là Phone Dialer của Android

ACTION_CALL

Mở một Phone Dialer và ngay lập tức thực hiện cuộc gọi dựa vào thông tin trong data Uri

ACTION_DELETE Mở một activity cho phép xóa dữ liệu mà

địa chỉ cua nó chứa trong data Uri

ACTION_SEND Mở một activity cho phép gửi dữ liệu từ

data Uri

ACTION_SENDTO Mở một activity cho phép gửi thông điệp

đến địa chỉ trong Uri

ACTION_MAIN Sử dụng để khởi chạy một activity

Bảng 2.1 Bảng các Action thường sử dụngNgoài các phần chính, Intent còn có các thành phần phụ khác như:

 Catelogy: cung cấp thông tin bổ sung về các hành động được thực thi

 Type: chỉ định rõ ràng một loại dữ liệu (MIME type) của Intent

 Component: chỉ định tên của một lớp thành phần được sử dụng

 Extras: mang theo đối tượng Bundle chứa các giá trị cần bổ sung

Trang 35

2.2.4 Service

Service là các tác vụ chạy ngầm dưới hệ thống nhằm thực hiện một nhiệm vụ nào đó Mỗi lớp Service phải chứa thẻ <service> được khai báo trong tập tin AndroidManifest.xml [3]

Cũng như các đối tượng khác, service chạy trên luồng của tiến trình chính nhưng không phải là một tiến trình độc lập Đối tượng service không chạy trên tiến trình của riêng nó mà chạy trên tiến trình của chương trình

Service có chứa hai đặc trưng cơ bản:

 Là một chức năng để ứng dụng thông báo với hệ thống về việc thực hiện

ở phía dưới nền ngay cả khi người dùng không còn tương tác với ứng dụng Điều này tương đương với việc gọi phương thức Context.startService(), service sẽ yêu cầu hệ thống lên lịch để chạy cho đến khi bị chính service hay người dùng dừng lại

 Là chức năng cho phép ứng dụng cung cấp các chức năng cho các ứng dụng khác Điều đó tương ứng với việc gọi Context.bindService(), cho phép một kết nối long-standing được tạo ra để service hay người nào đó dừng lại

Trang 36

Hình sau mô tả chi tiết vòng đời của một service:

Hình 2.11 Vòng đời của một ServiceTheo hình trên ta thấy, một service bắt đầu bởi phương thức startService() là service dùng để thể hiện các tác vụ ngầm dưới nền, service được bắt đầu bởi phương thức bindService() là service được dùng để cung cấp các chức năng cho chương trình khác

2.2.5 Content Provider

Chúng ta có thể hình dung Content Provider một cách đơn giản là một phương thức cung cấp các dịch vụ để hỗ trợ cho ứng dụng Android như: Danh bạ, Call log, SMS, các thông tin cấu hình trên điện thoại Trong hệ thống Android, tất cả các tài nguyên như: Danh bạ, SMS, đều được lưu trự trong cơ sở dữ liệu SQLite của hệ thống và cho phép người dùng có thể truy xuất vào nó Tuy nhiên, chúng ta không cần dùng các lệnh hoặc cách chương trình để truy xuất mà có thể sử dụng API của Android để dễ dàng truy xuất thông qua một dịch vụ hỗ trợ cho việc truy xuất đó chính là Content Provider [3]

Trang 37

Content Provider hiện thực một tập phương thức chuẩn mà các ứng dụng khác

có thể truy xuất và lưu trữ dữ liệu của loại nó điều khiển Tuy nhiên, những ứng dụng không thể gọi các phương thức trực tiếp Hơn thế chúng dùng lớp Content Resolver và gọi những phương thức đó Một Content Resolver có thể giao tiếp đến nhiều content provider, nó cộng tác với các provider để quản lý bất kỳ giao tiếp bên trong liên quan Lớp Content Resolver cung cấp các phương thức xử lý dữ liệu thông qua các Uri, mỗi Content Provider có 1 Uri cụ thể

Một Uri thường gồm các thành phần sau:

 Phần 1: Tiền tố content, chỉ ra dữ liệu được là content provider, và nó không bao giờ thay đổi

 Phần 2: Phần này chỉ đến nơi lưu trữ dữ liệu

 Phần 3: Phần này chỉ loại dữ liệu là contact ,sms ,…

 Phần 4: Phần này chỉ đến đúng vị trí của dữ liệu nói cách khác nó chỉ đến dòng trong table của cơ sở dữ liệu

Ví dụ: content://contacts/people/1 : lấy thông tin liên hệ của định danh thứ 1 trong cơ sở dữ liệu lưu trữ danh bạ

Bên cạnh content provider do android cung cấp, người dùng có thể tự định nghĩa ra một content cho riêng ứng dụng của mình

2.2.6 Broadcast Receiver

Là lớp nhận về các Intent được gởi bởi sendBroadcast() Có thể gọi Broadcast Receiver bằng hai cách: Context.registerReceiver() hay thông qua thẻ <receiver> trong tập tin AndroidManifest.xml [3]

Có hai loại Broadcast Reveiver:

 Normal broadcasts: Không đồng bộ hoàn toàn Tất cả các Receiver của Broadcast chạy trong một lệnh không xác định, thường là cùng

Trang 38

lúc Như vậy sẽ hiệu quả hơn, nhưng đồng nghĩa với Receiver không thể

sử dụng kết quả hoặc xóa

 Ordered broadcasts: được gởi đến mỗi Receiver tại mỗi thời điểm Mỗi Receiver nhận được sẽ truyền đến Receiver kế tiếp hoặc dừng việc broadcast Trật tự của các receiver được quyết định bởi thuộc tính android:priority trong intent-filter tương ứng

2.2.7 SQLite

Mỗi ứng dụng đều phải sử dụng dữ liệu, có thể là một dữ liệu đơn giản hay đôi khi là cả một hệ thống, một cấu trúc phức tạp Trong Android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng như: Mozilla Firefox, iPhone

Trong Android, cơ sở dữ liệu tạo ra cho một ứng dụng thì chỉ có ứng dụng đó mới có quyền truy cập và sử dụng, các ứng dụng khác thì không Khi đã được tạo, cơ

sở dữ liệu SQLite được chứa trong thư mục /data/data/<package_name>/database [7]

SQ Lite không thích hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thì SQLite phát huy uy lực và không hề yếu kém về mặt chức năng hay tốc

độ Với các đặc điểm trên SQLite được sử dụng nhiều trong việc phát triển, thử nghiệm v v và là sự lựa chọn phù hợp cho những người bắt đầu học database Hiện nay thì SQLite đã được ứng dụng vào smartphone như iPhone và Android để lưu trữ dữ liệu

SQLiteOpenHelper là một lớp ảo, giống như tên của nó SQLite Open Helper

nó được các nhà phát triển tạo ra để giúp tạo các cơ sở dữ liệu dùng SQLite (vì SQLite không hỗ trợ các phương thức khởi tạo cơ sở dữ liệu) Vì SQLiteOpenHelper là một lớp ảo nên ta cần khai báo một lớp khác kế thừa nó

Chú ý nó có hai phương thức ảo cũng cần được viết lại là:

onCreate(SQLiteDatabase db): được gọi khi cơ sở dữ liệu được tạo, ta

dùng khi mà tạo bảng,tạo view hoặc là trigger

Trang 39

 onUpgrade(SQLiteDatabse db, int oldVersion, int newVersion) : được dùng khi ta sửa cơ sở dữ liệu như thay đổi bảng, xóa, tạo bảng mới.

2.3 Các thành phần và công nghệ triển khai

2.3.1 Eclipse

Eclipse là môi trường phát triển dành cho Java (Integrated Development Environment - IDE) Eclipse được tạo ra bởi cộng đồng phát triển mã nguồn mở do hãng IBM đề xướng vào tháng 11-2001 nhằm phát triển môi trường hỗ trợ các ứng dụng phần mềm mã nguồn mở tích hợp Đầu năm 2004, Eclipse trở thành Eclipse Foundation là một tổ chức phi lợi nhuận với sự tham gia của nhiều cá nhân, đơn vị trường học, viện nghiên cứu và doanh nghiệp hoạt động trong ngành công nghệ phần mềm

Eclipse được xây dựng dựa trên hai thành phần:thành phần nền tảng (Core) và các thành phần được tích hợp thêm (plug-in)

 Thành phần nền tảng (Core): đây là phần chứa các chức năng, dịch vụ cần thiết như các hệ thống phát triển khác như giao diện, trình soạn thảo văn bản, hướng dẫn sử dụng, báo lỗi Cụ thể hơn, thành phần này bao gồm các nền tảng để chạy chương trình, quản lý tài nguyên như hệ thống thông tin, các thành phần tích hợp (plug-in), giao diện người dùng, các tài nguyên cần thiết cho người lập trình và các công cụ hỗ trợ lập trình, đóng gói, hướng dẫn

 Thành phần tích hợp (plug-in): tùy vào các ứng dụng cần phát triển mà những lập trình viên sẽ tích hợp thên vào các thành phần khác để hỗ trợ cho việc lập trình như: Android SDK, Java Development Tools – JDT, Web Tools Project – WTP, C Development Tools – CDT Một ứng dụng có thể tích hợp thêm nhiều thành phần khác, các thành phần này liên kết và hỗ trợ nhau Việc tích hợp vào Eclipse thực hiện rất đơn giản, chỉ cần chép các tập tin vào đúng thư mục, sau đó khởi động lại Eclipse

sẽ tự động nhận được các thành phần “plug-in”

Trang 40

2.3.2 Google Maps

Google Maps (lúc trước được gọi là Google Local) là một bản đồ vệ tinh được cung cấp miễn phí bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và có thể dùng để nhúng vào Website của bên thứ ba thông qua Google Maps API Nó cho phép hiển thị bản đồ đường sá và những địa điểm kinh doanh trong khu vực theo ngôn ngữ của mỗi quốc gia trên toàn thế giới

Google Maps là bản đồ số được cập nhật thường xuyên theo sự thay đổi ở các quốc gia lãnh thổ theo thổ ngữ riêng biệt Hiện nay các thiết bị sử dụng các phần mềm được phát triển từ Google Maps ngày càng nhiều do sự cập nhật thường xuyên của Google Ngoài chức năng xác định vị trí, Google đã phát triển thêm tính năng tìm đường, chỉ đường khá chi tiết đặc biệt là ở các thành phố lớn

Google Maps API là gì? Đó là một phương thức cho phép một ứng dụng B sử dụng dịch vụ bản đồ Google Maps do Google phát triển để nhúng vào ứng dụng của

họ Một Google Maps API cho phép người dùng có thể sử dụng tất cả các tính năng của Google có được thông qua các phương thức được Google Maps hỗ trợ sẵn

Nhóm đã xây dựng bản đồ với phiên bản Google Maps API v1 Hiện nay, Google Mpas đã cho ra phiên bản Google Maps API v2

2.3.3 Định vị GPS

Hệ thống định vị toàn cầu (Global Positioning System - GPS) là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo được thiết kế và quản lý bởi Bộ Quốc Phòng Hoa Kỳ, nhưng chính phủ Hoa Kỳ cho phép tất cả các quốc dân trên thế giới sử dụng miễn phí Trong cùng một thời điểm, ở một vị trí trên trái đất nếu xác định được khoảng cách từ điểm đó đến ít nhất ba vệ tinh trên vũ trụ thì sẽ tính được tọa độ của điểm đó

Các vệ tinh GPS bay vòng quanh trái đất hai lần mỗi ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống trái đất Các máy thu GPS nhận thông tin này và thực hiện phép tính lượng giác để xác định vị trí cần tìm Về bản chất máy

Ngày đăng: 03/03/2016, 01:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] W. F. Ableson, R. Sen, and C. King , Android in Action. Stamford, Connecticut: Manning Publications Co., 2011 Sách, tạp chí
Tiêu đề: Android in Action
[2] E. Burnette, Hello, Android, 3rd ed., S. D. Pfalzer, Ed. USA: The Pragmatic Bookshelf, 2010, pp. 30-33 Sách, tạp chí
Tiêu đề: Hello, Android
[3] M. Gargenta, Learning Android. Sebastopol, California: O’Reilly Media, Inc., 2011 Sách, tạp chí
Tiêu đề: Learning Android
[6] W.-M. Lee, Beginning Android Tablet Application Development. Indianapolis, Indiana: Wiley Publishing, Inc., 2011, pp. 49-54 Sách, tạp chí
Tiêu đề: Beginning Android Tablet Application Development
[7] R. Meier, Professional Android™ 2 Application Development. Indianapolis, Indiana: Wiley Publishing, Inc.,2010 Sách, tạp chí
Tiêu đề: Professional Android™ 2 Application Development
[8] M. L. Murphy, Beginning Android 2. New York: Apress, 2010 Sách, tạp chí
Tiêu đề: Beginning Android 2
[9] The PHP Group. (2012, Nov.) PHP Language Reference [Online]. Available: http://www.php.net/manual/en/langref.php Sách, tạp chí
Tiêu đề: PHP Language Reference

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w