Ch tiêu ánh giá Chú thích n đnh T t chính xác cao m i v trí. chính xác T t T 5 đ n 50m khi s d ng A-GPS và có th đnh v ba chi u. Tuy nhiên c ng s ph thu c vào ph ng pháp k t h p.
TTFF(Time to First Fix) T t Kho ng 5 đ n 10s.
u cu i Trung
bình Yêu c u thay đ i c ph n c ng, ph n m m. Roaming T t Yêu c u ph i có A-GPS LS m ng khách. Hi u su t T t S d ng ít b ng thông và dung l ng m ng. Kh n ng m r ng T t R t d dàng m r ng.
Tính t ng thích T t Ph ng án này có th s d ng cho t t c các m ng GSM, GPRS và WCDMA.
K thu t A-GPS đã t rõ kh n ng chính xác trong đnh v c a mình, nh ng khi ta k t h p các ph ng pháp l i v i nhau ta s đ c m t ph ng pháp k t h p r t t t, c th đây ta s tìm hi u ph ng pháp k t h p gi a A-GPS v i Cell-ID.
c. Ph ng pháp k t h p
Trong m ng GSM/GPRS, WCDMA thì ph ng pháp k t h p A-GPS v i Cell-ID là ph bi n nh t. Ph ng pháp k t h p này s n m l y u đi m c a c hai k thu t riêng bi t A-GPS và Cell-ID, chúng bù tr , h tr khuy t đi m c a nhau. C th là vùng ph c v c a A-GPS s t ng lên, và c i thi n đáng k đ chính xác c a A-GPS trong nhi u tr ng h p. chính xác và vùng ph c a A-GPS r t t t m i đa đi m mà thuê bao t i, tuy v y nó s gi m m nh đi khi thuê bao trong các toà nhà ho c vùng m t đ đông
đúc. Nh ng n i này th ng m t đ cell r t cao do đó ph ng pháp cell-ID l i có kh n ng xác đnh đ c v trí khá chính xác cho dù không b ng A-GPS. K t h p hai ph ng pháp này làm t ng kh n ng roaming cho thuê bao và có th h tr cho r t nhi u MS đã có trong m ng.
B ng 2.4. c tính ph ng pháp k t h p Ch tiêu ánh giá Chú thích n đnh T t chính xác cao m i v trí. chính xác T t T 5 đ n 50m khi s d ng A-GPS và có th đnh v ba chi u. Tuy nhiên c ng s ph thu c vào ph ng pháp k t h p.
TTFF(Time to First Fix) T t Kho ng 5 đ n 10s.
u cu i Trung
bình Yêu c u thay đ i c ph n c ng, ph n m m. Roaming T t Yêu c u ph i có A-GPS LS m ng khách.Tuy
nhiên s h n ch khi k t h p A-GPS v i E-OTD Hi u su t T t S d ng ít b ng thông và dung l ng m ng. Kh n ng m r ng T t R t d dàng m r ng.
Tính t ng thích T t Ph ng án này có th s d ng cho t t c các m ng GSM, GPRS và WCDMA.
2.2. Gi i thi u AndroidSDK.
2.2.1. Gi i thi u Android Platform.
Android là m t môi tr ng ph n m m đ c xây d ng cho các thi t b di đ ng. Nó không là n n t ng v ph n c ng. Android bao g m m t Linux kernel làm n n cho h
đi u hành, m t giao di n ng i dùng phong phú, các ng d ng cho ng i dùng cu i, th vi n h tr l p trình và nhi u h tr v truy n thông đa ph ng ti n khác.
M t trong nh ng tính n ng m nh m nh t c a n n t ng Android là không có s khác bi t gi a các ng d ng đ c xây d ng v n hành trên thi t b và ng d ng ng i dùng đ c t o ra b i SDK. i u này có ngh a là các ng d ng đó có th đ c vi t đ
khai tháo các tài nguyên có s n trên thi t b .
Có l tính n ng đáng chú ý nh t c a Android là nó là m t n n t ng mã ngu n m , do đó thi u các y u t có th và s đ c cung c p b i c ng đ ng các nhà phát tri n toàn c u. Ví d : h đi u hành d a trên Linux kernel c a Android không đi kèm v i m t môi tr ng v b c tinh vi,nh ng b i vì n n t ng là m , các v b c b o v có th đ c vi t và cài đ t trên thi t b . T ng t nh th , các b mã truy n thông đa ph ng ti n có th
đ c cung c p t các nhà phát trên th ba và không c n ph i ph n h i lãi cho Google hay b t k ng i nào khác. ó chính là s c m nh cùa n n t ng mã ngu n m mang đ n cho ch di đ ng.
Hình 2.10 M i quan h gi a Android và ph n c ng.[2]
2.2.2. Ki n trúc c a Android
Android là m t kho ph n m m cho các thi t b di đ ng bao g m m t h đi u hành, middleware và các ng d ng chính. Android SDK cung c p các công c và giao di n ng i dùng c n thi t đ b t đ u phát tri n ng d ng cho n n t ng Android s d ng ngôn ng l p trình Java.
Hình 2.11 S đ các thành ph n chính c a h đi u hành Android.[7]
2.2.2.1. Application.
Có các ng d ng đ c vi t b ng ngôn ng Java. M t s các ch ng trình đ n gi n bao g m l ch, email client, SMS, b n đ , trình duy t web… ây là t ng mà ng i s d ng bình th ng s d ng th ng xuyên nh t là ph n c b n c n ph i có c a m t ng d ng, t t c các t ng còn l i đ c s d ng b i ng i l p trình, các nhà phát tri n và các hãng s n xu t ph n c ng.
2.2.2.2. Application Framework
ây là b khung mà t t c các nhà phát tri n Android ph i làm theo. Các nhà phát tri n có th truy c p t t c các API qu n lý các ch c n ng c b n c a đi n tho i nh phân b ngu n tài nguyên, chuy n đ i gi a các ti n trình, ch ng trình ho c các
ng d ng đi n tho i, l u gi v trí đa lý c a đi n tho i.
Các ki n trúc đ c thi t k t t đ đ n gi n hóa vi c dùng l i các thành ph n. Nh ng khung ng d ng (Application Framework) nh là m t b công c c b n mà m t nhà phát tri n có th s d ng đ xây d ng các công c ph c t p h n.
2.2.2.3. Libraries
T ng này bao g m các th vi n Android đ c vi t b ng C, C + +,ph c v cho vi c l p trình c a các l p trình viên và đ c s d ng b i các h th ng khác nhau. Các th vi n này s cho các thi t b bi t làm th nào đ x lý các lo i d li u khác nhau và cách ti p xúc v i các nhà phát tri n Android thông qua khuôn kh ng d ng Android. M t s th vi n bao g m các ph ng ti n truy n thông, đ h a, 3d, SQLite, th vi n trình duy t web…
2.2.2.4. Runtime Android
T ng này bao g m t p h p các th vi n c s c n thi t cho th vi n java.M i ng d ng Android đ c dành riêng m t máy o Dalvik. Dalvik đã đ c vi t đ cho m t thi t b có th ch y nhi u máy o m t cách hi u qu và nó th c thi t p tin th c thi đ t i
u hóa cho b nh .
2.2.2.5. Linux Kernel
T ng này bao g m các ch ng trình qu n lý b nh c a Android, thi t l p b o m t, ph n m m qu n lý đi n n ng và m t s trình đi u khi n cho ph n c ng, truy c p h th ng t p tin, m ng... Kernel c ng ho t đ ng nh m t l p tr u t ng gi a ph n c ng và ph n còn l i c a ch ng ph n m m (software stack). 2.2.3. Các thành ph n c a m t ng d ng Android. Các ng d ng đ c xây d ng t b n lo i thành ph n c b n đ c đnh ngh a b i ki n trúc Android : 2.2.3.1. Activities :
Activities là m t ph n c a mã th c thi đ n và đi trong th i gian kh i t o b i ng i s d ng, h đi u hành trong th i gian th c. Chúng có th t ng tác v i ng i dùng và yêu c u d li u ho c các d ch v t các activity ho c service khác.
H u h t các mã th c thi chúng ta vi t cho Android s th c hi n trong b i c nh (context) c a m t Activity. Các Activity th ng th hi n ra màn hình, m i activity hi n th trên m t màn hình c a ng i dùng. Khi m t activity không hoat đ ng n a thì nó s
đ c h đi u hành h y đi đ ti t ki m b nh .
M t ng d ng thì có th có m t ho c nhi u Activity, tuy nhiên trong m t th i đi m ch có m t Activity đ c phép hi n th đ t ng tác v i ng i s d ng.
Hình 2.12 Vòng đ i c a Activity. [7]
- OnCreate: đ c g i khi m t Activity b t đ u đ c kh i t o. ây là n i th ng
đ c s d ng đ t o các view, m các d li u mà Activity c n s d ng.
- OnStart: đ c g i tr c khi m t Activity tr nên hi n h u trên màn hình. Khi OnStart hoàn t t, n u Activity có th tr thành ho t đ ng n n (background) trên màn hình thì đi u khi n s chuy n sang OnResume, ng c l i đi u khi n s chuy n sang OnStop.
- OnResume :đ c g i ngay sau OnStart n u Activity tr thành ho t đ ng n n trên màn hình. ây là th i đi m mà Activity ho t đ ng và t ng tác v i ng i s d ng. - OnPause : đ c g i khi ng d ng t m d ng 1 Activity b t đ u chuy n sang 1
tài nguyên CPU m t cách không c n thi t.Ví d nh khi kh i ch y các hình nh thì ch ng có ai có th nhìn th y đ c vì th nên t m d ng các hành đ ng cho đ n khi nào Activity hi n h u tr l i. ây là th i đi m mà Activity s l u tr các tr ng thái c a nó đ có th gi nguyên đ c trang thái khi tr l i làm ho t đ ng n n. - OnStop: đ c g i khi Activity không còn đ c hi n h u n a, có th là do ng
d ng chuy n sang Activity khác h c Activity đó đ b hu .
- OnDestroy : đây là th i đi m cu i cùng mà Activity có th làm b t c hành đ ng nào tr c khi nó b hu . Thông th ng khi đi đ n th i đi m này là do Activity đ
hoàn thành. Tuy nhiên c ng có m t s tr ng h p do Android c n tài nguyên c a Activity đ th c hi n các hành đ ng khác thì nó c ng s g i hàm này.
2.2.3.2. Intent
Intent là m t miêu t v ho t đ ng c n đ c th c hi n. Nói m t cách khác thì Intent là m t c c u cho phép truy n thông đi p gi a các thành ph n c a m t ng d ng và gi a các ng d ng v i nhau.
Intent có th đ c s d ng đ g i các ng d ng khác t ng d ng c a chúng ta. C ng có th s d ng Intent đ g i các thành ph n n i b (internal) hay ngo i (external) c a 1 ng d ng, đ phát đi các s ki n…
Phân lo i Intent
- Explicit Intent: intent đã xác đ nh đ c thu c tính component, ngh a là đã ch rõ thành ph n s nh n và x lý intent. Thông th ng intent d ng này không b sung thêm thu c tính nh action, data. Intent d ng này th ng đ c s d ng đ
kh i ch y các Activity trong cùng m t ng d ng.
- Implicit Intent : Intent lo i này không ch rõ component x lý, thay vào đó nó b sung thông tin trong các thu c tính. Khi Intent đ c g i đi , h th ng s d a vào nh ng vào nh ng thông tin này đ quy t đnh component nào thích h p nh t s x lý nó.
2.2.3.3. Layouts.
Frame Layout: ây là layout đ n gi n nh t trong các layout. Nó đ c s d ng ch đ hi n th m t ph n t đ n. Các thành ph n bên trong đ c quy đnh v trí b ng kho ng cách so v i biên trái và trên c a layout.
Linear Layout: là layout đ c s d ng ph bi n nh t trong Android, lo i layout này s s p x p các thành ph n con c a nó k nhau theo chi u d c ho c ngang d a vào giá tr c a thu c tính orientation.
Table Layout: là s m r ng c a linear layout. Layout này s s p x p các thành ph n con c a nó theo hàng và c t. TableLayout đ c t o b ng cách t o m t đ i t ng TableLayout, sau dó đ t các thành ph n TableRow vào trong.
RelativeLayout: úng v i cái tên c a nó, lo i layout này cho phép các thành ph n con bên trong nó đ c s p đ t theo quan h v i thành ph n ch a nó ho c các thành ph n con khác.
AbsoluteLayout: Layout này khác v i các layout khác là nó s không t đ ng resize các thành ph n con trong nó theo màn hình chính. Các thành ph n con trong nó
đ c s p x p theo v trí tùy ý trên màn hình.
Ngoài ra Android còn có thêm m t s thành ph n khác nh :
- Service - D ch v : ây là ph n th c thi c a mã l nh, đ c ch y d ng n n,th ng thì các chúng không ti p xúc v i giao di n ng i dùng.
- Content providersChúng đ c t o ra đ chia s d li u v i các activity hay các service khác. M t Content Provider s d ng giao di n chu n trong form c a m t URI đ đáp ng các d li u t các ng d ng khác.
2.2.4. GPS trên Android
2.2.4.1. S d ng d ch v đ nh v (Location-based service) trong android.
Location-based services (LBS) là m t thu t ng chung đ c s d ng đ mô t các công ngh khác nhau đ c s d ng đ tìm v trí hi n t i c a thi t b
Hai y u t chính LBS là:
- LocationManager : Cung c p móc cho các LBS
- LocationProviders : m i đ i di n cho m t công ngh tìm ki m đa đi m khác nhau đ c s d ng đ xác đnh v trí hi n t i c a thi t b .
L i ích c a vi c s d ng Location Manager : - Nh n đ c v trí hi n t i c a mình.
- Theo dõi chuy n đ ng.
- Thi t l p kho ng cách c nh báo cho vi c phát hi n s di chuy n vào và ra kh i m t khu v c quy đnh.
2.2.4.2. Thi t l p Emulator v i nhà cung c p th nghi m.
D ch v đnh v ph thu c vào thi t b ph n c ng cho vi c tìm ki m v trí hi n t i. Khi phát tri n và th nghi m v i các gi l p, ph n c ng s đ c o hóa và chúng ta có th gi l p nh chúng ta đang v trí khác nhau nh ng th c t thì chúng ta không c n ph i đi đâu c .
Android cho phép chúng ta mô ph ng các nhà cung c p a đi m th nghi m các ng d ng d a trên đa đi m.
C p nh t đa đi m trong Emulator Location Providers
gi l p nhi u đi m trên emulator thì chúng ta s s d ng d ch v DDMS tích h p s n trong Eclipse khi cài.
Hình 2.13 DDMS trong Eclipse
H u h t các h th ng GPS s d ng các t p tin GPX, trong khi KML đ c s d ng r ng rãi đ xác đnh thông tin đa lý. Chúng ta có th t vi t tay file KML c a riêng mình ho c t o ra m t cách t đ ng b ng cách s d ng Google Earth và tìm ki m h ng gi a hai đa đi m.
M i thay đ i v trí áp d ng b ng cách s d ng đi u khi n t DDMS s đ c áp d ng cho các máy thu GPS đã đ c kích ho t và đang ho t đ ng. L u ý r ng các giá tr GPS đ c tr v b i getLastKnownLocation s không thay đ i tr khi ít nh t m t ng d ng yêu c u c p nh t v trí.
2.2.4.3. Cách t o m t ng d ng qu n lý các Test Location Providers.
B c 1 : T o m t project m i và có m t activity tên TestProviderController