BQ MAO DUC DAO T30
D3I HQC THANG LONG
---o0o---
ICHOA LUAN TOT NGHIEP
TIM HIEU NCH VI) GOOGLE MAP XAY DIJSNG ffNG DIJNG CHIA SE VI TRi VOI BAN BE TREN NEN TANG ANDROID
MAO VIEN HUONG DAN : Ths. Le Minh Tula
Tan Trung
SINN VIEN THVC EltN : (cid:9)
(cid:9)
: A14986
MA SINK VIEN
(cid:9)
: Khoa hue may tinh
CHUAN NGANH
HA NQI - 2014
(cid:9)
MVC LVC
1
(cid:9)
LEI NOI DAU
-3
CH1TONG 1. GIO.1 THI$U BAI TORN
VAI NET VE GOOGLEMAP (cid:9)
3 3 3
1.1. (cid:9) 1.2. NNONo GI GOOGLEMAP KHONG HO TROT (cid:9) 1.3. (cid:9)
1.4.
4 4 4 4
Tim SAO LAI CAN ONG DUNG CHIA SE VI lid? (cid:9) MOI THONG HOAT %NG (cid:9) 1.4.1. Tai sao lai ding Android? (cid:9) 1.4.2. Google Map API la gi? (cid:9) 1.4.3. Server gamin 11 , hoot dong (cid:9)
CH1U'ONG 2. GIOI THI$U HE DIEU HANH ANDROID-----..------ .....
5
ANDROID LA GI? (cid:9)
2.1. (cid:9)
2.2. (cid:9)
LjCH Sll PRAT TRIEN (cid:9) 2.2.1. Su ra dei cia Android (cid:9) 2.22. Ctic phien ban Android (cid:9)
KEEN TROC HE DIEU HANH ANDROID (cid:9)
2.3. (cid:9)
6 6 7 11 11 12 12 13 14
2.3.1. Linux Kernel (cid:9) 2.3.2. Libraries (cid:9) 2.3.3. Android Runtime (cid:9) 2.3.4. Application Framework (cid:9) 2.3.5. Application (cid:9)
2.4. (cid:9)
(cid:9)
14 14 14 15
fiNG DUNG THEN TIBET BI ANDROID (cid:9) 2.4.1. 1VhOng gidi hpn cua thilt bi di Ong 2.4.2. Ngen ng9 lop trinh (cid:9) 2.4.3. Most truing hgp trinh (cid:9)
—16
CHUVNG 3. TONG QUAN VE GOOGLE MAP API (cid:9)
16
3.1. (cid:9)
GICsi THI$U VE GOOGLE MAP API (cid:9) SO' DUNG GOGGLE MAP API (cid:9)
3.2. (cid:9)
3.2.1.
cai d4t va arch ery Google Map API (cid:9)
3.3. CAC DOI WONG QUAN THONG WONG GOOGLE MAP API (cid:9) tuong ben db - The Map Object (cid:9)
16 16 24 24 24 27
13.1. (cid:9) 3.3.2. Marker (cid:9) 13.3. !Info Windows (cid:9)
...29
(cid:9)
CHITONG 4. CHHONG TRINH 2FRIEND
4.1. (cid:9)
4.2. (cid:9)
4.3. (cid:9)
29 30 31 32 36 39
GI& Tilleu BA1 TOAN (cid:9) MOT s0 flu cAu COA BA1 ToAN (cid:9) CAc nitre NANG cHINN (cid:9) 4.3.1. Chic ming &mg kyStai !chain (cid:9) 4.3.2. Chtic :tong demo MO (cid:9) 4.13. Chic ming xem ban do (cid:9)
p
42
46
51
53
57
61
4.14. Chic ming xem vi tri mkt mink (cid:9) 4.15. Char ndng xem vi tri bon bi (cid:9) 4.3.6. Chile nang nip nh4t t4 tri (cid:9) 4.3. 7. Chtk mIng gui yiu cdu kit bon (cid:9) 4.3.8. Chic mkg xcic nIttrm yiu eau kit bon (cid:9) 4.3.9. Chtic ntIng tim ditimg din vi tri bon (cid:9)
63
4.3.10. (cid:9)
66
Chile rating xem thong tin bon (cid:9) Char ?tang giao tilp vol bon (cid:9)
4.3.11. (cid:9)
69
4.112. (cid:9)
72
Chic neng Miy kit bon. (cid:9) Chic ming Op MO thong tin cli ?them (cid:9)
4.3.13. (cid:9)
76
Chile :tang thay dal met khiu (cid:9)
4.3.14. (cid:9)
80
Chic mIng (Yang mit (cid:9)
4.3.15. (cid:9)
82
MQT SO VAN DE icHAc (cid:9)
4.4. (cid:9)
82
85
88
4.4.1. Kin di chi duir• ng - Direction API (cid:9) 4.4.2. Kin di dinh vi vi tri thiit bj (cid:9) 4.4.3. Kin di idn suit cdp nhtit de lieu (cid:9)
THIET KE cO set al LIEU (cid:9)
4.5. (cid:9)
89
4.11. M6 hinh quan hf (cid:9)
89
4.5.2. Cac bang ate !Nu (cid:9)
92
KET LUAN VA DINH WANG PHAT TRIEN (cid:9)
4.6. (cid:9)
92
92
4.6.1. Kit qua dot &or (cid:9) 4.6.2. Dinh Throng phcit Men (cid:9)
(cid:9)
94
CH1UONG 5. PHU LOC - CODE MQT So alit NANG CHINH•
94
5.1.1. Cher Wing deng kY tii khoint (cid:9)
95
5.11 Chtk ?tang ddng nhdp (cid:9)
96
5.1.3. Chic ming hien tri vi tri bon (cid:9)
97
98
5.1.4. Chile :tang gut yiu cdu kit km (cid:9) 5.1.5. Char ming xac nhtin yiu cdu kelt bon (cid:9)
100
5.1.6. Chtec Mug dinh vi vj tri (cid:9)
101
105
11.7. Char tiling tim dventg din vi tri 5.1.8. Chile ?tang cdp Mule thong tin ca thin (cid:9)
108
5.1.9. Char nang thay doi mot khtiu (cid:9)
(cid:9)
110
TAI LIEU THAM !CHAO
DANII MVC HITNH ANH
11 Hinh 2-1: Cac thanh phen cila he dieu himh Android (cid:9)
11 Hinh 2-2: M8 hinh hqp tac gifts may io Dalvik vi Native code (cid:9)
16 Hirsh 3-1: Android SDK Manager (cid:9)
17 Hinh 3-2: Cai det Google API (cid:9)
18 Google API (tiep) (cid:9) HInh 3-3: Cai (cid:9)
18 Hinh 3-4: Import thu vien (cid:9)
19 Hinh 3-5: Import thu vien (tiep) (cid:9)
20 HIM 3-6: Bet Google Maps Android API v2 (cid:9)
20 Hinh 3-7: To API Key (cid:9)
21 Hin ► 3-8: Tao API Key 2 (cid:9)
21 HIM 3-9: Tao API Key 3 (cid:9)
22 Hinh 3-10: Tao project m6i (cid:9)
23 HInh 3-11: Them thu vien vio du an (cid:9)
28 H1nh 3-12: Infowindow thy Bien (cid:9)
29 HInh 4-1: Min hlnh kheri dOng (cid:9)
35 Hinh 4-2: Deng k, tai Ichoen med (cid:9)
38 Ifinh 4-3: Man hinh ding nhep (cid:9)
41 Hinh 4-4: Hien th1 ban de (cid:9)
45 HInh 4-5: Dinh v1 va hien th1 vi tri ngtrbi dung (cid:9)
50 Hinh 4-6: Xem vita ban be (cid:9)
56 Binh 4-7: Giri yeu eau ket ban (cid:9)
56 Minh 4-8: 'Chong the girl them yeu cku (cid:9)
ket ban (cid:9)
60 Hinh 4-9: Xic nhen yeu (cid:9)
62 Hinh 4-10: Tim &Ong di den vj tri ban (cid:9)
65 Hinh 4-11: Xem thong tin ban (cid:9)
68 Binh 4-12: Giao tiep ved ban (cid:9)
71 Hinh 4-13: Hity kit ban (x6a ban) (cid:9)
75 Hinh 4-14: Cep fillet thong tin ca Mien (cid:9)
79 Hinh 4-15: Thay doi mat khan (cid:9)
86 Hinh 4-16: Dinh vi bang sling di dOng (cid:9)
DANH MVC BANG BLEU
85 Bang 4-1: Cac each dinh vi vi tri (cid:9)
89 Bang 4-2: Bang Users (cid:9)
90 Bang 4-3: Bang Location (cid:9)
90 Bang 4-4: Bang Friendl (cid:9)
91 Bang 4-5: Bang Friend2 (cid:9)
DANH MVC SO Del
31
32 So de 4-1: So a Use - case (cid:9) Sa do 4-2: Ding ky tai lchoan (cid:9)
33 So di). 4-3: Trish tkr Ding ky tai khan (cid:9)
36 So do 4-4: Ding Step (cid:9)
39 So do 4-5: Xem ban do (cid:9)
42 So d6 4-6: Xem vi tri cita minh (cid:9)
43 So do 4-7: Trish tv Xem vi tri cita minh (cid:9)
47 So d6 4-8: Xem vi tri bon be (cid:9)
48 So do 4-9: Trish tir Xem vi tri bon be (cid:9)
54 Scr do 4-10: Giri yeu citu ket bon (cid:9)
58 So de 4-11: Xac nhe ► yeu cam ket bon (cid:9)
66 So do 4-12: Giao flip veri bon (cid:9)
69 So de 4-13: Huy ket ban (cid:9)
73 Scr de 4-14: Thay doi thong tin ca nhhn (cid:9)
77 So de 4-15: Thay den met khau (cid:9)
80 So de 4-16: Ring xuat (cid:9)
89 So do 4-17: Ma hinh der lieu quan he (cid:9)
Lin NOIMu
Sau met thai gian hoc tap va tim hieu clued sq turemg dart cua cac thay ca, em dA hoan thanh khOa Juan tot nghiep cua minh. Em xin than thanh gui led cam an den cac thay c8 giao b0 mon Tin hoc tru?mg Doi hoc ThAng Long dA huOng din va giOp der em trong qua With em hoc 6 twang. Em xin dac biet girl leri cam an den thay Le Minh Than dd htremg din em thuc hien Mt& luon bet nghiep. Sau khi holm thanh luan vim dm mink, em cam thay minh dA to tin han vai kien thi cda minh, tuy nhien em cam thay minh vin can rat nhieu thieu s6t can phai hoc tap de bel sung kien thiic. MOt lean nera em xin chin thanh cam an cac thiy co QA giup der em trong suet qua trinh em hoc tap 6 trutmg Doi hoc ThAng Long.
Trong cuOc sting hien doi ngay nay, tong nghe phat trien math me gin') con ngtrei a clang thuc hien duqc Miring c8ng viec ma truerc day twang nhu rat kh6 Ichtin. Sr phat trien cua phuong tien giao thong gitip chang ta di co the bay cao has, di xa has va nhanh ham. Tut' ninon kid slat chin den met quec gia khac, met thanh phO Idkic hay don gian chi la met con phO lin du bon slat chin den, neu 'thong c6 ban da thi viec tim dubng se kha kh6 Ichtin. Thubng thi bon se phE vita di vira heti dubng, hoac tim met cira hang gin shat c6 ban ban do. Viec de cling Icha the vi, n6 se cho ban cam giac Icham pha met mien diet mai, tuy nhien n6 cling ton Idd nhieu thbi gian quY bau dm bon, nhat la neu ban la doanh titan dang c6 c8ng viec quan tong. D6 chinh la Mc ban can den su h8 trq ci5a Cling nghe thong tin.
CEng nghe th8ng tin dA phat trien het sirc mash me trong nherng Mtn gin day. Ngay nay bon c6 the tre chuyen, chia se hInh anh vai nhOng ngutri bon, ngueri than trong gia dlnh 6 Ichoang cach nua vemg trai slat hay xa ham nera, giteg nhu ban dang tr6 chuyen vai mot ngued a ngay wit minh vay. CO the nal ding nghe phi trien dA dem con ngutri lei gin nhau has. KhOng chi c6 vay, cac chuang trinh ling dung dm Cling nghe thong tin con el, con ngtred c6 cuOc sting a dimg has. Kh8ng can bit dean vet s6 sach nhu truac, hien nay tat ca dA 6 the luu tren may vi tinh veri met thiet bj luu ter vo cling nhet gm. Han the 'Oa vai met s6 chuong trinh dit tien, chung ta con duqc h8 trq ca viec hooch djnh phuang huerng phat trien cho doanh nghiep. fly can yen de di neu 6 tren? Lieu CEng nghe th8ng tin c6 gulp gi thing ta tong viec tim dubng di lei khi den met not ma ta Ich8ng bier? KhOng phai Mc nao ta cling mang theo Laptop hay may vi fish, viec di chuyen you ciu ta mang theo thiet bj she gon. D6 chinh la met ling ch,mg cfm chuong trinh ban do tren thiet bj di dOng thong mirth.
Thiet bj di dOng thong mirth khong can qua xa lo vai chimg ta. D6 chinh la Dien thoai th8ng mirth — Smartphone — hay may tinh bang — Tablet. NhOng thiet bj di dOng de c6 kich thuerc cling nhu tong luqng rho han nhieu so vai mot chiec Laptop. Giao
1
dien de clang sir dung han, Chao tic bing cam Ong tien lqi han va khong phi thuec vito cac thiet bj di kern Ichac. Han the ars, thief bj di Ong sir dung nen tang phi bien nhu Android, IOS sb hau met kho img dung kiting 16. Chic hin ban dang to hei ring vei kho img dung len nhir vay thl chic chin se c6 Stung img dkuig kern chat lugng, hay cen gqi la "rac", veay lam sao met ngued dung birth thtrbng c6 the phan biet duqc? Cau tra lbi la ban hay yen Lim ve chat Itrqng ciut kho Ong dung Android hay LOS. Bei vi di c6 met (lei ngil uy tin giep to kiem duyet Ong dung truck khi duqc dua len kho Ong ch,mg chung. Han the nem dii v6i met nen tang ce nhieu ngubi sir dung ban dm duqc h6 trq bei chinh nhibig ngtroi dimg truer de. DO chinh la sue manh cea ceng ding
ding ngh'e.
Tref lai ved yin de chink, ling dung nao glop db to tiet kiem thbi gian tong vies tim dubng? D6 chinh la CEng dung ban d6 tren diet bj di dung. Hien nay met chiec dien thoai thong minh ma kh8ng ce chuang trinh ban d6 thi khe ce the gqi la "thong minh". Hoic vi met 19 do nao Q6 nha sin xuit luqc bet img dung de, thi viec tien ngueri ding lam khi se tau met chiec dign thoai th8ng minh de la tai img dung ban d6. O phan sau t8i se de cap den met ling dung ban di rat phi bien, c6 the nOi la t6t Mat hien hay, de chinh la GoogleMap.
Chinh nhUng nhting 19 do tren da tao Ong luc cho em tim hieu va xay dung img dung chia se vi tri tren nen tang Android sir dung ban di Google Map. Chi tiet ye du an nay em se With bay b nhemg phlin sau.
Chuang 1: Geri thieu bai toan
Chuang 2: Gioi thieu he dieu lulnh Android
Chuang 3: Ting quan ve GoogleMap API
Chuang 4: Chuang With 2Friend
Chuang 5: Phu lye: Code met s6 chi= Ming chinh
Tii lieu tham
2
CHVONG 1. Glen THISU BAI TORN
1.1. Vai net ve GoogleMap
Nhu citing ta da biet, bit chip suy thoai kinh te, nganh ding nghe thong tin van dang phat trien v6i mot toe dg cheng m$t. Trong thbi gian gin day danh diu sy phat trien rat manh cua cac thiet bj dien thoai thong mirth (Smartphone). MOt trong nhung (mg dung quart tong nhAt va co the nal la "khan the thieu" d6 chinh la ang dung ban db.
Ban d6 GoogleMap duqc xay dung ben ceng ty Google bang the hinh anh vg tinh va viec di tim hieu throng ph6 thuc te. C6 mot so than vien cfra Google duqc tra ltrang cao voi c8ng viec dap xe dap c6 gin thiet bj cita Google de ghi lai va chyp anh dutmg ph6. Cong viec nay ton rat nhieu thbi gian, nhung nha d6 ma ban d6 GoogleMap co dO chinh xac rat cao va nhOt fit thutmg xuyen. ling dung Maps hay chinh la GoogleMap gulp ngutri dung c6 the sir dung ban d6 nay trong viec tim duang di. 6 phart sau toi se gieri thieu ky han ve ung dung thy. 1.2. Nhftng gl GoogleMap khong ht) trq?
DOng hanh v6i su phat trien cfut ding nghe, new nay each con ngubi giao tiep cling di kit di. ChAng ta khong chi chia se hinh anh, loi nei, van ban ma yeti thiet bj di dOng thong mirth ta con c6 the chia se ca vi tri ciut mink. Cac thiet bj di dOng thong mirth hau het deu tich hqp tinh nang GPS — gitip djnh vi Nei tri sir dung tin hieu vg tinh.
Ngoai cac eh& nang co ban ma GoogleMap da cung cap nhtr tim dtrimg, chi
dutmg, dieu huang... co mot chirc nang quan trong khac ma GoogleMap da dimg trq da la firth nang chia se vi tri vUi ban be, ngutri than(Google Latitude). Chinh dieu nay da thitc dAy ten xay dung mot (mg dung chia se vj tri ban be teen Google Map.
1.3. Tai sao lqi cAn ting dyng chia se vj tri?
3
Nhu ta da thAy, co se dft lieu de luu aft da lieu ban d6 ctia ca the giOi la rat 1611, hay c6 the not la v8 cling lon. Chic chin khong the nao luu trtt tit ca cac dia diem, cac nha hang, dja danh tren ban d6 duqc. Cho du Google co co ging lam dieu do thi dft lieu se khong the cOp nhOt thu?mg xuyen, trir khi moi khu ph6 tren the giei deu co than vien cita Google. Chinh vi v$y thing ta co the S thanh mot ngtrtri clang tot bung, bang each giam di ganh n$ng rill* dja diem cho Google. Chang ta c6 the to cop nhOt vi tri cilia minh. Tuy nhien, khong phiti bit tit ai, bit cir lac nao ta cling mutin chia se vj tri cfta minh. Doi khi ta chi mut% chia se yen ngutri than trong gia dinh, hay bon be ma then... Con nhieu van de !chic nfta, nhung da chinh la ljf do de WI xay dung chuong trinh nay.
1.4. Mei truirng boat (long
Chuang trinh nay se &gm xay dvng tren he dieu hanh Android — MOt nen dang
phat trien rat manh tren cac thiet bj di dOng — vi sir dtmg Google Map API.
1.4.1. Tgi sao ding Android?
Android la mOt hg dieu hanh ma nguan ma, chlnh vi the nen ne duqc phit trien rat da dang theo nhieu hue ng khic nhau. ChInh dieu da da &rip cho cac nhi sin xuAt thiet bi di ding a clang hon tong viec cho ra nhUng sin pham het sirc da ding, gifip Android c6 s6 ngteri sir dyng kh6ng 16. Ben milt 46 gii thanh mOt thiet bi Android ding re hon thiet bj chay IOS hay Window phone ma firth ruing yin kitting he thua kern.
1.4.2. Google Map API la gi?
Google Map API li mOt Giao dien 1#p trinh img clang do Google cung cap. NO glop cho lap trinh vien c6 the sir citing chinh bin d6 cua Google de xay citing img dung cila mirth. Tuy nhien khong phii tat ca the firth rang cua Google Map day di dau duce cung at) a day, chinh vi the ngubi 18p trinh vien phii tim each sir clang th$t Idiot) leo de giai quyet cac van de bii toin (tat ra. Chi tiet ve Google Map API se duct de Op a pitan sau.
1.4.3. Server qudn ly hogt Ong
M#c da Google Map API cung cap cho to mOt ban dO tuong d61 hoin chink, nhung da chi li img dtmg ben phut ngubi dung. De ling Mpg c6 the hoat ding can c6 mOt Server. Server nay c6 nhiem vµ luu thong tin tai khoin cua ngubi dimg, luu v1 tri ngubi dimg vi thvc hien mOt so chirc niing khic.
Server nay can ducm via bang mOt non net ph6 bien vi khong phv thuOc vio hg dieu birth, da chinh la nein ngft Java. Server khong an c6 giao dien 46 hoa, chi co nhiem vv nh#rt yeu tau tir phia thiet bj kith, zir ly vi tri ve ket qui. Tuy nhien, da la ding viec cim ngu&i 1#p trinh, ngubi sir clang img citing nay khong an quan tam server lam gi ma chi can thao tic tren thiet bj dm mirth.
4
CHUONG 2. GIefITHIEU a DIEU HANH ANDROID
2.1. Android la gi?
Android la melt Hg dieu !Anti dinh cho cac thiet bj di dOng nhu dien thoai thong minh hay may tinh bang. Android duqc xay dung Iron nen tang Linux va sir dung nem
ng0 Java.
Ban du, Android duqc phat trien boi TOng cong ty Android vii str ho trq tai chinh cua Google. VI° Min 2005, Google di chinh that mua lai ding ty nay. Tuy nhien vao theri diem da Android van chug duct ra met. Den aim 2007 Android mai ra mit cling yeti tuyen b6 thanh lip Lien minh thiet bj elm tay ma: mOt hiep hOi g6m cac ding ty phan mem, phAn ming va vien th8ng yeti mac tieu day math cac tieu chuan ma cho cac thiet bi di dOng. Thief bj du tier chug Android duqc ban ra thing 10 mitn 2008.
Android la he dieu hanh c6 ma nguln ma va Google phat hanh ml nguln theo gily phip Apache — mOt giay phep kW:Mg c6 nhieu rang butjc. Chinh dieu nay di glop cho cac nha san xuet thiet bj, mpg di dOng va cat lelp trinh vien duqc dieu chinh va phan phOi Android mOt cach tar do. Tinh den thed diem thing 10 niun 2012 — 4 Titan sau khi thiet bj Android du tien duqc cong b6, di ce khoing 700.000 img dung tren Android, va s6 luqt tai ting dung tree elm hang 'ring dung Google Play &cc tinh khoang
25 ti luqt.
Chinh nhUng uu the nhu v1y ma Android di fret that nen tang dien thoai di dOng thong minh phO bier nhit the gi6i, vtrqt qua Symbian vao quy bOn nim 2010. Android duqc cac c8ng ty c8ng nghe sir dung khi h9 an mOt hg dieu Minh khong mItng ne, c6 kha ning tinh chinh va gia thenh r8 chay tren cac thiet bj cong nghe cao. Ket qua la mic du duqc thiet ke de chay tren then thoai, may tinh bang, Android di xuit hien tren nhieu thiet bj khac nhu TV, may chai game va nhieu thiet bj 'chic.
Tinh den tit diem quy ba nam 2012, Android di chiem den 75% thj phlin dien thoai thong minh tren town the giai. CO tong cong 500 trieu thiet bj di &Km kich hos va 1,3 trieu luqt kich host moi ngay. St; thanh c8ng cim hg dieu hanh nay cling Man ne frac thanh muc tieu trong the Ai hen lien quan den bAng phat minh, hay can gui la "cuOc chien dien thoai thong rninh" gift cac c8ng ty ding nghe.
5
2.2. Lich sir phit tries
2.2.1. Sy! ra del cues Android
Tang Gang ty Android (Android, Inc.) duqc thanh lap tai Palo Alto, California vao thing 10 nAm 2003 beri Andy Rubin (thing sang lap ding ty Danger), Rich Miner (clang sang lap Tang cong ty Vien thong Wildfire), Nick Sear (timg 11 PM giam doc T-Mobile), va Chris White (truing thiet ke va giao dien tai WebTV) de phat trier, theo to i cita Rubin, "cic thiet bi di &mg thong minh han c6 the biet duqc vi tri va se( thich cita ngubi dimg". DV nhang ngutri thanh lap vi shin vien deu la 'tang ngubi c6 tieng am, Tang cong ty Android boat dOng met each Am thim, chi tiet 10 r&ng hq dang lam phan mem (lath cho din thoai di dOng. Trong nAm do, Rubin het kinh phi. Steve Perlman, mOt ngubi ban than cita Rubin, mang cho Cog 10.000 USD tien mat nhtmg tit
ch .& tham gia vao cong ty.
Tang cong ty Android duqc Google mua lai vao ngay 17 thing 8 nAm 2005, bien n6 thanh met be phan trvc thutic Google. Sau thucmg vv nay, nliimg nhan vien chit chat dm Tang cong ty Android An tiep tic a lai cong ty lam viec. Vao thbi diem da kitting c6 nhieu th8ng tin ve cong ty Android, nhtmg dA co nhang loci clan rang Goolge dir tinh tham gia thi trutmg thiet bi di dung sau buem di nay. Tai Google, them do Rubin dung du dA phat triers met nen tang thiet bi di dOng tren nen nhan Linux. Google quing bi nen tang nay cho the nha sin xuid dien thoai va cac mang vien thong ding 16i him se cung cep mOt he thong linh hoot va c6 !chi nang Wang cap. Google dA lien he vii hang loaf hang phan cling ding nhu dai tic phan mem.
Ngay 5 thing 11 nAm 2007, lien minh thiet bi cam tay ma, hay con gqi la Open Handset Alliance, met hiep Mit gem nhieu cling ty trong de c6 Texas Instrusments, tap doan Broadcom, Google, HTC, Intel, LG, tap doan Marvell Technology, Motorola, Nvidia, Qualcom, Samsung Electronics, Sprint Nextel va T-Mobile duqc thanh lap shim mac Bich phat tries cac tieu chuAn ma cho thiet bi di Ong. Cling chinh thbi diem de, Android cling duqc ra mit yeti vai tr6 la san phatt n Mu tien ciza Lien minh. Chiec di'en thoai chay Android du tien duqc ban ra la HTC Dream, chay tren nen tang nhAn Linux phien ban 2.6, phat hanh ngay 22 thing 10 aim 2008. Su trtmg cita Android la met con Robot mau xanh la coy do hang thiet ke Irina Blok tai California ye.
6
2.2.2. Cdc Alen bdn Android
a. Android 1.0
Ra mat: 23 thing 11 nom 2008.
Android 1.0 rat nguyen sa, tich hap sin khi rang deng bO der lieu yeti cac djch vu trqc tuy'en aim Google nhu Gmail, Google Calendar va Contacts, mot trinh phat media, hit trq Wi-Fi va Bluetooth, thanh tang thai hien thi cac thong bao img dung va mot img dung chap anh (camera) tuy chua cho phip thay doi dt) phan giai va chat luqng
anh nhu cac thiet bi ngay nay.
HTC Dream la don smartphone thucmg mai ding Android du tien v6i kieu Bang tract kem ban phim vet lg. Phien ban Android 1.0 chua duqc Google ct(ft ten, do
truck 46 ten g9i Astro Boy hay Bender.
b. Android 1.1
Ra mat: 9 dying 2 nom 2009.
Ben quilt so phien bitn, Google da bit diu dua he thong ten g9i vio cac phien ban Android. Tuy chua chinh thirc itp dung nhtmg Android 1.1 da c6 ten Petit Four. Kitting bao gem nhieu tinh rang, phien ban nay be sung mitt so chirc ming meri cho Google Maps Men thi chi tier hart, ban phim a° g9i dien thoai da c6 the hien thi hoc An Mil gqi, chucmg trinh SMS cho OCT ngubi dung luu tap tin dish kern. Android 1.1
sirs mot s6 loi trong Android 1.0.
c. Android 1.5 Cupcake
Ra mitt: 30 thing 4 !Am 2009.
Cupcake, ten diu tien ip dung cho phien ban Android. Cupcake mang nhieu tinh nang meri nhu ban phim io c6 kha Wing chr loan tir dang go, tir dien tir nger do ngutti dung at ra, ho trq widget tren man hinh chink, quay phim va phat lai video clip, luqc sir then gian cuOc goi, the 40 to d'Ong xoay man hinh theo hueing sir dung (screen rotation). TrInh duy'e't web trong Cupcake c6 them kha nang sao chop va dan.
Ngoii ra, phien ban nay cho phep ngutti dimg hien tit hinh brill trong danh ba, mot diem thu vi ma hku het ngtroi dimg dien thoai di dOng muon c6. Man hinh chuyen
tei va hinh anh khi khoi 4Ong may duqc lam m6i.
d. Android 1.6 Donut
Ra mat: 30 thing 9 nam 2009 Donut nang cap cac chirc nang trong phien ban Cupcake, met Ong chirc rang tim kiem bing giqng n6i va ky to den bookmark va danh ba. Android Market tit thanh kho img dung chinh de nguiti &mg tim kiem va xem cac img dung Android. !ling dung
7
chyp anh va quay phim trong Donut nhanh hen. Hg dieu birth ho trq man hinh cep 40 phan giai 16n ham, huOng den clic the hg smartphone min hinh km.
e. Android 2.0 Eclair
Ra mat: 26 thing 10 nam 2009. Chi sau gin mOt than ra mat Donut (Android 1.6), Google tung ra Eclair, phien
ban dugc nhan djnh la buck di len dm he dien hinh nay.
Eclair c6 rat nhieu chi tien, tit giao dien den (mg dung ben trong he' thOng. Ung dyng chyp anh tang cubng them chitc nang zoom (phang to), can bang trAng, ha trq
He th0ng hoat dOng On djnh hen, cal thien kha nang xit 1Y, hi5 tug ket not Bluetooth tot hen, dac biet thy chcon ding hi) nhieu tai 'Moan. Met diem thuan tien dugc danh gia cao lac bay gib la giao dien danh ba cho phep nhan chgn vac' mOt anh danh ba de g9i, nhan tin hay email den hq. Giao dien img dyng Lich bleu (Calendar)
den flash va cac hieu img mau sic.
cung dugc thay dOi.
Eclair IA phien ban Android du tien ha trq anh nen dOng (live wallpaper). Tuy
nhien thy chqn nay tieu ten kha nhieu pin vi titi nguyen may.
f. Android 2.2 Froyo
Ra mat: 20 thing 5 nam 2010.
Tir phien bin 2.0 tro di, Android &I din hoan thien hen. Phie'n bitn 2.2 (Froyo) duce tich hqp Adobe Flash, keo theo hang lottt img dyng va game. ND:raj dung ding c6 the xem video clip nen Flash nhu YouTube va "ra lenh" thyc hien cube goi qua ket net Bluetooth.
Len diu tien Android cho phep chi dat img dyng (app) len the nher SD thay vi mac djnh chi ngay vac' b0 nher trong cita diet bj. MOt chitc nang mei cita Froyo do la mat khau di ha trq se va chit se. Thiet bj du den mang nhan Froyo ra mat thj trubng la HTC Nexus One.
MOt chic nang mai trong Froyo dugc them ngubi dimg luu dOng yeu thich IA USB Tethering va Wi-Fi Hotspot, thin chiec smartphone Android thanh thiet bj phat sang Wi-Fi to ket net 3G. Tinh tiling nay dugc sit dyng rat phi) hien den ngay nay.
g. Android 2.3 Gingerbread
Ra mat: 6 thing 12 nam 2010.
Den cuOi am 2012, Gingerbread yin dang duce sit dung eon rat nhieu thiet bj dimg Android, chiem den hen mOt nira (54%). Google hqp tic Samsung trinh lang dong smartphone diu tien sit dyng Gingerbread mang ten Nexus S, ha trq cong nghe giao tiep tam gin NFC.
8
Gingerbread dua vao he th6ng met ceng oar quart 15r tai tip tin, cho phep theo dei va truy xuit den cac tip tin da tai ye may. He thong nay hiS trq nhieu camera cho cac thiet bj c6 camera mit sau va trtrac, quan 15r nguton pin hieu qua han, fiat kiem thin ltrang pin. Phien ban nay khic phuc !chi nhieu loi tir Froyo, kern theo met so dieu
chinh trong giao dien ngtroi dung.
h. Android 3.0 Honeycomb
anti rieng cho may tinh bang (tablet), ra mot cling tablet Motorola XOOM.
Ra mot: 22 thing 2 nrun 2011. Day Hiring chi la met phi'en ban, ma ce the xem la met the he Android du tien
Mang nhemg firth nang tir the he Android 2.; Android 3.0 cal tien giao dien phit hqp veri each sir dung may tinh bang, ban phim ao than alien han, h8 trq xir 13 , da the vu (multi-tasking), cho phdp chuyen doi qua lei cac ling dung dang cling chay. Kherng chi c6 be mit dirge trau chu6t, phin lei he then c6 the cal tien ttrcmg thich yeti plan ding nhu hO trq chip xir ljr (CPU) da I8i, tang toe plan ding...
Android 3.0 dit nen meng quan trong cho the he Android 4.x hqp nhAt, 'chic
phuc stir phan mang cila Android (c6 cac phien ban rieng danh cho smartphone vi tablet).
i. Android 4.0 Ice Cream Sandwich
Ra mot: 19 thing 10 nam 2011. "Ice Cream Sandwich" (ICS) la the he Android dirge mong dqi nhit den nay, ra dtri ding ding smartphone bom ten Samsung Galaxy Nexus, the hg smartphone diu ten sir dung ICS.
Android 4.0 dua chirc nang truy xuat nhanh cac ling dung thutmg dung vao phir' ben duOi giao dien chit, thy bien widget, a sip xep vi duyet danh sach ung dung hon. Cac img dung a c6 the truy xuit nhanh tir man hinh khOa thiet bi (Lock screen), vao thtri diem d6 cac hang san xuAt thiet bj chi mai cho phep Camera ce the chan nhanh tir Lock screen. Ice Cream Sandwich host dOng muqt ma, nhanh va dpp han cac phial
ban fru& d6.
j. Android 4.1 Jelly Bean
Ra mit: 9 thing 7 nam 2012. May tinh bang Nexus 7, san phim hqp the gins Google va Asus, lit thiet bj diu tien sir dung Jelly Bean. Android 4.1 'Ling dm hog dOng cho he dieu hanh dua Google, tit thenh he dieu hanh cho thiet bj di dOng hang diu hien nay, de daa ca "8ng lan" Windows.
KM ring sip xep giao dien chit va widget tong Jelly Bean c6 !dui nang thy bien cao va rat linh hoot. He thong hO trq dich vu vi dien to Google Wallet, dic biet trinh
9
duyet web mac djnh trong Android duqc thay the bt5i dai dien ten tan: Chrome, yeti kha neng dOng ba du lieu theo tai khoin vai ban Google Chrome tren may tinh.
k. Android 4.2 Jelly Bean
Ra mat: 29 thang 10 nem 2012.
Chi sau gen nem thang ra mat Android 4.1, Google nep tyc tang cep cho
Android vii phien ban 4.2 va vin mang ten Jelly Bean.
Android 4.2 tiep tpc mang den nhfing cai tien hap din cho (mg ch,mg chop inh (Camera) Sur HDR, Photo Sphere, hieu (mg link Google Now, dua tinh nen luta chqn to rat hay trong ban phim so. Chirc rang ho trq nhieu tai Idioan ngutri dimg Ian dau tien duqc ap thing trong Android 4.2 nhung chi c6 ngutti den may tinh bang thin
huerng chile rang nay.
1. Android 4.3 Jelly Bean
Ra tat: 24 than 7 nem 2013. Android 4.3 Iii la mot fling cep non cua phien ban mang ten Jelly Bean. Phi'en ban nay hi) them tinh nang Bluetooth rang luqng thip, OpenGL ES 3.0, tit) , chqn Wifi luSn bat, hi trq ngon ngit doe tit phai sang trai...
Vii phien ban dui ba mang ten Jelly Bean, Android dang din hoan thien han, yeti
nheng tinh neng mai, Android hila hen se thu but nhieu ngay cang ngutri sit dung.
m. Android 4.4 KitKat
Ra mat: 31 thing 10 nem 2013. Mac du rat nhieu nguiti de do doin phien ban Android mei c6 ten gqi "Key Lime Pie" trong suOt mot thei gian dai, Google de cho ra mat phien ban 4.4 vii ten gqi KitKat. Android 4.4 KitKat bao gem rat nhieu ruing cap trong he thOng va (mg ch,mg, nhung diem net bat that ciia phien ban nay de la he try cac thiet bj co cau firth that) hot. KitKat yeu eau be the tei thieu (RAM) chi la 512 MB, giiip cho cac thiet bj cAu hinh thep c6 the thing cap va trai nghiem mot cach a clang.
10
2.3. Kien true 14 diet' birth Android
Applications l
to chuc Ling Liumi
Applications Famework (cid:9)
Libraries IH;1 (cid:9)
Android Runtime (Thai 'Tan chay Ar droith
Linux Kernel '.
HIM 2-1: Ctic think pkin csia kf dl kink Android
2.3.L Lima Kernel
DOi vei nhCmg phien ban truer, Android duct xay dung teen 130 than Linux 2.6 cho nheng djch vg cot lei nhu security, memory management, process management, network stack, driver model. BO than nay lam tillitm vu nhu mOt lap trung gian ktt
time
241
Android SDK apps
Anima(' NDK apps
Android app framework
Standard libraries
not pith' ring thiet bj ya phan *rig dung.
Mink 2-2: M6 kink kw tic gilta may do Dalvik vi Native code
JNI: Java Native Interface (Tuang ty Ichai nitm Application Programming Interface) la mOt 13 .0 framework cho phi!) ma lOnh vitt bang Java chay ten may ao java
11
c6 the goi hoc duqc gqi boi met ung dung viet bing native code ((m g dung duqc viet cho met phAn ding cu the va tren met he dieu !faith cu the) !mac nhUng be thu vien viet bing C, C++ hoc Assembly.
2.3.2. Libraries
Bang cfich sir dung NI, Android cho ph6p cac ling dung chay tren may ao Dalvik c6 the sir dung nhfing phucmg thirc ductc viet bang cac ng6n ngft cep thAp nhu: C, C++, Assembly. Qua de cac nha phat trien ling dung ca the xay dung ling dung dua ten cac be thu vien viet bing C, C++, Assembly 'them tang Mc de thuc thi cim ling dung hoc sir dung ntrang firth nang mirc thep ma non ngft Java Ichong hie trq. Tuy nhien ngtrai phat trien ling dung an phai can nhac su gia tang de phirc 4p cim ling dung khi quyet djnh sir (king cac be thu vien nay.
Day la be cac thu vien xay dung nen cac chirc nang chinh dm Android
System C library: Day la tOp cac thu vien he thong. Thu vien nay duqc viet bang ngon ngft C, C++ chuen c6 the pi duqc thong qua giao dien Java Media FrameWork: Day la be thu vien h6 trq trinh dien va ghi cac djnh dung am thanh, hinh anh phe bien. Surface manager: Quan ly hien thj nei dung 2D va 3D. Cho ph6p tvo cac ciza so giao
OpenGL: HO trq xay dung ling clung de hqa 2D va 3D.
- SSL: Cung cap chile nang bao inOt cho fiat bi
SGL: Engine he trq M hqa 2D.
Free Type: HO trq cac Font Bitmap va vector SQLite: Met co sir du lieu nhe gqn va mph me. Cung cep be may co s6 du lieu duqc nhimg trong thiet bj.
2.3.3. Android Runtime
He dieu hanh Android tich hqp sin met top hqp the thu vien cot 16i, cung cep heu het cac chirc rang. Mqi ling dung ciut Android chay tren met tien trinh cua rieng n6 cling v6i met the hien cim may ao Dalvik. May ao Dalvik thuc to la met bien the dm may ao Java duqc sira Mi, be sung cac cling nghe dOc tnrng cim thiet bi di Mug. NO duqc xay dung veri intic dich lam cho cac thiet bj di (king c6 the chay nhieu may k
Webkit: Ho trq hien thj nei dung website.
met cach hieu qua.
Tnrem khi chay, mei ling dung Android deli duqc convert thanh file thuc thi Arai QM dm nen Dalvik Executable (.dex). Dinh long nay duqc thiet ke de phi hqp veri
12
cac thiet bj han the ve b0 :the sung nhu toe do xi 1),. Ngoai chic flan ke tren, may lo Dalvik cem sir dung b0 nhan Linux de cung cap cac tinh rang nhu thread, low-level
memory management.
2.3.4. Application Framework
Tang nay cia hg dieu hanh Android cung cap mot nen tang phat trien img dung ma qua (16 cho phep cac lap trinh vien, cac nha phat trien img dung ci kha fling tao ra cac img dung vo cling sang tao va phong phi. Cac rata phat trien (mg dung duqc to do sir dung cac tinh nang cao cap ctla diet bj phan cing nhu: thong tin dinh vj dia 1ST, kha nang chay djch vu cluth ne'n, thiet lip dOng h0 bao thic, them notification vao status bar cia man hinh thiet
Ngubi phat trien img dung duqc phdp sir dung day di b0 API duqc dimg tong cac img dung Itch hqp sin cia Android. Kien trim img dung cia Android duqc thiet ke nham muc dich don gian h6a viec tai sir dung cac thanh phan. Qua d6 bat Id (mg dung nao ding ci the cong b6 cac tinh thing ma ne mu6n chia se cho cac img dung khac (VD: Ong dung email c6 muon cac img dung khac c6 the sir dung tinh ring gin mail cia n6). Phucmg phap tucmg to cho phep cac thanh phan co the duqc thay the ben
ngubi sir dung.
Tang nay bao g6m met top cac services va fininh phan sau: - View System: Ding de xay dung img dung c6 cac d6i ttrqng giao dien nhu list, grid, texbox, button... hay ci the thing met trinh duyen web vio irng
dung.
- Content Provider: Cho phep cac img dung c6 the truy xuAt do lieu tar the *rig
dung khic hoc chia se der lieu giera ching.
- Resource Manager: Cung cap kha ring truy 'mat cac tai nguyen nhu hinh
anh hoac file giao dien (Layout).
- Notification Manager: Cung cap Idyl tiling hien thj thong bio tren thanh trang
thiti (Status bar).
- Activity Manager: Day la thanh plan quart trqng nhat, n6 giip img dung
quitn ly Ong dbi cia met Activity.
- Telephony Manager: Cung cap thu vien de truy neat den cac djch vu dien
thoai hay thong tin thug bao cia ngubi ding.
- Location Manager: Cung cap thu vien h6 trq ngubi ding dinh vj this& bj dua
tren GPS hoac mpg Ichong day witY3G.
13
2.3.5. Application
Tang nay chinh la tang china cac img dung duct phut trien boi !Op trinh vi'en, the nha phut trien phan mem. Ngoai met s6 img clung duqc Android tich hqp s&n nhu email, SMS, trinh duyet web, danh ba... thi ngiteri dimg c6 the de dung cai dOt them cac Ung dung tin Google Play hay cac chq Ung di,mg Ichac.
2.4. ling dyng tren that b$ Android
2.4.1. Nhfing gldi hgn crra thiit 14 di ding
Mk di' cac thiet bj di dung thong minh c6 the thuc hien nhnng chin Ming tucmg to nhu met chiec may tinh nhu chay da nhiem, xis 19 de hqa... Nhung thuc chat de van la met thiet N vOi be nher va pin c6 hon. Ta c6 the dtly mph hieu suet hour dung cue thiet bj len, tuy [Alien dieu de loi clang nghia vOi viec tieu Mn nhieu dien nAng va tai nguyen ham, lam gilan then gian sir dung thiet N. Chinh vi the, khfic veri trinh img dung tren may tinh thong thueng, Mil viet ling dung tren thiet bj di &Ong to can chi' 9 den nhUng gied hen sau:
- Kha rang xir 19, c6 hart
- BO nher co hon
- Pin co gieri hon
- Nen tang hg dieu hanh lchac nhau
- Thanh phAn phan cling khac nhau
- Kich thuerc man hinh nho
- Giao dien don gian
- Bang thong mpg c6 gi6i lion (3G, GPRS)
- Ket n61 mang Ichong 6n djnh.
2.4.2. Ngen ngit 41p trinh
NgAn (cid:9)
trinh chinh thlic cue Android la Java. Mk du cat img dung tren Android duqc vitt bang nein agar Java, tuy nhien ban than Android lui !cluing the chay duqc cac t$p tin Java c6 dung .jar. Ngen ner Java sir dung trong Android khong phai la town be thu vier J2EE (Java 2 Platform, Enterprise Editiion) ma chi la met pit nho de xay dung nun may ao Dalvik. Din tren may ao Java cila Sun, Google dA tinh chinh va phut trien nen may ao Dalvik de bien djch cac top tin Java veri Mc de nhanh hon va nhe hon. Den phien ban Froyo 2.2, Android dA ha My Just-in-time Compiler (JIT) lam tang the de bien djch Java len tir 2 den 5 lin.
14
2.4.3. Mei Irtreng ltlp trinh
JDK: JDK la m6i tru&ng clung di vitt the Ong dung Java. MOt 130 JDK gOm c6 JRE (Java Runtime Enviroment) va cac ding cp bien djch (javac), trinh thuc thi (Java), gb loi, cac thu vien, be gia lap dien thoai...
Eclipse: Mei trtreng lap trinh chinh that cita Android la Eclipse yeti su hO trq cita Plugin ADT (Android Development Tool). Ngu&i lap trinh c6 the de clang tai 1)0 cong Gist nay tren trang chit cita Google. Met so thinh phAn caa ADT: 3 Da (Dalvik Cross-Assembler): C6 chirc nAng chuyen dOi cac 16p Java a duqc bien djch thanh met file nhj phan (.dex) de chay tren may io Dalvik
3 Aapt (Android Asset Packing Tool): CO chirc thing doing g6i cac tap tin .dex thanh tap tin .apk de ngutri ding c6 the cai det tren thiet bj di dOng 3 Adb (Android Debug Bridge): Day la met au nOi de chuyin va cai dat img dung len trinh gia lap (Emulator) hoac tren thiet bj Android that. Thiet bj Android phai duce bat USB Debugging.
3 Ddms (Dalvik Debug Monitor Service): Cung cap met so Bich vu nhu
quan 1$, thong tin tien trinh va nem xep, logcat...
15
CHISCING 3. TONG QUAN VE GOOGLE MAP API
Veri Google Map Android API, ban c6 the de clang dua ban de coa Google vao trong Ong dung ciut minh. API se Air dOng xir ly vie'c truy cep den Google Map server, tai a lieu, hien thi ban d6 va phan hei the tic dung. Ban cling c6 the sir dung cac ham cisa API de them cac markers, cac hinh khei, cac lop phi( vio ban de co ban, va ban cling c6 the tao met g6c (thin ban d6 rieng. Nhung doi Wong (16 cung cap cac thong tin mer rung cho dia diem, giiip ngueri dimg c6 the giao tiep veri ban de. API cho phep ngtren thing c6 the dua them cac thanh phen sau vio ban de:
Bieu tugng de &nit deu met vi tri cv the (Marker)
Tap cac (loan thing (Polylines)
Tap cac hInh hgc (Polygons) Bieu tugng do hem de &nit dau mOt diem ten ban de' (Ground overlays) tieu de cim ban (16 (Tile overlays) Be cac hlnh anh duce hien thi tren (cid:9)
3.1. Gi6i thieu ve Google Map API
3.2. Sir dyng Google Map API
- Tren thanh Menu: Window > Android SDK Manager
3.2.1. ai dtlt va cacti hiy Google Map API 3.2.1.1. Cai cidt
Ede Edit ReNtbiii Seine EtaiNdte SW& Eidied bin (cid:9)
ENO Navatindow
New Rotor
Fide Toolbar
open Pespedive
►
(cid:9)
Nat View
Customize Perspective—
a Client a 90091etieY-seiviceta a MeinActivity D J Sever
Save Respective As-
Reset Respective—
Dose Respective
Close AI Respective;
Navirion
Android Virtue! Device Mango
•
a Rom Android Lint
Preferences
Binh 3-1: Android SDK Manager
16
- Tick vi o Google API cho phien ban Android muiin &mg de to irng clang:
a
Packages (cid:9) Tools
SDK Path: EASTUDV1Androidbdt-bundle-windows-3d36 64-2013052Asdk
Packages
A
Status (cid:9)
Rev. (cid:9)
API (cid:9)
* (cid:9) Name (cid:9)
S. Update available rev. 18
1, Android SDK Platform-tools (cid:9)
17 (cid:9) 78 (cid:9) n Not installed 15 Installed 17 (cid:9)
q , Android SOK Build-tools (cid:9) n 17' Android SDK Build-tools (cid:9)
• 2 ea Android 4,3 (API 111)
0 Not installed n Nat installed in Not installed fl n Not installed rj Not installed I n Not installed
1 (cid:9) 1 (cid:9) 1 (cid:9) 1 (cid:9) 1 (cid:9) 7 (cid:9)
18 (cid:9) 18 (cid:9) 18 (cid:9) 18 (cid:9) 18 (cid:9) 18 (cid:9)
it
0 Installed 0 Not installed II Installed (cid:9)
2 (cid:9) 1 (cid:9) 2 (cid:9)
17 (cid:9) 17 (cid:9) 17 (cid:9)
p li Documentation *Android SDK (cid:9) 2* SOK Piatfam (cid:9) EI ; So mp les f or SOK (cid:9) n I. ARM EA81v7a System Image (cid:9) Milt Gavle AM (cid:9) n is Sources forAndmid SDK (cid:9) 4 n Ea Android 422 (API 17) n Ili SDK Platform (cid:9) 0 i Samples *SDK (cid:9) 11 MI ARM EABI Oa System Image (cid:9)
Instant padragas—
slat (cid:9) n Updates/New g Installed (cid:9)
I (cid:9)
I (cid:9)
Delete 5 pncbges— (cid:9)
I
()Repository (cid:9)
Sort byes COAP1 level (cid:9)
0 Obsolete Select bla or* ladssal
Done loadng packages.
Binh 3-2: Cal * Google API
- Ka° tiep xueng duUi caa dank sich, chon Google Play services vu click vio
nut Install 2 package
17
4
Packages (cid:9) Tools SDK Pads E15TUDY1Androithadt-bundlewindows-x86_64-201305221sdk
Packages
Stabs
API (cid:9)
a Name (cid:9)
= Nat installed
2 (cid:9)
(cid:9)
Rev. (cid:9) 13 (cid:9) a Update available rev. 18
= Nat instoded = Not installed -. (cid:9) . Nat installed _ . a Update available rev. 9
11 (cid:9) 3 (cid:9) 3 (cid:9) 7 (cid:9) 1 (cid:9) — Not instead _ 3 (cid:9) — Nat installed .. Nat installed 4 (cid:9) = Not installed 2 (cid:9) a Update available rev. 8 7 (cid:9) = Not installed 2 (cid:9) 7-1 Not installed 3 (cid:9)
Ola Android SuppatKepasitaryl a Android Support Library (cid:9) 0 a GocgleAdMob Ads SDK (cid:9) DO Googfe Anolytics App Docking SDK (cid:9) on Peprecoted] Gaogk Claud Messaging jar Andrei rr a Google Play services (cid:9) n a Gawk Repository (cid:9) Da Googfe Play APK Dominion Library (cid:9) q a Google A/ayBilling library n 0 Goalie Play Licensing Library (cid:9) ga Goers US8 Diner (cid:9) n a Googk Web Driver (cid:9) Da MM id EmulatorAcceleoror (NAX/4) (cid:9)
v
Install 11 pedlars—
Updates/New IZI Instalkd (cid:9)
Show. (cid:9)
Delete 5 pedants— (cid:9)
I
I (cid:9) I (cid:9)
0 Reposlary (cid:9)
Sort by: a API level (cid:9)
q Obsolete Select asay °clads* (cid:9) wee (cid:9)
0 tit
F (cid:9) Done looting packsges.
Rink 3-3: Cdl Google API (dip)
- Accept and install.
- Sau khi cal dilt, import project thu vier vao tong Workspace: Click File >
Import
Rink 3-4: Import mu wee.
18
- Ch6n Android > Existing Android Code into Workspace
Select
Sled an import source
type filter text 0 a General • 123 Android
ItS bitting Android Code Into Workspace
Install
Run/Debug
Team
I, a cic.. 0 (a, Git D (cid:9) r, (cid:9) t, (cid:9) p
XML
(cid:9)
Finish
< Back
0 (cid:9)
Ifinh 3-5: Import dm Wen (tiip)
- Click Browse > CM den thu mvc chlra project thu vien google play services:
play-services_lib, va click Finish
3.2.1.2. ay Google API Key
De hien thi ban de, debug tre'n may that thi can c6 Google API key. De lay duge
Google API key thi an sir citing chung nhOn SHA1 (1 chuld Icy tv).
Chit Y: Vei project khic nhau thi can c6 key khic nhau.
a. Lay SHAT
- Ma command line, cd vio thu mvc cai Java Development Kit: CAProgram
Files\Java\jre7 \ bin
19
Nhap lenh Keytool -list -v -keystore
keystore. Nhap password la android, Enter > Hien thi ra SHAI. Copy SHA1 a six dung cho buoy b.
b. Lay google api key
Vao https://code.google.com/apis/console/ Hang nhap bang tai khoan Google.
- Chbn Create Project.
- Ka° ming duet Click vao Google Maps Android API v2 de chuyen trang
Courtesy limit 10,000 requests/day
thai sang On
• S off (cid:9)
An Google Contacts Car IDAV API (cid:9)
• MCI
It Google Maps Android API v2 (cid:9)
on
Courtesy emit_ 25.000 requests/day • Prima
• (cid:9)
Google Maps API v2 (cid:9)
Ifinh 3-6: Bet Google Maps Android API v2
- Click API Access > Create New Android Key
API Access To wont Was, Goode playa inn en API tamest& Using a veld Oka Sum or API by den you to exceed
Authorized PP Amin
CIAO PO Soo owe to Van speck die as you par exarage. contact rata whit Moly their usememes. osseum/s. and SW inhumane mote A tope poem may contain up to 20 on Os Lowman
Sagas API Mona Use API frays le IS yoke papa who you do nol need te oxen tar SW Lemma
AlzaSyk23011Thal009T1_70C10,3graC Ku}
Key for Andrea amok Oa soakage') API bay. (cid:9)
:al: cos
All:36:00:70:3C:43:09:21:33:30:Atin zECi DO :11:12 fr:R2 (cid:9)
Android ANSI (cid:9)
Ian, 13, 2013327 AM
Activated en (cid:9)
tonowmpionaamelsom - you
Aclestad by: (cid:9)
aisestrookumsnorrowskut VOCKII7SICLIb•
Kay kr browser appe OS tekrea AF1 key (cid:9)
Any saw alond
Ragan. (cid:9) AMOS on: May 13, Ma 32e AM
torrnmatantaynalsem - you
MIMS Of
GY M Kerrie toy.- aaggeonniseet lard.,1 GSM sprarMagid tak..I Oule gas tea gwy_. I
Mink 3-7: Tgo API key
20
- Dan SHA I dA thy dirge to (a) va them package img dung cua mink vio cu .& >
click Create.
Configure Android Key for bando
This key can be deployed In your Android applications.
API requests are sent directly to Googie from your clients' Android devices. Google verifies that each request originates from an Android application that matches one of the certificate SHA1 fingerprints and package names listed below. You can discover the SHM fingerprint of your developer certificate
using the following command: keytool - list -v - keystone aystare. keystore Imam=
Accept requests from an Android application vdth ens of the certificate fingerprints
and package names listed below
45:85:E4:6F:36:AD:A:98:84:64:02:66:23:12:17:F2:56:26:A0:E 0 ;c0m.examplel
One SHAT certificate fingerprint and package name (separated by a semicolon) per line. Example: 45:B5:E4:6F:36:AD:OA:98:94:134:02:66:28:12:17:F2: 56 : 26 :A0 :£ 0 :com.example
SandiCanagl
Rink 34: Tpo API Key 2
- API hien ra, copy de dung cho viec lop trinh img dyng cita mirth
Simple API Man Use API keys to identify your project when you do not need to access user data. Learn more
Key for Android apps (with certificates) API key.
(cid:9)
A6:36:COOD:SC:6E:89:21:99:1113:A9:6E:EC:D8:11:F2: 4 F:B2 : 11"4 : 81 ;coa
Android apps:
May 13, 2013 3:27 AM
(cid:9)
tuantrungphamilagmadcom - you
Activated on: Activated by. (cid:9)
AltaSyDrtIclAYillitikvOk3jhz VdqgliE7S/Cd3hw
Key for browser apps (with referers) API key. (cid:9)
My referer allowed
Referers: (cid:9)
May 13, 2013 326 AM
Activated on: (cid:9)
tuantrungphamatgrnall.com - you
Activated by. (cid:9)
Crelle neW PS (cid:9)
I
On" glegSalikflY-.1 crenserf 8rOWII.1 WTI 'Pal new etadraid key.
Hink 3-9: TR API Key 3
21
3.2.1.3. Tgo project Demo
- Tao Project mai nhu birth thubng. Nhung cht-m Compile with Google API
New Android Applicadon
The press 'com.esemple: is most as a pleceholder end should not be used
Apple:ton Wed Demobendo
(cid:9)
Project Nemeth Demobendo
1
Pecker NamedevanspIndemobado
hfinimum Required SDKAIAPI & MSS 22 (Foyo)
API 17: And/60142 (Idk Been)
Target MOO
API ifs AndeiddigillyIkeel
Corn* YAM
Themen
API 16 Android 213 (Goverbread) Google APIs (Google Inc) (API 10) API it Android
picellithe most recent
API 17: Android 42 (Idly Been) (cid:9)
reflection.
Choose a tweet API version, or 'Mint writarininnprwourawnwswwwwitwareaw etas wmout
Finish
Net)
I owl I
Blab 3-10: Too project mot
22
- Them thu vien Google Services vim project: Click chu6t phai vao project vita
too > Properties > Android > Add > Chun project Google Services
[type filter tot
(cid:9)
Android
Project Build Target
Plefonn (cid:9)
q q
4 Resource Android Android Lint Preferences Builders lava Build Path An Code Style D lava Compier D lava Editor
2.3.3 (cid:9) 2.3.3 (cid:9) 4.0 (cid:9) 4.0 (cid:9) 4.22 (cid:9)
API L- 10 10 14 14 17
Vendor (cid:9) Android Open Source Project (cid:9) Google Inc. (cid:9) Android Open Source Project (cid:9) Googk Inc. (cid:9) Android Open Source Project (cid:9)
Target Name (cid:9) 0 Android 2.3.3 (cid:9) Goodie APS (cid:9) Android 4.0 (cid:9) En G40914 APS (cid:9) Android 4.22 (cid:9)
q
lavadoc Location Project References Refactoring History Run/Debug Settings Task Tags Va6dation
Linty 0 Is Leary
Project
Referake (cid:9) sI -4kidt-bundle-wkdovas-a16 64-2— google-plysenicasjth
W
or
Hinh 3-11: Thing dm Wen vdo do
- NOi dung cac file rib" sau:
- File layout: activity_main.xml.
android:id="@+id/map"
android:layout_width="match_parent"
androitlayout height="match_parent"
class="com.google.android.gms.maps.SupportMapFragmentT> - File AndroidManifest: 3 Sir dung Google Maps thi can c6 intemet non can lchai boo quyen sir dung intemet: 23 3 Trong the Application can khai bao them meta-data de dua key dA lay Marker co the duqc tity bien theo nhieu cich Ichac nhau, vi du nhu thay dei bieu tuqng hay each Marker phan heti lai thao tic cea ngubi &mg. Marker co the duqc tey hien cac thuOc unit sau: a. Position (Vi tri) Gia trj ctia dei tuqng Laing se xac djnh vj tri ctia Marker tren ban de. Day la gia tri bat buOc phai dua vao khi chen Marker b. Anchor vao so vai gia tri cfla Lating. Vi tri mic Diem ma bieu ttrqng Marker se duce (cid:9) djnh lab gifta pit dugi cia bieu tucmg. c. Title (Tieu de) Day la tieu de cia Marker, khi ngubi dimg ba ► vao marker se co cua so thong tin hi'en len kern theo tieu de. d. Snippet Deng chit be sung duqc hien thj b pit dual tieu de e. Icon Bieu ttrgng efts Marker dugc hien thj tren ban de. f. Draggable Gia trj true/false de cho phep hoic !thong cho phep Marker co the di chuyen tren ban de g. Visible Gii trj true/false de cho phep hoic khOng cho phep Marker co the hien thj tree ban cth 25 h. Float Theo mac djnh thi Marker se duqc dat c6 djnh tren ban d6. Khi dat gia tri float
thanh true thl Marker se duqc xoay khi ta xoay ban dO, tuy !Mien kich thirdc cua Marker se kh&ng bj thay dal i. Rotation DO xoay aim Marker theo chieu kim dling h6. 3.3.2.3. Thay ddi mau sdc Marker Mau sac dm Marker c6 the duqc thay dai bang each sir dung dai tuqng BitmapDescriptorFactory.defaultMarker(float hue)
Gia tri dm hue nam trong khoang 0 den 360, d3i dien cho met vi tri trong yang BitmapDescription khi d¢t gia tri icon: stalk final LatLng ABC = new LatLng(-37.81319, 144.96298);
Marker melbourne = mMap.addMarker(new MarkerOptionsO .position(ABC) .icon(BitmapDescriptorFactory.defaultMcrrker(BitsnapDescriptorFactory.HUE AZURE))); trim mau sic. 3.3.2.4. Thay ddi blaze turmg Marker Ngoai thay d6i mau sic, ta hoen than c6 the thay d6i bleu tuqng cim Marker.
Bieu tircmg thy chip luon duqc dat thkili mat di turyng BitmapDescription bang each
sir dung met trong bon plurcmg thirc cua doi tuqng BitmapDescriptionFactory: - fromAsset(String assetName): sit clung mat anh trong thy myc asset - fromBitmap (Bitmap image): sir dung mat anh Bitmap
- fromFile (String path): sii dung mat anh trong mat during den cy thi
- fromResource (int resourceld): stt dung mat tai nguyen caa churmg trinh private static final LatLng HANOI = new LatLng(0,0); private Marker melbourne = mMap.addMarker(new MarkerOptionsO position(HANOD
litlerHANOI '9
.snippetrPopulation: 4,137,400'9
icon(BihnapDescriptorFactoryfromResource(R.drawable.arrow))); Sau day la vi du viec Lao Marker ved bleu tam dat trong drawable: 3.3.2.5. Sy. ben nia Marker Map API cho phep ngued I p trinh c6 the ling nghe v3 phan hai su kien cua mot
Marker. DE c6 the lung nghe su kien nay, ngubi lap trinh can phai cai dat listener
arcing (mg tr d6i tuqng GoogleMap china marker do. Ngueli lap trinh c6 the xir Iy cac su kien sau: - Sr kien barn vio marker 26 - Sr kien keo tha marker - Scr kien barn vao InfoWindow a. Su ki4n barn vac, marker Nguei lap trinh c6 the sir dung OnMarkerClicIcListener de tang nghe sv kien khi marker duqc barn vao. De cal at Listener cho ban da, ta can gqi *rang thirc: GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)
Khi ngutti dimg barn vao Marker, pinning thirc onMarkerClick(Marker) se duqc
gqi va marker se duqc truyen vao nhu mOt tham s6. Phuong that nay tra ve melt gia trj
boolean Neu thj viec da bat duqc mOt scr kien. Neu tra ve gia trj False, thi hanh dOng
mac djnh se dirge thifc thi cimg yen hanh dOng dA duqc tiny bien. Hanh dOng mac djnh
chinh la viec hien thj len Infowindow va di chuyen Camera den vj tri marker duqc barn vao. b. Sir kien keo tha Marker Skr kien keo tha Marker duqc cal dot bang phuong thin OnMarkerDragListener. GoogleMap.setOnMarkerDragListener
De keo tha Marker, ngutri dung can than va gift vao marker sau d6 di chuyen,
khi tha thay ra thl marker ttrcmg Ong se dugc dot vao vj tri meri. Khi marker duqc keo
di, onMarkerDragStart(Marker) se duqc gqi ngay lap tire. Khi marker dang di chuyen,
pinning thirc onMarkerDrag(Marker) dirge gqi, khi ket thlic keo tha phuong thirc
onMarkerDragEnd(Marker) duqc gqi. Ta c6 the lay ra tqa dO cila marker d6 bat ca lac
nio bang each gqi ham Marker.getPositionO. De cai dot listener cho ban dO, ta can gqi phuong thuc: 3.3.3. Info Windows Info Windows la mOt elm s6 !the) di kem vii marker. Cfra s6 nay se dugc bat len
khi ngueri clUng barn vao Marker. Info Windows mac djnh se hiO'n thi hai ding la Title
va deng snippet 6 phia du6i. Tai mOt thai diem chi c6 mOt Info Window dugc bat len.
Khi ngutti dung barn vao marker khic, info windows hien hanh se dugc An di va info windows mei se duqc hien len. 3.3.3.1. Info Window rnek djnh Cach don gian nhat IA dot gia trj cho Title va Snippet ctia marker, khi gia trj nay statkfinal LatLng DEMO = new LatLng(-37.81319, 144.96298);
Marker melbourne = mMap.addMarker(new MarkerOptionsO .position(DEMO)
.titlerDemo Title")
.snippet("Demo Snippet"); doge dot thi Infowindows mac djnh se dirge bat len khi marker dugc ham vao 27 static final LatLng DEMO = new LatLng(-37.81319, 144.96298);
Marker demoMarker = mMap.addMarker(new MarkerOptions0 .position(DEMO)
.titlerDemo"));
demoMarkershowInfoWindow0; InfoWindows duqc thiet ke de phan hOi lui su kien barn vac) met marker. Tuy
nhien neu muOn ngutti lip trinh do the pi ham de An va hien InfoWindows. Hai ham
duqc sir dung la showInfoWindow0 va hidelnfoWindow0: 3.3.3.2. InfoWindows tiry biin Ngutti (cid:9) trinh hohn Man co the thy bien nOi dung cling nhu giao dien cna
Infowindows. De thuc hien dirge diet' nay an phai cai dAt 16p thuc thi cho giao dien
InfoWindowAdapter va goi phucmg thirc GoogleMap.setlnfoWindowAdapterO. Giao
dien nay co hai phuong thirc la getlnfoWindow(Marker) ve getlnfoContents(Marker).
API se gqi den getlnfoWindow() tru6c, neu ham nay tra ve null thi se pi den
getInfoContentso. Neu ca hai gia trj nay deu tra ye null thi API se sir dung
InfoWindows mAc djnh. Dm% dAy la !firth anh vi du ve InfoWindow mAc djnh va thy bien, met so yin de khac se duqc de 4p sau han khi giii quyet bii total eta the: 28 CHIJtING 4. CHVOING TRiNH 2FRIEND 4.1. Gbh then bit Wan Lrng dung nay se rat c6 ich (cid:9) Nhu cluing to biet, bit chip suy thoid kinh te, nganh ding nghe thong tin van
dang phat trien vOi mOt thc do ch6ng met. Trong thin gian gait day &nit clau sv phat
triers rat marsh cua cac thief bj dien thou th8ng minh (Smartphone). MOt trong nheng
ling dung quan tong 'that va c6 the nei la "khOng the thieu" d6 chinh la ling dung ban
db. Ngoii cac chirc nang ca ban ma GoogleMap da cung cap nhu tim clubng, chi
duimg, dieu hueng... ea met chile nang quan tong khic ma GoogleMap da dimg h6
try d6 la tinh ruing chia se vj tri vii ban be, ngubi tican(Google Latitude). Chinh dieu
nay di thtic day em thy dung mOt img dung chia se vi Iri ban be tre'n Google Map.
Ling dung nay se sir dtmg Google Map API lam bung tam. yeti flitting ngubi ban, hay la dei vii cac Snit
vien tong gia dinh. Ban c6 the tim &roc vi tri ctla ban be mitt ma kW:Mg can gqi dien,
nhan tin, dieu d6 se tao nen nh(tng cuOc m*t bat net thit vj. Hay cac phv huynh
et-mg c6 the can d#t ling dung nay tren dien thou cim cac con de theo deal vi tri, tao cam
gide yen tam han dad ved nhemg ngubi phai lam viec ca ngay kitting the quart IST con
cal Ling dung ding cung cap chirc tiling nhan tin, gvi dien ngay tir giao dien elm
chuong trinh, giop cho viec lien lac to nen a clang va thujn lien han. 29 ling dung duqc cai tren cac thiet bj di dung se (tong vai fro la melt may khach
(Client). Ngubi dung mu6n sir dung chucmg trinh se cting ky melt tai khoin rieng. Tai
khoan nay se dugs luu tren WA server via bang Java. Server nay chi co nhiem vu
nhan yeu au tir client, xi: 1" va tra ket qua, kh8ng c6 giao dien Admin. Nguyen nhan
viec khong c6 giao dien Admin la vi em muOn tap trtmg vio ling dung tren thiet bj di
Ong nhieu han. Vi cling la de bao mat thong tin cim khach hang tOt hon. MOt nguai
wan 15, server kh8ng hieu sau a he thong se kh8ng the thy thong tin ca !Min cim
khach hang tir co sa da lieu tren server.
4.2. MOt 54 yeu au cita bli twin BR1: Quin ly tai khoan cilia ngubi eking. Ngubi sir dung c6 the clang lcY tai
khoin mai va cap nhat th8ng tin tai khoan ctia minh. Ngubi sir dung can c6 tai
'chain mei co the sir dung chuang trinh.
BR2: Quail ly vj trf cua ngubi dung. Ngtrai sir dung khi clang nhap vio chucmg
trinh se giri vj tri da duqc djnh vj dEn Server. Server can luu trey vj tri nay de
co the chia se vai ban be. - BR3: Quin 15, danh sich ban be. M8i ngubi sir Mpg deu c6 melt danh sach ban
be, pi la Friendlist. Server an Wu trey thong tin ban be dm tang tai khoan de
c6 the chia se vj frt. - BR4: Quart 15, yeu cku ket ban. Khi hai ngubi dung mutin tra thank ban ciut
nhau Uri can phai c6 sv ding y cua ci hai ben. Chuang trinh an co chic ruing
giri va xic nhan yeu cau ket ban. - BR5: Ho trq twang tac giaa cac ngubi dung. - BR6: HO trq tim duang di den vi tri ctia ban. - BR7: HO trq nhieu ngubi sir dung cling met thtri diem. 30 Mil to Chirc rang nay cho phi') ngueri ding ding ky mOt tai khoan mth de sir
dyng chwung frith. Sau khi do tai khan nguai ding có the tien hanh ding
nha, \fa sir dyng cac chirc ning khic cim 4 thing Khan co Chuang trinh phai duqc khei dung binh thubng Tai khoan mai dugc ding ky, ngutri dung có the sir dyng tai khoin nay de ding nh3p
TM khoan mei !thong dtrqc ding ky, clUr lieu khong bi tiny din Lai kien (cid:9) 32 iffy tore tr N: Ti Ha.tSgky u: Tp kigawOraQ 17: Vagina re C (cid:9) 3 Ten oiling nh#p (Login)
3 M#t khau (PassWord)
3 Ten th#t (Name)
3 SO Bien thogi (Phone) (cid:9) 3 Bing users: Them ban ghi mai vai ck thong tin sau: 3 Bing Location: Tqa deo vi tri colt ngubi dung, gia tri mac dinh la (0,0) ti yva clOnis I i. (cid:9) wow Sau IN ngtrin dung dang nh$p thanh ding, chtrcmg trinh se hien thj man
hinh chinh cila chuong trinh. Chuang trinh sir dung Google Map API a
hien thi ban di. Bin di nay gin nhu hob town giOng vei ban di
GoogleMap chuin. Nguei dimg c6 the thao tic vei ban di nhu chuyen vi tri bing Ice° tha, thu pheng. Man hinh nay la man hlnh chinh va quan tong nhit ctia chi:mg trinh. TO
day ngtrai dung c6 the sir dung clic chirc Ming tiep theo nhu them Nut, tim
duang den vi tri bon... Cac chtic nling nay se duqc de cop 6 plan dip theo ciut tai lieu Google API Google Service phiti hoot dung Ban di dtrqc hien thi Ban di Iching duqc hien thj Server 9 Ca salt Nu and : NYIE
1+ Ar auk t/0414 KNU IAIINE
otlio 0 SSW 4.3.4. Char ming xem vj tri tha minh Chat fling nay cho phep nguieri dung xem vi tri cha mirth tren ban dO. KM nguari dung di di chuyen bin dO di xa va kh6ng con nit vi tri dm minh, DO phis kip: 1 XEM Ni Till CUA MiNH UC #0004 claim ning nay se di chuyen bin dO den vi tri hien tai cos ngueri dung. Kitting co Me ti Ngueri sir dung can ding nhjp vim chucmg trinh Chhth Nguai sir dung
Pity Chuang frith hien thj vi tri dm ngtreli dimg Chuang trinh kitting the hien thj chinh Vic vi tri ngueri dung Tic
nhan
Tiin thin Idin Thinh
thug
Iii Sudo Wing caw*: Chic ning hien NA tido minh Server Ca sada* ONitwAndroid ""'ding Did' vl) dla
Google thau ) ( (cid:9) Rhein& 4- Natitisl —I tkaalttlitit – 42 nay. Khi de ban d6 se duqc di chuyen den vi tri hien alai dm ban. Trong Ian dau tien de tim duce vi tri, chuang frith se dinh du vi tri coa ngubi dimg tren ban
di) bang bieu Ming d#c biet, Clang thed di chuyen ban d6 den den vi tri ngtrai dimg. Trong
trueng hqp chua d6 tim dtrqc vi tri, bieu tuqng vi tri cim ngueri dung se chua dtrqchien len. thiet bi. - Cach thi nhit la si dyng 4 tinh dm Google, hay chinh la se dung GPS. Ckh nay se
cho ket quit chinh xac, tuy nhien vi you au ket n61 den ve tinh, nen theri gian de lay
duqc tqa deo se lau hen, dong thed neu thiet bi dirge d#t a trong nha thi dm nhu
kitting the si dung duct Viec sir dyng GPS ding ten pin han viec si dung mpg di
dijng hay Wifi. - Cach the hai la si dyng mpg di dung 3G/wifi. Cach nay cho ket qua nhanh han so veri dung GPS, my nhien deo chinh xic ciut rich nay lei 'thong cao bang GPS. Chinh vi vu va nhtrqc diem cim hai phuang thirc lay vi tri nay, nen ngtred lip trinh thtrimg sir
dyng ket hqp di hai cash a cho ket qua chinh xac va nhanh nhat.
Sau khi ley duce vi tri cita thiet bi, chtrang trinh se Sixth dau vi tri de bang mijt bleu ttryng
dic biet, d6 la vi tri ciut ngubi dung. Tir day khi ngubi dung biun vao nut "Vi tri ctia tOi", ban 416 se dtrqc di chuyen den vi tri nay. 44 Sa dO trinh tv KD 0 0 KJ° 0 spa r9 (cid:9) r9~d (cid:9) Ue O so a 4-9: Trink ty Xem vj trf bps bl 48 Chic nAng nay killing yeu cau ngueri ding tac dOng vao chuang trinh. Chi can ma man firth
cim chuang trinh len va danh sach ban be se duqc nap ve met cach tv &Ong. Danh sach bon be
cling dugc c#p nh#t lien tvc, dam bao vi tri dm ban be se dugc c#p nh#t chinh xac nhat. Day la met ding viec tv dOng thvc hien kh8ng can thao tic cia ngtroi dung. Cong viec nay
you cau giri va nh#n ket qua tir server cho nen can phai d#t trong Asyntask. Cac ceing viec chuang trinh can thvc hien: - (cid:9) Chuang trinh giri you eau lay ye danh sach ban be dm ngutri dimg: Getfriend Chi jr la ID cia ngutri dung kh8ng duqc c8ng khai, nen chuang trinh se thvc hien chic nAng
nay met cach ix dOng, ngueri ding Idging the can thiep vao chive nAng nay. - (cid:9) Sau khi you cau duqc giri di, chuang trinh se nhon ve met danh sach clic ban be di
dugc ket ban, danh sach c6 cau trim kieu xau (String), cau trite danh sach tra ve nhu
sau: Chuang trinh se tien hanh phan tich danh sich nay va danh du vi tri ban be trEn bitn dO. - (cid:9) Sau khi nh#n duqc danh sach ban cling vol vi tri tuang (rug, chtrcmg trinh se lay ve
met vai thong tin co ban cilia ban be, gem c6 ten day dti dm ban va thin gian ding
nhop glut nhat. Yeu cau dugc giri den Server vol cau tic: Getinfo hien thi vi tri ban be tren ban dO. - (cid:9) Ngueri ban dang Online se ci bieu ttrqng mau di, neu Offline se 6 bieu tugng mau xim.
- (cid:9) Trang thai Online dm ban be se duqc chtrang trinh cep nh(it lien tyc, sau met khoang
thbi gian nhat dinh chtrcmg trinh se giri yeu cau den server de lay lai th8ng tin ye
danh sash cling nhu tang thai cia ban be. Thao tic nay sir citing TimerTask. - (cid:9) Sau khi nh#n dirge yeu cau lay dank sach ban be tir phis Client, Server se tian hanh truy xuat ca sir de lieu va lay ra the thong tin sau: 11D dm bon, chi ngubi di the nh#n you cau kit bon mil dirge lay ra (Status bang 1)
3 Vi tri dm ban twang irng, bao gam hai gia tri II Latitude va Longitude duqc lay ra tir bang Location - (cid:9) Sau khi lay ra the th8ng tin nay, Server se dua de lieu thanh dm tric nhu sau trtrac khi giri ve cho Client: 49 3 Status: Trang thii clang nhOp cim ngtaai clang '~ Cast/delft QMit bi Android GUY YEU CAU KET BAN DO phut top: 1 UC #0007 Chuc cling nay cho ph6p ngueri dung gUi yeu cau them ban m6i. Ngu&i ban nay se nhin duct yell eau ket ban, neu viec ket ban dirge xac nhon thi ngued ban nay se duqc them vao dank sach ban be cim ngu&i dung, clang then vj tri etia ban be cling se duct hien thi len ban do. Day la met trong (cid:9) nhOng- chat ring chinh cua chuang trinh 2!Friend. Nguei dung co the chia se vj tri veri ban be, dang then biet duqc vj tri ban MO ta be cua minh. Nha in, du 6 bit cu nai dau, chi can ban be sir dung chucmg trinh nay, ban cling c6 the a clang tu hop va gay bat nger cho ngtreri ban ctia minh. Day chinh la chat Wing dem ban be den gin nhau han. Khi ngueri dimg nhip ten ban, chuang trinh se tien hanh truy xuat den server di !Ay cac gia tri gqi , ket ban, &up nguai clang them ban met tech thuin tien han. Khong 05 Ngubi sir dung can ding nhop vao chuang trinh Tian di$u kiln Yeti ciu ket ban duqc giri di Yeu ciu kit ban Miring duct giri di 53 s. a keng ding viIc 3Casfrdirliou ban. Tsang hap ten ban vira nhjp &I c6 trong danh sach hoc da gUi yeu cau, chuang trinh se fien
hanh bao 161 vi Idling girl them yeti eau ket ban. - Lay ra ten ban ma ngueri dung mien them - (cid:9) Dua vio eau lenh: - (cid:9) Lay ra gii try' tin ngubi dimg, ten ban can them
- (cid:9) Tien hanh kiem tra xem ten ban c6 ten tai tong ca ser de lieu hay Wong
- (cid:9) Neu ten ban thing ten tai, server se tra ve kit qui cho ngtreri dung
- (cid:9) Neu ten ban ton tai, server se tien birth them ban ghi mei vao ca so du lieu Tiling thai bang 0 clang nghia veil viec yeu dm ket ban nay chtra duqc xic nho'n. Khi ngueri
ban Wang Ung clang nh#p vitt chuang trinh se nhjn duce yeu cau ket ban nay, khi 46 hq c6 the xac nh#n hay tir chei yeti cau kat ban 46. - (cid:9) Sau khi them ban ghi thinh tong, server se tra ve ket quit thong bao vat ngtroi dung viec girl yeu cau them bon di theft ding. 55 webs Ocavloua (cid:9) *en !) 56 )(tic NHAN YEU CAU 'CET BAN Chirc nang nay cho phep ngueri dung zac nhon yeti au ket bon to met
nguen clung !chic. Chirc nang nay giim ngueri clang dr the kiem soat duqc
viec chia se vi tri den met ngueri ma minh khong mong muton, beri vi viec
chia se vi tri that ra la met van de rieng to va can c6 de tin c#y cao. KW
nh#n dirge met yeu au ket bon, ngueri clang c6 the lua chun deng 9 hoec
to ch6i. Neu yeu au duqc deng 9 (xitc rile thi ngueri bon do se dtrqc
them vim danh sash Nut be. Ngtred sir dung can clang nhop vacs chuong trinh Trong thai ciia you au ket bon dtrqc cep nh#t Trong thai cita yeu clu ket bon khong dtrqc cop nhOt 57 So d6 hding cdng viec C Bka ) 0 • • • 58 Mut nquot moon kit 60 vi trl km 4.3.9. Cher nong tim during (cid:9) Me ti Chirc nang nay cho phep ngueri dimg c6 the tim dugc &rang di den vi tri
ban be cim minh. Diremg di se dirge dinh diu tren ban db, yen diem bit
diu la vi tri dm ngtrai dimg ve diem cuOi la vi tri ban mkt ngu&i dimg.
Ngueri dung chi can lam nhOng thao tac rat nho la c6 the tim dugc duerng di din vi tri ban be. TIM DU ONG DEN VI TRi BAN UC #0009 Google Service
Npreri sir dung can clang nhitp vio chuang trinh, Google Service phai hog
ding Chuang trinh hien thj duemg di den vi tri ban Luang Ong C °itdiu ) • AW • Cach sir dung Direction API se duqc de cap 6 phin 4.3.1 Them bon S vi„ a (cid:9) urow 62 M8 to Chirc ning nay cho phop nguai dung c6 the xem th8ng tin chi tiet ve met
ngtreti ban trong danh sach ban be cim minh. Khi man hinh chi tiet ban be
hien len, ngueri dung c8 the thyc hien nheng chirc nang khic nhu giao tiep
ved ban be bing tin nhin, dien thotti hoc hay ket ban. ChInh Ngueri sir dyng Google Service Nguen sir dung can ding nhep vio chucmg trinh The
nhin Phy Thong tin ban duce hien thi Thong tin ban khang duce hien thi Tan Su kio Hiu
dieu
ki'n Thinh
thug
Lgi fl mid 63 65 vai ban Chirc rang nay cho phi!, ngubi dung c6 the giao tiep, len loc vii bon be.
Day chinh la diem mph dm cac thiet bj di dung. Chuc rang nay lig try
ngubi dung nhin tin, pi dien cho ban be mOt cach nhanh ch6ng ma
khong an ma danh bo hay (mg dung than tin, chi can ban be a trong
danh sach IA vii nhang thao tic rat nhanh gm la di the lien lac yin ban be. Ngutri sir dung can ding nhip vac) chuang trinh !Chang the giao tiep vii ban Wong ang 3 Ca slide lieu IP Wins &Firkin
et dhthanglong
Doi his Thing Long
137 Nguyin Xi& Doi Ki i,Hoing
Mai Hi NOi
2013-11-14 6 Ngtrbi dung (cid:9) t Ngudi sir dyng Trong man hinh chi tiet ban be, floral clang chi cam barn nut "Hily ket ban" a x6a ngueri ban Wang Ong Ichei danh sich ban be. Neu viec Ithy ket ban thinh cong chuong trinh se thong bio "X6a ban thanh cong" - (cid:9) Lay ra ten ngueri dung va ten ngueri ban can x6a - Dm vao cau lenh: removefriend - (cid:9) Dgi ket qua tra ve
- (cid:9) Phan tich ket qua vi phan hOi cho ngueri dung vi cong viec nay can troy cap mpg nen can phii at trong Asyntask. Sau khi hay ket ban
thinh cong, ban rth se duce nap lei de Op nhat danh sich ban be. Khi nhan duce yeu cau hay ket ban fir phia client, Server se tien hanh nhOng cong viec sau: - (cid:9) Lay ra cac gia trj: ten ngueri dung, ten ban can x6a - (cid:9) X6a th6ng tin kh6i ca so de lieu: 3 Bing se duce Ow nhet la bang Friend I va Friend2 Thief bi can co ket not mpg The Ho VIII 4.3.11 Char nang c¢p nh4t thong tin al nhan M8 ta Chirc ning nay cho phi', ngutri sir dung co5 the thay doi met so th8ng tin
ca nhan cira minh. Nguai dimg c6 the thy 9 thay di thong tin theo jf thich,
hoc khi ding kj, nh#p vao thong tin khong chinh xac, ngutri dung di the
sir dung chirc ning nay de chinh sira Iii. De phyc vu cho viec bao mat tai
khoim, khi thay dei thong tin ca nhan ngtrai dung se phai rili#p vao mat
khau hien hank. Neu mat Ithau kh8ng chinh xac thi th8ng tin ca nhan se ichOng IA thay del. 'Chong co Nguoi sir dung can ding nhap vao chuong trinh CAP NH4T THONG TIN CA NHAN DO phut ttip: 2 UC #00013 Thong tin ca nhiin dm ngutri dimg duqc cap nhat Thong tin co than dm nguiri dung thong duqc cap nh#t Chinh Ngu&i sir dung
Tic
Phy
nhin
Tan dal' kien 72 C B&° )m ► ► •
*signal •••6I
dines co 060
Mu • wnli • —• Ci• Mk nal VI — V Ilifre lin / L. Got Odom bio do Please enter password DO phie tvp: 2 TRAY D81 MAT KHAU UC #00014 Chic nang nay cho phi', ngu&i ding thay d6i mat khiu ctia mirth. Vi ma
1j, do nao do nguoi ding de 10 mat khiu, hoc mu6n thay diii mat khiu co
dO an town cao hon, ngu&i ding cit the sir dung chic nang nay. M8 th Mil khau cita ngutri dung &cm ml heta bang ham toim ma chieu MD5,
khOng the giai mi nguqc loi vi chinh nguoi quin tri 4 th6ng ding khOng
the nhin they mat khiu thit cia nguiri ding. KhOng ce
Ngtroi sir dung an Sing nhip vio chuang trinh Tien digu kiln Mit kirk' cita ngtrai dung khong duqc thay d6i 76 _1 GS 1116,4 So YR Current password New password Confirm new password Saver / rWd Pluroing phip thyc hi§n nay. Nguiri sir Mpg
Chirc nang nay cho phOp ngued dung thoat khoi chuang trinh, clOng thin ngimg viec chia se vi
tri. Nguisi sir dung chi cam barn vao not "Ding xuat" hay "Log out" de sir dung chirc ning ciu den Server: Logout Vi day la chirc riling duqc thqc hien tren giao dien chink dm chucmg trinh, khemg yeu cau
them mOt ket Wei nao yen server, nen IdiCing an phai gfri ID dm nguoi dung den may cho. VI
day la char ning sir citing ket not mpg nen can dirge 44 trong AsyncTask. Chuang trinh sau
d6 se duct deng hoan toan, ngtrai dung c6 the sir (long chuong trinh bing cach Mai dOng tit
bieu tuqng chuang trinh. Chiron trill!' sir If
Sau khi nguai sir dung biun nut "Ding xuat" hay "Log out", chuong trinh se tien hanh girl yeu tir cac Client khac. Server
Sau khi nhan duqc yeu calf ding xuat tir phia Client, Server se tien berth lay ra ID dm ngued
dung Wang Ong de phyc vu cho viec thay dOi tang thai ding nhip. Trang thai ding nhap dui
ngubi dung Wang Ong se duqc thay dei dr 1 ve 0, Wang duang veri Online ve Offline. Sau khi
thao tic nay thank along, ket not yeti Client se duqc eking Iai, Server tiep tic ling nghe yeu diu Cie yen ein d$c Met kith
Thiet bj can c6 ket n6i mung Giao digs minh hos 81 Direction API la met API cua Google, cho phep ngubi lap trinh sir dung de" tim clueing di gina hai diem tren ban et) sir dung HTTP Request. - Yeu cau chi duting: Direction API duce yeu cau theo djnh
http://maps.googleapis.conilmaps/api/directionsioutpurparameters
Trong de, output la met trong hai gia trj sau: 3 Json: Tra ye gia trj theo dinh ding Json (Javascript Object Notation)
3 Xml: Tra ve gia trj theo djnh clang XML Theo khuyen cao coo Google, dinh ding Json &gm uu tien hcm. Chinh vi the nen tai lieu nay se chi de cap den dft lieu Json. Met vi du ve da lieu Json duce tra ve tit Direction API: "stunts": "OK",
"routes": [ ( "summary": "1-40 W",
"legs": [ (
"steps": [ ( "travel mode": "DRIVING",
"start location": (
gat": 41.8507300,
"Mg": -87.6512600 "end location": ( "tat": 41.8525800,
"Ing": -87.6514100 "polyline": ( "points": "a-l-Fjk-u0wHJy@P" "duration": (
"value": 19,
"text": "1 min" ),
"html instructions": "Head tu003cbtu003enorthlu003c/b1u003e onlv003cblu003eS Morgan StVe003c./blu003e toward Iu003cblu003eW Cermak Rdlu003cfb1u003e", "distance": (
"value": 207,
"text": "0.1 mi" ), ... additional steps of this kg additional legs of this route
"duration": ( "value": 74384, - Cau Leith request:
hitp://maps.googleapis.com/maps/api/directions/json?origin=Chicago, IL&destination —Los +An
geles,C4&waypoints—Joplin,M010klahoma+City,OK&sensor=false
- Json tra ve: "text": "20 hours 40 mins" 1.
"distance": ( "value": 2137146,
"text": "1,328 mi" "start location": "Ian 314675602,
"Ing": -97.5/64276 1.
"end location": ( "'at": 34.0522342,
"Ing": -118.2436849 1.
"start address": "Oklahoma City, OK. USA",
"end address": "Los Angeles, CA, USA" "copyrights": "Map data 020/0 Google, Sanborn",
"overview _polyline": ( "points": "a-l-Fik--uOnth@vlblitc-,sE'vnApw(A'slw@-wIIIIN141@nd Fbas@rx0@b1@icsSfruiblk@saaBelxlab-t@zbh
Pjcillx1Crv(apvi@rlhA-dVieo@vrSticlArfifizarffbw-Wz(A -cl(AVOxbrI3bdUvpoWcFp-xBelikkAnurlizirmFf
wMbw-Abbl@lq--gloPpxqabw gvi irbtY-jGqeMbfifin11-mbDzen WriallxijfkElinAb-uF(cNaBjP1fidBiw.. 1
1c1MIYAIPb@kijCk Kr-eGY9T1 1@ .urkiDcsNchitx401(449@ gc@nutnvilik@dse(tDjV@PMISgEky@'o
Pgg@l
mIvaEdb@igQxnMpqGze-AsylkzijAb_WyhIpllo_BJImA --yQ/iNboWzoAlzp@mzt4111_®jdagia lcEitAn (fflailexC
IshBtrtogAcbnY hbrild--XialindgC" ),
"warnings": (1,
"waypointorder": [ 0, 11,
"bounds": ( "southwest": ( gat": 34.0523600,
"Ing": -118.2435600 "northeast": ( "Mt": 41.8781100,
"Mg": -87.6297900 I tri sau:
3 OK: V* chi duang tra ve ket qua chinh xac I/
I
Giai thich cac gia tri tra ye:
- Status: Day la truang km tang thai tri ye dm API, Status c6 the chim cfic gia 3 NOT_FOUND: Chi ra rang melt trong cac diem bat dau, ket thfic hay waypoint khong the giai ma. 3 ZERO RESULTS: Chi ra ring khong tim duqc dtrong di glib hai diem duqc nhap vio 3 MAX_WAYPOINTS_EXCEEDED: CM ra ding c6 qua nhieu waypoint
duqc nhap vio. SO waypoint tin da cho mat tai khocin binh thubng la 8.
Neu sir dung tai khoan kink doanh thi s6 waypoint ce the tang len thank 23. 3 INVALID_REQUEST: CM ra rang cau *II you au kW:mg chinh xac
3 OVER QUERY_LIMIT: CM ra ring c6 qui nhieu yeu eau vi tri tir img dung trong mat khoang thbi gian 83 3 REQUEST_DENIED: You can chi dutmg tir img ckmg bi tir ch6i 3 UNKNOWN ERROR: Chi ra met 181 kh8ng xac dinh dirge, c6 the do 18i tit server. Neu gOp 181 nay ngutri dung co the truy cap 14i sau dO. - Routes:
Khi Direction API tra ve ket qua, ket qua d6 dugc at trong met mang c6 ten la
routes (BON). Cho di' service kb:mg tra ve ket qui gi thi no cfmg dugc d3t trong mOt mang routes trong. - Legs:
M8i met phAn tit trong man Legs dai dien cho met bubo trong hanh trinh tir
diem bat dliu den diem ket thac. Trong trtrtmg hop routes {dieing c6 waypoint nio, m8i
gia tri route se chi di met gia tri leg. Tuy nhien neu c6 se, waypoint tilti8u hcm thi so c6
so leg tang len Wong (mg. Legs c6 china cac gia tri quan tong sau: 3 Steps: LA met man cac bubo can phai trii qua trong hanh trinh. 3 Distance: khoang cach quang (luting can di chuyen trong step d6. Steps: M8i gia tri Steps dai dien cho mOt butm ctia dutmg di a dugc tinh town.
Steps la tharth phAn nh6 nhAt cue viec chi duong. Trong mang Steps sung c6
chita gia tri thong tin ve khoang cach, thin gian di chuyen, ten dia diem...
Nhtmg met gia tri quan tong de phuc vu cho viec ve dutmg di chinh la
Polyline. Gia tri nay xac dinh tip do diem dui steps de phuc vu cho ye &tong
di tren ban dO. Tuy nhien gia tri nay dugc ma h6a, vi vOy de sir dung duct can phai giai ma. 84 4.4.2.1. 104c diim mkt ccic phucmg thtic dinh Nhu da de cap 6 phan tren, de djnh vj dirge thiet bj c6 the sir dung ba each, d6 la ti- dimg GPS, song di dOng va Wifi. Ba each nay c6 cfic dac diEm khac nhau nix: sau: Theo vj tri Router KhO'ng cao Cao DO chinh xac Nhanh Chain Toe d6 dinh vj Cham nhung nhanh
h crn GPS Thiet hi 6 ngoii trgi Thiel hi c6 ket not
Wifi Thiet bi cel ket n6i
3G DiEu lcien hoat
dOng T6n ang lugng Chi phi Yeu cau ket not
Wifi T6n dung lugng
mang, ton nang
lugng " - (cid:9)
Bang 4-1: Cac each QJnh vl vt Chinh vi nhang dac diem tren, chuang trinh can phai thay doi chien that djnh vi
vj tri de khong qua tieu ton nang lugng cling nhu chi phi mpg, ding thbi vi tri an
phai nhanh va chinh xac. Chien that de nhu sau: Khi ngugi dimg dang sir dung chuang oink Lk nay viec dinh vi se hoat dOng
6 mire do cao nhat. Tuy nhien kitting c6 nghia la to se yeu cau this& bi dinh vi
lien Mc. Ta se lien Mc dinh vi thiet bi sir dung mang di dOng 3G/wifi, GPS
dirge sir dung nhung thin gian giUa cac lan dinh vi se dirge keo dai ham, tranh
viec lieu ton niing luqng thong can thiet.
Khi ngugi dang sir dung chirc ang khac cua chuang trinh hoac de chuang
trinh chay ngam: Lirc nay viac dinh vi vi tri lien Mc la thong can thiEt. Vi the
thiet bj se khong sir dung GPS de dinh vi ma chi sir dung mang di dOng. Tuy
nhien tfigi gian gida cite fan dinh vi se dirge keo dei ham de tranh fieu ton chi
phi thong can thiet. 4.4.2.2. Nguyen 135 caa cac plutcmg thac djnh vj a. GPS GPS (Global Positioning System — He thOng djnh vj toan au) la he thong dip
vao cac ye tinh Man eau de xac djnh vj tri tren trai Vj tri can dugc zee djnh dugc
ghi nhOrt boi thiet bj c6 tich hqp chip dinh vi GPS bit ki. Thi'et bi nay lien tuc truyen
nhin th8ng tin v8i he' thOng vg tinh quanh trai det va tir d6 tinh town ra vi tri tai thin
diem ghi ntio'n thong tin. Vj tri chinh xac teen thvc te dugc tinh toin b8i mot phep do
tam gide, dva vao khoang each tit diem can xac dinh den 3 ve tinh khac nhau chic
khOng phai chi 1 ve tinh rieng le. GPS hien nay duce *rig dung rat nhieu trong dai
song qua cac thiet bj GPS chuyen dung, Bien tho3i di dOng tich hqp chip GPS hay hg
thOng dAn duong tren xe heti. b. Song di dOng Tren thvc te, hAti het cac thiet bi di dung c6 tich hqp GPS hien nay deu ling dung ding ngh'e A-GPS (Assisted GPS). Trong nhieu dieu kien thvc te, viec truyen clan tin hieu GPS gift ye tinh va thiet
bj nhvr tren m4t det hoot dOng rat kem ho4c ern chi thong the host dOng, nil la
trong cac thanh phO Ian nhieu nha cao ding halm i trong thong gian kin. A-GPS chinh la giai phap cho van de nay. Thay cho viec truyen tin hieu true tiep yin v4 tinh, A-GPS ket not tin hiOu qua
mot "tram trung chuyen" la mot he thOng may chit hit try. He thong trung gian nay xac
djnh vj tri cim thiet bj so vii cac turn thu phit song elm cac mpg Bien tho3i trong gian
trong thu vve va tit d6 tinh town ra vi tri tren he thOng GPS. MOt duet bi tich hqp ding nghe A-GPS Bien hinh can cit cac ket not de lieu (qua
mpg GPRS, 3G hoOc Wi-fi) de c6 the truyen tai de lieu qua lui vii may chit trung 86 gian. Nhieu thiet bi hi) trq A-GPS van cet the hoat Ong ved ding nghe GPS chuan
khong qua ha trq cua mang truyen dAn, tuy nhien trong met so twang hqp, viec xac
dinh vi tri theo theri gian thuc se gap nhieu kh6 than do thong tin tir ve tinh den thiet bi
khong On dinh. MOt trong nhang tram trong chuyen la can tram BTS. De hoat dOng, lien thoai
phai ket n6i yeti tram chuyen tiep cua nhit mpg gqi la BTS, ma vi tri cua BTS la di
dinh nen ve ca ban chi c6 the biet thue bao de dang 6 khu vuc nao chit ko the chinh
xac den vai met nhu GPS duqc. Tuy nhien, tai met than diem thiet bi di dong ca the
nam trong yang phit sang cua nhieu tram BTS lchic nhau. Dua vao cluing dt) song, t6c
dO giri va nhan tin hieu c6 the xac dinh met cach tucmg dOi khoang cach tir thiet bi den
tram BTS, tit da cep the xac dinh duqc vi tri cua thiet bi. c. Wifi Ban chat cua viec dinh vi bang Wifi chinh la viec xac dinh vi tri cua Router.
Pham vi phat sang cua met Router la khong Ion, nit& la din van Router cua ho gia dinh
thi pharn vi chi khoing vai met. Chinh vi the neu thiet IA di dOng dang sir dung mang
Wifi nao da thi vi tri cua Router kha gen yeti vi tri cua thiet bi. De c6 the xac (filth duqc vi tri cua Router, Google da den hanh thu thap thong tin
tit rat nhieu thiet N chay Android. Klu bat (Lich vu chia se vi tri cua Google, man
dung da clang y cho phip Google thu thap cat thong tin tit thiet bi Android, trong d6
c6 ca thong tin ve mang Wifi ma thiet N dang truy cap. Tai met than diem ce the c6
nhieu thiet bi cimg ket n6i van met Router Wifi, sau !chi thu thap duqc mot b0 du lieu
lem nhu vay, Google se tien hanh khai pha du lieu — Data Mining de' lay duqc cat
thong tin can thiet. Tit cat thong tin de, Google a xay dung duqc ca sec dtt lieu va vi
tri cua cat Router va sir dung de dinh vi thiet bi di dOng. 87 Day win la throng trinh host Ong theo mo hinh Client-Server. Vi the viec trao
d6i du lieu giOa may chit va may khach din ra lien tuc va kha thuOng xuyen. Nhung
nen nher day la chuong trinh chay tren thief bj di Ong von tai nguyen c6 han, vey viec
trao d6i nhung gi von server ding can phai firth den: - Khi ngtreti dung sir dung chuong trinh: Day la luc chucmg With hoat Ong yeti
hieu suet cao nhAt. Viec cap nhAt danh sich ban be, day vi tri ngubi dimg len
server duqc thqc hien yeti dO tre ngen - Khi nguesi &mg sir dung chirc nang khac cfra chuong trinh hoec dE chucmg
trinh chay ngem: Luc nay viec cep nhat danh sach ban be la khong can thiet.
Din thai viec day vi tri len server cling se duqc tien hanh chem ham nhim
tiet kiem chi phi. 4.5.1. Mb hinh quan he # user_id : int(11) # lati : double id : int(11) # longi : double m login : varchar(30) id : int(11) m lastupdate : date m pass : varchar(32) # user_id - int(11) m name : varchar(30) # status : int(11) ® phone : varchar(15) # status : int(11) 4.5.2. Clic bkpg dir lieu
4.5.2.1. Bang users a. Cau true bang de. lieu Khong Auto Increment Khong INT(11) ID Khong Khong Khong Varchar(30) LOGIN KNIT* Khong !Chang Varchar(32) PASS !thong Khong 'thong Varchar(30) NAME [Chong Khong Co Varchar(1 5) PHONE [Chong Khong !Chong Int(1 1) STATUS b. t nghia ciut cfic gia trj - ID: Gia trj khda chink dinh dank, gia tri nay dugs sink tu dang. - Login: Ten tai kholin cfla ngubi clung, sir dung cimg vOi mat khau de ding nhap vao chuong Dinh. - Pass: Viet tit ciut Password, la mat khau dung de dAng nhap. - Name: Ten day dfi elm ngubi dimg, ngubi dimg c6 the nhap vio tity 89 - Phone: So then thogi cim nguei dimg. Gia tri nay do ngued dung nhAp vao, dung de thuc hien chic ning gei dien va nhin tin. - Status: Gia tri nay the hien tang thai ding !IWO cua nguei dimg. 4.5.2.2. Bang Location a. CAu Mk bang MY lieu 4 `pity Khong Auto Increment Khong INT(11) ID USER(ID) !Chong Khong INT(11) USERID Khong Killing Khong DOUBLE LATI Khong Khong Khong DOUBLE LONGI Khong 'thong Khong Date LASTUPDATE t nghia cim cac gia tri b. ID: Gia tri khea chink dinh dank, gia tri nay duce sink tv deng. UserID: Gia tri nay la kh6a ngoai lay ter bang User, dung de xac dinh met user tai ban ghi hien Mi. Lati: Viet tit am Latitude, la gia tri Kinh de, ding vei gia tri Longi de xac dinh vi tri cua ngubi dung.
Longi: Viet tit coa Longitude, la gia tri Vi de, ding yeti gia tri Lati de xac dinh vi tri nguei ding. 4.5.2.3. Bang Friend] a. CAu true bang da lieu 90 nglifa cua cac gia tri b. - ID: Gia tri kh6a chinh dinh danh, gia tri nay duqc sinh ttr dOng. - USER ID: Day la kh6a ngoai lay tit bang Users, day la ID dinh danh cita ngu&i da girl yeu cku ket ban. - DATE: Ngay ma yeu cau ket ban duce gni di. c. CAu frac bang da lieu 4.5.2.4. Bang Friend2 Khong Auto Increment Khong INT(l 1) ID USERS(ID) Khong Khong INT(11) USER ID Khong Khong Khong INT(11) STATUS nghia cua cfic gia tri d. - ID: Gia tri Schee chinh dinh danh, gia tri nay duqc sinh to Ong. - USER ID: Day la kh6a ngoai lay to bang Users, day la ID dinh danh cua ngued duqc yeu eau ket bp. - STATUS: Trpg thai cua yeu au ket ban. Neu trang thai nay bang 0 thi yeu
eau ket ban nay chua duqc xic nhan, neu bang 1 thi yeu cAu di clime xfic nhan,
2 nguen tuang *rig &I la bp cua nhau. 91 4.6.1. Kit qua dqt duvc Sau met thai gian tim hieu va dqc tai lieu, em da lap trinh thanh cong de tai coa
minh vai san pham la chucmg trinh 2Friend — chucmg trinh cho phep ngutri dimg co
the chia se vi tri cita minh veri ban be, nguai than. Chuang trinh da co Wang din day
de chirc nang, nhung day la chucmg trinh huang teri rat nhieu ngutri sir dung a khip
nai tren the gieri chir Miring Hang a Viet Nam, nen viec chua lam hai long nguai sir
dung la !thong the tranh kh6i. Sau khi chucmg trinh duqc trien khai, em se ling nghe
icien phan hOi tir nguai sir dung va cap nhat img dung thutmg xuyen nham lam hai
king nguai sir dung. 4.6.2. Dinh Inning phdt trim 4.6.2.1. Dim zing dyng ten CH Play MOt Ong dung Android muen den duqc yeti nguai ding nhanh nhat thi can phai
dua len CH Play. Day duqc coi nhu la "chq Qau mei" de ngutri dimg mua hoac tai umg
dung Android. Ngoai viec dau to de dua img dung len CH Play, trong th&i gian Mu
ding can phai clang cao yeti ban be de tao met cong dOng ngutri sir dung, bai vi met
*rig dung c6 so KKR tai va danh gia cao se thu hut ngtrisi sir dung hon. 4.6.2.2. Thu 10 nhudn tie zing dung C6 ba each thu lqi nhuan tir met img dung hen CH Play. a. Ban Ung dung Hay n6i each Ichac, ngutri dung se phai tra tien de tai CEng dung xuOng, hay con
gqi la mua img dung. Cach nay thutmg duqc sir dung veri nhttng chuong trinh that sun
tot, vai nheng nha san sat co uy tin. Tuy nhien day kh8ng phai la each tern uu nhat,
img dung can tra phi de tai luen c6 so luqt tai it han. Han Oa, dOi yea thi Huang Viet
Nam, ngutri dimg rat it, c6 the nOi la gin nhu kitting bao gia mua img dung tra phi tren
CH Play. Ly do bai vi viec su dung the thanh thin wok to a Viet Nam chua phi) bien,
va cling bai vi th6i quen ngutri Viet Nam van thich &mg dt• mien phi han, ding bai vi
thu nhap cua Viet Nam chua cao so v6i the gieri. Chinh vi vay em se kitting chqn catch nay de Qua img dung len. b. Thu tien trong time ckmg 92 Cfich tins' hai de thu lqi Taman tir img dung Android d6 la thu tien ben trong zing
dung. Dien hinh nhu met so tr6 chai not tieng nhu Candy Crush, Class of clan... Vat
pham ben trong img dung hay met so tinh nAng an phai tra phi de kich hog Cach nay
cling thu ve met se den khOng to neu ting dung de hay va c6 nhieu ngutri sir dung. Tuy
nhien, em cling se thong chqn each nay, ix% vi img dung ciut em khi mai dua len se khong c6 nhieu ngtroi sir thing. Han nua viec tra phi it hay nhieu cling se lam ngutri
dung can nhic khi sir dung img dung. Mvc tieu ban du mia em la Wong tea co cang nhieu ngueri sir dung cang tot. c. Hit quang cao trong img dung Cach cuOi cling de kiem tien trong img dicing d6 chinh la dit quang cao trong img
dung. Cach nay khong yeu cau ngutri dimg phiti chi frit bet ki met khoan phi nao de sir
dung chuong trinh. Lqi nhuan se dugc thu tir cong ty quang cao. Tuy nirien doi khi
quang cao cling gay kh6 chju cho ngutri (king, chinh vi Vey, viec chon hinh thirc dot
quang cao, vi tri dit quang cao cling quan tong de khong lam mat khach hang cita
chinh minh. Day se la cach em Iva chon de trien khai img dung. 93 CllUONG 5. PHV LVC - CODE MOT SO CHIC NANG ClliNII public class registertask extends AsyncTask String RegisterResult = null;
protected String dolnBackground(String... awls)
Bundle mbundle = new Bundled;
mbundle=geantenta.getBundleExtrarRegisterBundle);
ipserver=mbundle.getString("ipserver"); iffl(username.isEmply0I1pass.isEmptY011hame.isEmplyallphone.isEmplAD cl=new Socket(ipserver,8881);
PrintWriter outp = null;
BufferedReader inp=null;
if(cl!=null) outp = new PrintWriter(cl.getOutputStreamatrue); inp = new BufferedReader(new InputStreamReader(cLgetInputStream0)1; Stringfl fidlname=name.splitr '2;
name="";
for(int i=0;i name+=(fdlnamefil);
ifa==fullname.length-1)
break else name+=" "; 1 outp.println("register "+username+" "+encryptMDS(pass)+" "+name+" "+phone); ) catch (UnknownHostException e) // TODO Auto-generated catch block
e.printStackTraceQ; ) catch (I0Exception e) I protected void onProgressUpdate(String... progress) ( protected void onPostExecute(String result) if(RegisterResult.equalsIgnoreCaseruser")) 94 ToastmakeText(getApplicationContextO, getResourcesagetString(R.string.please_use_another name), Toast. LENGTH LONG).show(); else iffRegisterResult.equalsIgnoreCase(false")) ToastmakeText(getApplicationContextO, getResourcesQ.getString(R.string.cannot_register), Toast.LENGTH LONG).show0; else Intent login = new Intent(RegisterlayoutActivity.this,LoginLayoutActivity.class); startActivity(login);
finish 0; I private class LoginTask extends AsyncTask protected String dolnBackground(String... urls) { user=tb username.getTextO.toStringO; pass=tb_pass.getTextO.toString0;
login_status=login(user,pass);
return null; protected void onProgressUpdate(String... progress) ( protected void onPostExecuteatring result) ( ifflogin status) Bundle mbundle = new BundleO;
mbundle.putString("user", user);
mbundk.putString("ipserver", ipserver);
Intent mintent=new Intent(LoginLayoutActivity.this,MainActivity.class);
mintent.putExtra("MyBundle", mbundle);
//finish0;
startActivity(mintent);
finish 0;
//System.exit(I); else ToastmakeText(getApplicationContextO, getResources0.getString(R.string.cannot _login),
Toast.LENGTH LONG).shaw0; bt_login.setEnabled(true); 95 private class updatefriendtask extends Asyncrask protected String dolnBackground(String... urls) { if(cl!=null) if(username==null) username=mbundle.getStringruser); iffid==null) id=getid(username); friendlist=gerend(id); String() friends=kiendlist.splitr ");
templatIng=new LatLng[(friends.length/3)];
friendinfo=new Stringl(friends.length/3)1;
kiendmarker=new Markerlikiends.length/311;
for(int i=0;i<((friends.length)/3);i++) int currentfeint = i*3; templatIng[i] =new LatLng(Double.parseDouble(friends[current point+11),
Double.parseDouble(friends[current_point+ 21)); outp.printlnrgetinfo "-Ffriends[current_point]);
try (cid:9) fi-iendinfofifrinp.readLine0.toString0.trim0; I catch (10Exception e) ( // TODO Auto-generated catch block return " "; protected void onPostF-xecute(String result) String() friends=kiendlist.splitr "); for(int i=0;i String tempinfor =friendinfolij.split(" '); fi-iendmarker[i] =mMap.addMarker(new MarkerOptionsO .position(templatinglifi
.title(tempinfo[0]) .icon(BitmapDescriptorFactory tkomResource(R.drmvable.ic_ofiline_big)) .snippet(kiendinfo[in
.anchor(0.5f 0.5j)); if(tempinfo[2].equalsIgnoreCaser I")) friendmarker[i).setkon(BitmapDescriptorFactory .fromResource(R.drmvable.ic_online_red)); //--Get Friend—
public String geOlend(String id) 96 String temp="0";
outp.println("ge&iend "+id); try temp=inp.readLineatrim0; j catch (10Exception e) ( /1 TODO Auto-generated catch block
//e.printStackTraceO; return temp; private class AddfriendTask extends AsyncTask String status=null;
protected String dolnBackground(String... urls) I
Stringfriend2=tb_addfriend.getText0.toString0; if(cl!=null) by outp.printlnraddfriend "+username+" "+friend2);
status=inp.readLine0.trim0; catch 00Exception e) I // TODO Auto-generated catch block
//e.printStackTrace0; return status; protected void onProgressUpdate(String... progress) j protected void onPostExecute(String result) I if(result.equalsIgnoreCase(' riendname")) ToastmakeTem(getApplicationContert(),
getResources0.getString(R.stringfriend noffound), Toast.LENGTH LONG).show(); else if(result.equalsIgnoreCaserexits")) ToastmakeTert(getApplicationContextO, getResources0.getString(tstring.catmot send more), Toast.LENGTH LONG).show0; else if(result.equalsIgnoreCaserfake")) Toast.makeText(getApplicationContexta getResources0.getString(R.string.catmot_ad4.friend) , Toast.LENGTH LONG).show0; else if(stang.equalsIgnoreCaserdone")) 97 5.1.4. Chfir ming pH you cliu kit bgn Toast.makeText(getApplicationContextO,
getResourcesagetString(Rstring.request sent),
Toast. LENGTH LONG).show0; ) 5.1.5.1. L6y danh sach yea cdu //-------------friend request----------- private class friendrequesttask extends Asyncrask Swing request=";
protected Swing dolnBackground(String... urls) if(cl! =null) if(iaername==null) usenaame=mbundle.getString("user"); if(id==null) id=getid(username); request=getrequest(id); // return request; protected void onPostExecute(String request) ( ifilrequestequalsIgnoreCoserempty")) String() requestlist=requestsplitr ");
for(int i=0;i Intent FriendConfirm = new Intent(MainActivity.this,FriendRequestAciivity.class); Bundle tempBundle = new Bundle();
tempBundk.putStringrfriendid", requestlistpl);
tempBundle.putStringrusername", username);
tempBundle.putStringripserver", ipserver);
FriendConfinn.putExtra("DataButzdle", tempBundle);
startActivity(FriendConfirm); public Swing getrequest(String id) String temp=";
outp.printIn("getrequest "+id);
try ( temp—inp.readLineatrim0: I catch (10Fxception ( // TOW Auto-generated catch block
//e.printStackTraceQ; return temp; ) 5.1.5.2. Dang y kit bon private class AcceptFriendTask extends AsyncTask String result=null;
protected String dolnBackground(String... urls) try ( if(cl!=null) outp.println("accep&iend "+username+" "+Login);
result=inp.readLine0;
outp.println("quit");
outp.closeO;
inp.close0;
cLcloseO; if catch (UniazownHostException ( // TOW Auto-generated catch block
//e.printStackTrace0; ) catch (lOException e) ( // TODO Auto-generated catch block
//e.printStackTrace0; return result; protected void onPostExecute(String r) ( ToastmakeText(getApplicationContext0, r, Toast.LENGTH LONG).show0;
finishQ; 5.1.5.3. Tic chai kit bon private class DeclineFriendTask extends AsyncTask String result=null;
protected String dolnBackground(String... urls) trY( ifrcl! =null) outp.printlnrremovefriend "+username+" "+Login);
result=inp.readLine0;
outp.println("quit");
outp.close0;
inp.close0;
cl.close0; ) catch (UnkrunvnHostException e) ( // TOW Auto-generated catch block
//e.printStackTrace(); I catch (lOException e) ( // TOW Auto-generated catch block
//e.printStackTraceQ; return result; 1
protected void onPostErecute(String r) ToastmakeText(getApplicationContextO, r, Toast.LENGTH LONG).show();
finish 0; Class My Location Listener ''/
public class MyLocationListener implements LocationListener
I
@Override
public void onLocationChanged(Location loc) Mylafing=new Laang(loc.getLatitudeO, loc.getLongitudeQ);
mcurrentloc = new MarkerOptionsO
.position(Mylatlng)
.titk(getResources0.getString(R.string.this_is_your_location))
.snippet("MyLocation")
.anchor(0.5f 0.5fi
.icon(BitmapDescriptorFactoryfromResource(R.drcvable.ic_mylocation));
TempMarker.remove0;
TempMarker=mMap.addMarker(mcurrentloc);
if(start) mMap.animateCamera(CameraUpdateFactorynewlatLngZoom(Mylatlng, 15));
TempMarker.showInfoWindow0;
start=false; (et/Override
public void onProviderDisabled(String provider)
I
ToastmakeText( geapplicationContextO, getResources0.getString(Rstring.gps_disabled) ,
Toast. LENGTH SHORT).show(); 1
@Override
public void onProviderEnabkd(String provider)
I
ToastmakeText( getApplicationContexta getResourcesQ.getString(R.string.gos_enabled),Toast.LENGTH SHORD.show0; 1
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
II
)/* End of Class MyLocationListener 5.1.6. Char ndng Qjnh 4 vj 100 // (cid:9) private String getDirectionsUrl(LatLng origin,LatLng des!( // Origin of route
String str origin = "origin="+origin.latitude+","+origin.longitude; //Destination of route
String str dest = "destination="+destlatitude+7+destiongitude; // Sensor enabled
String sensor = "sensor false"; // Building the parameters to the web service
String parameters = str_origin+"&"+str dest+"&"+sensor+"&mode=walking"; // Output format
String output = "json"; String url = "https://maps.googleapis.com/maps/api/directions/ "+output+"?"+parameters; return url; private String downloadUrl(String strUrl) throws 10Exception( String data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null; ay( URL url = new URL(strUrl); urlConnection = (HttpURLConnection) url.openConnectionO; // Connecting to url
urlConnection.connectQ; // Reading data from url
iStream = ur1Connection.getInputStream0; BufferedReader br = new BufferedReader(new InputStreamReader(iStream)); StringBuffer sb = new StringBufferO; String line = "";
while( ( line = br.readLineQ) != null)( sb.append(line); data = sb.toString0; br.closeO; Icatch(F-xception e)( Log.d("Exception while downloading url", e.toString0); iStream.closeO; 101 urIConnection.disconnect(); return data; // Fetches data from url passed
private class DownloadTask extends AsyncTaslc // Downloading data in non-ui thread
@Override
protected String dolnBackground(String... url) ( // For storing data from web service
String data = ""; try! // Fetching the data from web service
data = downloadUrkur101); Icatch(Exception e)( Log.d("Background Task",e.toString()); return data; // Executes in UI thread, after the execution of dolnBackgroundO @Override
protected void onPostExecute(String result) super.onPostExecute(result); ParserTask parserTask = new ParserTask0; // Invokes the thread for parsing the EON data
parserTask.execute(result); private class ParserTask extends AsyncTask List @Override
protected List JSONObject jObject;
List jObject = new JSONObjectesonData[01);
DirectionsJSONParser parser = new DirectionsJSONParser0;
// Starts parsing data
routes = parser.parseQObject); )catch(Exception e)( e.printStackTraceO; return routes; @Override
protected void onPostEtecute(List ArrayList 102 PolylineOptions lineOptions = null;
//MarkerOptions markerOptions = new MarkerOptionsO;
// Traversing through all the routes
for(int i=0;i points = new ArrayList // Fetching i-th route
List // Fetching all the points in i-th route
for(nt j=0;j HashMap double lot = Double.parseDouble(point.getrlat"));
double lng = Double.parseDouble(pointgetring"));
LatLng position = new Laang(lat, Ing); points.add(position); I
//Adding all the points in the route to LineOptions
lineOptions.addAll(points);
lineOptions.width(5);
lineOptions.color(Color.BLUE); // Drawing polyline in the Google Map for the i-th route
if(RoutingPl!=null) RoutingPLremove0; RoutingPl=mMap.addPolyline(lineOptions); /I
I public class DirectionsJSONParser ( I" Receives a JSONObject and returns a list of lists containing latitude and longitude */
public List List ArrayList JSONArray jRoutes = null;
JSONArray jLegs = null;
JSONArray jSteps = null; tin jRoutes = jObject.getJSONArrayrroutes"); I" Traversing all routes */
for(int i=0;igRoMes.length0;i++){ jLegs = ( (JSONObject)jRoutes.get(i)).getJSONArrayrlegs");
List path = new ArrayList I" Traversing all legs 'I
for(int j=0,1gLegs.lengthaff +){ jSteps = ( (JSONObjecOjLegs.getC)).getJSONArrayrsteps"); 103 /** Traversing all steps *1
for(int k=0;k String polyline = "";
polyline = (String)(0SONObjecOgISONObject)jSteps.get(k)).gerpolyline")).getrpoints); List In Traversing all points */
for(int 1=0;1 HashMap } } routes.add(path); ) catch (JSONException e) ( e.printStackTraceO; )catch (Exception e)( return routes; } //Ham gi6i ma Po44ine
private List List while (Index < len) ( int b, shift = 0, result = 0;
do b = encoded.charAt(index++) - 63;
result 1= (b & OxIfi « shift;
shift += 5; .1 while (b >= 0x20);
int dlat = ((result & I) != 0 ? —(result >> 1) : (result >> I));
lat += dlat; shift = 0;
result = 0;
do b = encoded.charAt(index++) - 63;
result (b & 0x1f) << shift;
shift += 5; ) while (b >= 0x20);
int ding = ((result & I) != 0 ? —(result >> I) : (result >> 1));
Ing += ding; LettLng p = new LatLng((((double) lat / 1E5)), (((double) ing / 1E5))); PolY-add(p); 104 return poly; @Override protected void onCreate(Bundle savedlnstanceState) (
super. onCreate(savedlnstanceState);
setContentView(R.layout edit _layout); ed name = (EditTexhfindViewByld(tided edit name);
ed_phone = (EditText)findViewByld(R.ided editphone);
ed_pass = (EditText)findViewByld(Rid.ed edit _password);
&confirm = alutton)findViewByld(R.idbt _edit _confirm);
bt_chcmgepass = (Button)findViewByld(R.idbt_edit_changepass); bt_confirm.setOnClickListener(new View.OnClickListener() ( @Override
public void onClick(View arg0) // TODO Auto-generated method stub
new EditInfoTaskO.execute(""); ));
bt_changepass.setOnClickListener(new View.OnClickListener0 @Override
public void onClick(View arg0) ( // TODO Auto-generated method stub
Intent ChangePasslnt = new Intent(EditInfo.this, Change Password.class); Bundle mbundle = new Bundle();
mbundle.putString("ipserver", ipserver);
mbundk.putString("ID", User_ID);
ChangePassIntputExtra("ChangePassThmale", mbundle); startActivity(ChangePasslnt);
finish 0; // (cid:9)
Bundle mbundle = new Bundle();
mbundle=getIntenta.getBundleatrarEditInfoBundle");
ipserver=mbundk.getStringripserver");
User_ID=mbundle.getStringrID");
//-
new ServerConnectTaskO.executen; public String getName0 String name=null;
outp.println("getname "+ User ID);
try( name=inp.readLine0; I catch (I0Exception e) { 105 // TODO Auto-generated catch block
//e.printStackTraceO; ) return name; public String getPhoneO String phone=null;
outp.println("getphone "+User_ID); tzY( phone=inp.readline0; ) catch (I0Exception e) // TODO Auto-generated catch block
lleprintStackTrace0; return phone; private class ServerConnectTask extends AsyncTctsk String result=null;
protected String dolnBackground(String... urls) ( try( if(c1==null) cl=new Socket(ipserver,8881);
outp = new PrintWriter(cIgetOutputStreama,true); inp = new BufferedReader(new InputStretanReader(cIgetInputStrecrm0)); ) catch (UnIcnownHostException e) // TODO Auto-generated catch block
//e.primStackTrace0; ) catch (I0Exception e) // TODO Auto-generated catch block
//e.printStackTrace0; return result; protected void onPostErecute(String r) ( new getNameTaska.execute("");
new getPhoneTaska.executer); private class EditInfoTask extends Asyncrask String result=mdl;
protected String dolnBackground(String... uris) if(cl!=null) String tempName=ed name.getTextatoString0;
Stringfi tempNames=tempName.split(" '9;
tempName="";
for(int i=0;i tempNante+=tempNames[i];
if(!=tempNames.length-1)
tempName+=" "; 106 try I outp.printInreditinfo " +User_ID
+" "+tempName
+" "+edphone.getText0 +" "+encryptMD5(ed pass.getTextatoString()));
result=inpreadLine0; ) catch (lOException e) return result; protected void onPostExecute(String r) Toast malceText(getApplicationContextO, r, Toast. LENGTH LONG).show0; private class getNameTask extends AsyncTask protected String dolnBackground(String... urls) (
Name=getName0; return Name; protected void onPostExecute(String r) ( ed name.setText(r); ) private class getPhoneTask extends AsyncTask protected String dolnBackground(String... urls) (
Phone=getPhone0; return Phone; )
protected void onPostExecute(String r) ( ed_phone.setText(r); ) public String encryptMD5(String input) ( t731 MessageDigest and = MessageDigestgetInstancerMD5");
byte[] messageDigest = and digest(inputgetBytes0);
Biglnteger number = new BigInteger(1, messageDigest);
String hashtext = number.toString(16);
while (hashtextlength0 < 32)
hashtext = "0" + hashtext; return hashtext; ) catch (NoSuchAlgorithmException e) (
throw new RuntimeException(e); 107 @Override protected void onCreate(Bundle savedinstanceState) (
super. onCreate(savedlnstanceState);
setContentView(R.layoutchange_password layout); ed oldpass=(EditText) findViewByld(R.id.ed changepass _oldpass);
ed newpass=(EditText) findViewByld(R.id.ed changepass _newpass);
ed newpass2=(EditText) findViewByld(Rid.ed changepass _confirmpass);
btsubmit=(Button)findViewByld(R.icat_changepass_submit); bt_submitsetOnClickListener(new View. OnClickListenerQ ( @Override
public void onClick(View arg0) // TODO Auto-generated method stub if(ed newpass.getTextatoString0.equals(ed newpass2.getTextO.toStringO)) new ChangePassTask0.executer,; else Toast.makeText(getApplicationContext0, "New password is
not the same!", Toast.LENGTH LONG).show0; D;
Bundle mbundle = new BundleO;
mbundle=getIntentagetBwidleErirarChangePassBundle");
ipserver=mbundle.getString("ipserver");
User ID=mbundle.getStringrID"); private class ChangePassTask extends AsyncTask String result=nulk
protected Swing dolnBackground(String... urls) ( fry if(cl==null) cl=new Socket(ipserver,8881);
outp = new PrintWriter(cIgetOutputStream0,trate); inp = new BufferedReader(new InputStreamReader(dgetInputStream0)); ) catch (UnknownHostException e) // TODO Auto-generated catch block
//e.printStackTrace0; ) catch (I0Exception e) ( // TODO Auto-generated catch block
//e.printStackTrace0; if(cl!=null) Swing oldpass=ed oldpass.getText0.toString0;
String newpass=ed newpass.getText0.toString0; try outp.println("claangepass "
+User_ID
+" "+encryptMDS(oldpass) 5.1.9. Chtir ndng thay dal nt& khan +" "+enctyptMD5(newpass)); result=inp.readLineQ;
outp.printlnrquit);
outp.closeO;
inp.closeO;
cl.close0;
cl=null; I catch (I0Exception e) return result; protected void onPostErecute(String r) ToastinakeTexi(getApplicationContertO, r, Toast.LENGTH LONG).showQ; I 109 TM LItU TRAM KHAO [1] Trucmg Thi Ngic Phuong, Ltip trinh Android, NM xuat ban thai dai, 2012
[2] Ed Burnette, Hello Android, The Pragmatic Programmers, 2013
[3] Wei-meng Lee, Beginning Android Tablet Appication Development, Wrox, 2012
[4] Lauren Darcey va Shane Conder, Android application Development, Sams, 2013 [5] Barry Burd, Android application Development For Dummies, 2012 110private GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager0.findFragmentByld(R.idmap)).gelMaPO;
mMap.addMarker(new MarkerOptionsO
.position(new LatLng(0, 0))
.title("Xin chao"));
3.3.2.2. My biin Marker
awl wet .
wir
yi.2:1:
• ,
aph
)1
'isir aft
Hank 3-12: Injowindow My Min
link 4-1: Mein kink Mil d#ng
4.3. Cac chin Sing chinh
*OM (cid:9)
les Obi milk
Goode Sentes
Tie Sorg des tit barn
Ix ate yam kd bum Clips= ket
So as 4-1: Se di Use - case
31
4.3.1. Char fling ding 10 td1 khoan
DO phirc typ: 2
DANG Kt TAI KHOAN
UC #0001
Chinh Ngutri sir dyng
Tic
nhin
Phy
Tien dau kien
Thinh
cling
Zuu
sor d6 Wang cling vies
So Clb tuba' corgi vitt Chic Ming dAng 49 01 khan
a Co sfr clO' Mu
ThIgt bI Android
&gal Wang
DWI vu dta
Goof*
( 7 )
as Slc SI
AN kf!
Hilles Si m irth
I
Ma dem twang
/4
Tli• rain& Sr 1,0
vki as MAIM
0
jj—U
Mr
Mina No
/
/ dimt:"
/ (cid:9)
was Se
%UMW
Mem al laelsona
vs tea OP No
al (cid:9) /
i
IdSILD
SO a 4-2: Ding ky thi Main
Scr el trial by
IMihnil
I-0 0 0 (cid:9)
I-0 (cid:9)
BINglietti
; Cada
2 tHilmborr kith thp 1.03
1-ri
Map dog ft dip
7: al kis a Iiihrip tvO
8:ftlivavilthaisionto()
111 &admire] ki
12 Et* The bk. irafj
11,1 : Thong ike
IS ;To raisin < (cid:9)
14 : Tn re istqa
di Iowa()
So, di 4-3: Tank ty &beg kfi tit kkolue
33
Miran phip thyc hi4n
Ngutri sir dung
Ngutri ding se tien hinh nh#p cic thong tin sau:
- Ten ding nhop
- Mkit khau
- (cid:9) Ten atilt
- (cid:9) SO Bien thoii
Sau khi dies day di cic th8ng tin, ngtreri ding se ham vio nut "Ding 14" hok "Register".
Neu ding 1E9 thinh cong, chuong trinh se ter ye min hinh ding nh.ap. Neu clang 4 kitting
thinh cong, chuong trinh se hien th8ng bio vi ngu&i ding se nh#p thong tin tii khotin khic.
Neu mu6n dimg viec ding k9 vi trer ye man hinh tiling nhep, ngutri dung se barn vio nit
"Hiy" hoc "Cancel"
Chuang Sob xir If
Sau khi wen dung nh#p day dit thong tin vi barn nit (king k9, chuang trinh se lim nhang
cong viec sau:
- (cid:9) Lay ra cic gii tri ngutri dung dl rth#p vio
- MI his m#t khau bang him barn m6t chieu MD5
- (cid:9) Ding gii thinh ding:
register
- (cid:9) Gil ding lenh dl duce ding gii 6 tren den server
- NIS kit qui tri ve tit server
- (cid:9) Thuc hien phin hei cho nguii dung
Tnremg hop clang k9 thinh cong, chuang trinh se hien thong bio "Deng Ic9 thanh ding" dung
theri chuyen den min hinh long nh3p. Neu server trit Iii li thing nh#p khing thanh cong,
chuang birth se hien thong bio cho ngutri ding vi yeu eau nguiyi dung nh#p 10 thong tin.
Server
Sau khi nh$n duce yeu au tang k9 to client, server se tien hinh cac cong viec sau:
- (cid:9) Phan tich yeu au to client vi lay ra the gii tri:
- (cid:9) Kam tra xem ten thing nh#p &I din titi hay chtra. Neu ten ding nhtlp di tan cal till tra
34
ye cho client ket qui ding ky that bai
- Neu ten dang nh#p chua ten tai, Server nen hanh them man ban ghi vao co ser dli lieu.
Cac bang sau se dtrqc cap nhot:
o (cid:9) Login: Ten clang nhalp cua ngubi dung
o Pass: Mat khau dim nhap
o Name: Ten that dm ngubi dung
o (cid:9) Phone: SO dien thotti cita ngutri dung
o (cid:9) Status: Trang thai ding nhap, mac dinh lit 0
(cid:9) Sau khi them ban ghi thrinh c8ng, server tien berth Ira ket qui thong bio viec ding kj,
-
thanh c8ng cho client.
Oic yen an d$c bift Ichic
Thiet bi can duce ket nal mpg de tien hinh giao flip vet Server
Giso difn mini' boa
fiur1(1 hi
Ten dang nh#p
M#t khiu
Ten day &
56 dien thoai
1r lr (cid:9)
Hind 4-2: Ddng # Ili Moan Mai
35
4.3.2. Chits Wing ddng nhap
Del phut tap: 1
HANG NH.411
UC #0002
M0 ti
Chic 'tang nay cho phi!) ngueri ding nhop ten tai khoan va mat khau de
truy cap vao h0 thong. Neu ngu&i ding chua ci Si khan thi can ding kt
tai khoin. Chit fling ding ky se duqc de cap 6 phin sau. Ngtreri ding can
phai ding WM meri c6 the sir ding sac chic ;tang khac cia chuong trinh.
Chfnh Ngueri sir clang
Tic
nhin
Thy
KhOng do
Ngueri sir dung can t co tai ;Moan de ding nh#p
Tien dieu Idea
Ngueri ding truy cap duqc vao giao dien chinh dm chtrtmg trinh
Thinh
cling
Hill
diets
Min
Nguari dung Icheng troy clip duqc vao he thong, trang thai tai Idtoan ngueri
dung idling thay del.
So' 66 luong song viec
so 66 tubas cans !MK: Chat alto ding nhaLl
3 Co at sICP OW
Tait W Android
Dich vy cSa
Gaffe
—el.
OM *Ms dwn
nth
00111•060
A b us MS
ca..-Men
••••
0
So die Se SS alt
ar
Se
d.at
/
ii_o/ (cid:9)
Cl••••• on So
/
T.4"..7•
I
-1°1 dionames dim
c- .wax )
Se Si 4-4: Haag nkfp
36
Phtro'ng phip thyr hien
Ngirivi sir dying
Chuang trinh se hien giao dien de nguai clUng nhep tai Ithoin va met khan. Sau khi hoin
thinh thao tic nay, ngueri dung se barn vac) nut "Ding nhep" ho#c "Login". Lac nay ngueri
dung chi can cho chucmg frith phin hOi lai. Neu ding nhep Minh clang, chucmg trinh se cho
phip ngued dung sir dung cac chirc nang tiep theo cita he thOng.
Chuang trinh xir It
Sau khi ngu&i dung nhep th8ng tin can thiet vi bign nut thing nhep, chucmg trill!' se thuc hien
cfic cong viec sau:
- (cid:9) Lay ra gia trj ten ding nhep va met !chin cita ngueri dung
- Ma hea met khau bang hiun ham MD5
- Deng gai ten ding nhep va met khau thanh dung:
login
thii clang lenh 6 tren den server
- (cid:9)
- (cid:9) Cho dqi server phin hOi va tra ket qua ve cho ngueri dung. Neu ding nhep that boi
chtrang trinh se hien MI th8ng bio kim theo 161 guly ra. Neu ding nhep thinh cling
chucmg trinh se chuyen den chirc nang deep theo.
Server
Server se ling nghe yeu au tir phia client. Yeu au ding nhep S phia client se co dinh dung:
login
Sau khi nhen dien duqc mesh lenh ding nh#p ciut client, server se thuc hien c8ng viec sau:
- (cid:9) Kiem tra ten ding nhep: server se tien hinh truy cep vao ca set dfir lieu va tim xem ten
ding rthep ngueri dung da nhep vio c6 !chop vii di khoin nao hay Idthng. Neu !thong
tan tai ten ding nhep thi server se thong boa cho client la ding nh cip killing thanh Gang.
- (cid:9) Sau tim duct usemame kherp vii ten ding nhep ngueri dung da nhep vio, server se
tier hanh lay ra met 'Mau dm tai Ithoin do. Luu jr met khgiu ma client giri den server
kh6ng phiti la met khan ma ngueri thing nhep viva. DO la met khau da duqc ma heut
bang ham barn mOt chieu. Chinh vi the met khau cita cac tai khoin duqc km tren ca
so clh lieu chinh IA ma barn dm met khau thet. VI Vey chinh nguen quan trj he thOng
cling !thong biet duqc met khau dm ngueri dimg. Sau khi lay ra met khau S ca so der
lieu, chucmg trinh server se e'en hint' so sinh vii met khan da nhen to client. Neu
van khop nhau thi se tra ve ket qua ding nhep Minh cong, ngtrqc loi se tra ve ket
qui ding nhep thit bal.
Cic yin an d$c bit khic
Ur phien bin Android 4.0.4 tret di, phan ket nei Socket can pith d#t vio trong Asyntask meri c6 the
choy &me. Neu thong chuong Atilt se bi Force close.
37
Giao On minh hos
Binh 4-3: Man kink ding nkQp
38
4.3.3. Chat nang xem ban da
XEM BAN DO
DO phirc tip: 1
UC #0003
M8 ti
Chinh Ngwei sir dung
Phy
Tic
nhan
Tan diiu Idin
Thinh
(tug
I dit
kien
Lei
Se do iubng ding viiic
Soda lubng ding viec:Chin ring lib dil bin db
64girbi dung O1hiit bl Android
pith " did
600gle
11411tiviilt
Luau y—otrytagribins —40
ode
Otla /
Ilsotkidbinta 4--- tnt
lit
CIPINthimlb
Se di 4-5: Xent bet di
39
Phining phip thnc hien
Ngudi so' dyng
Sau khi clang nhap thinh c8ng, chtrang trinh se hien thj ban di: cho ngueri dung. Ngteri dung
c6 the tien hinh the than tic tren ban da nhu:
- (cid:9) Chuyen vj tri ban di: Ngu6i dung c6 the Iceo tha tai vj tri bat kit tren bin es de di
chuyen bin 8
- Thu phang: Ngtr6i dung se dung hai ng6n tay chain vio bin dO. De pheng to ban di
ngubi dung can dua hai ng6n tay ra xa nhau vi nguqc loi de thu nho ban M. Ngoiti ra
nguti dung cling c6 the sir dung nut +1- de thu pheng ban 8
- Xoay biut db: NguM dung c6 the xoay bin (18 bang cich xoay 2 ngan thy tren bon M.
Khi da bleu tuqng la ban se duqc hien len 6 phia tren ben trait cita man hinh, giup
ngutri dimg xac djnh duqc phtrcmg hue:mg.
Chuang trinh of if
Chtrcmg trinh c6 nhiem vu hien Si ban da cho ngutti dimg. Cac Sao tic ca ban el:a ngdri
dimg tren bin dO se sir dung mac dinh dm APL Cac thao tic yea vj tri bon be se duqc de' cap 6
phan sau. Ban 8 se duqc nop S djch vu do Google cung cap. Da lieu ban dO c6 the duqc
Google thay dOi ma khong bito veri ngueri sir dung.
Day se la giao dien chinh cent bin dO, not hien thj cic SAM plan chinh vi la nai de thuc hien
cac chirc fling khic.
Server
Chirc nang nay kheing yeu cau gi S phia server, toy nhien khi vio den man hinh nay client-
server se din hinh ket not vii nhau trong mot tien trinh ngam, sin sang cho the hoot dung
tiep theo
Cie yeu au d$c biet kink
Thiet bj can ph& cAft ket n6i mpg
40
Gino din minh hqa
%to a
uy
_tun
a
a
, (cid:9)
,bosic (cid:9)
temlown
!fink 4-4: Min fig bin di
41
lit
kifn
So• a6 luAng cong vitc
liudulainthl
vitisira
Sole 4-6: Xent 4 tri ctia fidnk
So* do trinh ty
Vi tri novo' dung A9611.59thal
SiMarki
ktelnIzaid (cid:9)
: Nauoi au dung
: lien el ban doff
2: Xem ban do()
3:Yeuay dihviff
4: Tra ve 1 ier toa do
«aeate»
S : Tao ryas')
6 Danh dau tri ten bin do()
7: Chon chuc rang him ti vi tO0
cril
Yea cau Nen thhi tiQ
ltusy dui vi In ban do°
9
Sold 4- 7: Dinh ty Xem vJ trf minh
43
Phut:mg phip thyc hien
Nguiri air dyng
Ngued dung chi can barn vao nut "Vi tri cith tai" hoic "My location" de thyc hien chic rang
Chuang trinh lir it
Try& het di sir dung duce chic nang nay, chuong trinh can phai ley dtrqc vi tri hien thed ctia
thiet bi. Cemg viec nay se duqc thic hien ngiun ngay khi ban de duqc hien thi.
Nitu vey, thvc chit di chic tang fay c6 thi hokt Ong dint thi an pluii c6 met chic
[tang quan trung kink d6 hl chic Ming d6 tim vj tri. Tuy nhien chic nAng nay khOng yen
au ngubi ding time hien thao tic nito cal, vi vey chic nAng de tim vi tri se dive m8 ti
tai defy.
De thiet bi c6 the lay dtrqc tqa di) vi tri hien tai cult mlnh, thiet bi an phai duqc bit GPS hoc
mang di dOng 3G/Wifi. Tuang ing vai de car% c6 hai tech de ley dtrqc ma deo hien tai dm
Server
Chic nang nay khang yau cau gi ti server. Tuy nhien tqa du ngubi dung se duqc cip nhit len
server a chic Ming tiep theo
Cic yen cin d4c Met Mk
De sir dung chic Ming nay ngubi dung can phai bit GPS hoic mang 3G/wifi de thiet bi tien
hanh d6 tim vi tri
Giao difn minh hqa
Rink 4 -5: Dinh 4 vd kiln thi 4 tri ngwt3l ding
45
4.3.5. Cher ndng xem vj tri bon be
XEM Ng TRi BAN BE
DO phirc tgp: 1
UC #0005
Chile nAng nay duqc thyc hiAn mdt each tq ddng, khong can ngueri sir
dung tfic ding van chtrcmg trinh. Chuang trinh se ty ddng tai danh such
ban be ciut ngubi dung ve tir phis Server vet hien thj drinh dAu tren ban dO.
M8 ti
Ngueri dung co the ttrcmg tac veri ben be Wye tiep to nhOng vi tri da ducrc
dab dAu.
Chinh Ngtred sir ding
Tic
nhAn
!Chong co
Pity
Ngtred sir dyng can dAng ninip de sir ding chirc nAng nay
Tien dieu Men
Vj tri ban be duqc hien thj tren bin di
Hp
dieu
kitn
Vj tri ban be khong duce hien thi tren bin dO
Thinh
thng
Lai
46
Set do bang ceng viec
Sc db lubng Ong vlec: Chin fling hien thi vi trl ben be
Dic (cid:9)
CO sit der lieu
Server
Ngulli thing (cid:9)
°a Thigt bi Android
6 (cid:9)
h vy th
e
Googie
lat dliu
•
IS try bin et
TA, nhin rib yis If
TO do
Chl *du lip
dm* 'Mitts bi
•
ay dap* WI bin
Sal Sidi/ Iglu
NIS anis Mich bin
Wane,
(
0
_ Cid St 0.• vt
Own
/
GOI yke du ay a*
Tip nhis va a If
)4u chi
val &Mato a Ow
loampiv.
--4----
My dog No Non tit
as
i
tinTheab:In
/
4
/
MS dolor an
win ant
Td It a4 do
Oiest
e
Tip dirt au NM
Main WA
4
C most )
Sold 4-8: Xon ;Or( blue bl
47
3: Yeu au by pat et tank )1
4: Lay ilst S. ban
5 doh S.
l
dot edits
:Tra ye drh nth ben
tE (cid:9)
8 :Iv, dot nth be
9
ve at swain be
Phiroug phip thyc MO
Nguiri sir dyng
Chung Irish xir It
Server
thong tin sau:
3 LastUpdate: Thai gian gait nhat ma tqa dg dm ngtreri clang dtrqc cop nhat.
Sau khi lay ra cac th8ng tin tren, Server se dtra ve clang sau truem khi tra ve ket qua cho client:
Clic yeu au d$c biet kink
Thiet bi can co ket nei mong
Giao difn mink hoa
I
Them ban
audio (cid:9) Din tz;
WM 011
i
it
TRUNG
I
n (cid:9)
VINOIDEV eke (cid:9)
_
12. It 21.23.
2S. MASI (cid:9)
•
le
al
Mink 4-6: Xem vi Di bnn bi
50
4.3.6. Cher nang clip Milt vJ trl
CiNP NHia VI TRi
Da phire top: 2
UC #0006
Ma ta
Day la clang viec chuong trinh dux hien mat cach tkr clang, khong yeu au
thao tac nao to phia nguiri dung. Chtic ang nay a ithiern vu Op nal tqa
des dm nortri dung voi server. Toa da nay se duqc sir dung de hien till vi
tri yeti ban be.
!Chang a
!thong co
ChInh
phy
Tic
nhAn
Tien diiu kien
Tashr
dHit
Nguoi sir dong an ding nap vao chtrcmg trinh
. V1 tri ngutri dung duqc ap nat den Server
Vi tri ngtrai dung khong duqc ap nh#t den Server
kien
Iii
sor a bong Ong viec
So ela hibng dmg vitc: auk anti cop nhit vl td
Server
otigulA dung
Dich Ai dm
Goa&
at
eel Ma A
Oa Sachem;
is*
• 41•••••kti (cid:9)
than
t
ant
awl,'
fitness
7/ obi
arts tonged (cid:9)
hellion all
•
I'
*Avis
• bi
I
TM'S; a qui
whib Ord
—
In
100,
P•Mbil•Ads
Saw
litIkk
Sea 4-7: CO dr( 1 1 vj trl
51
Phircmg phip thvc hien
Nguiri sir dung
Day li mOt cong vies to dOng thyc hien khong an thao tic ctia ngueri dung.
Chuffing trinh xir I
C8ng vies nay yeu au oh vi thin ket qui tir server cho nen can phai clOt trong Asyntask.
Cac cong viec chucmg trirth can thyc hien:
- (cid:9) Sau khi lay duqc vi tri dm thiet bj, tqa do curt thiet bi se duqc Itru lai
- (cid:9) Dua tqa dO vio ciu lenh:
updateloc
Trong do latitude vi longitude la hai gia tri dai dien cho tqa dO thiet bj ctia ngueri dimg.
- (cid:9) Cid you eau tren den server
- (cid:9) Nha'n ket qui tri ve tir server
Server
Server sau khi nhan duqc yeu ciu tar nguCri dung se tien birth cop nhat vio co so der lieu. Tqa
do am ngtrad dung se duqc ghi vim co sec dii lieu de phyc vu cho cic chirc ning !chic. Sau do
server se tra ve ket qua cho client timing bsio viec tip nhot tqa des thenh cong hay that bai.
Cie yell au dee biet khic
Thi6t In can c6 kat n6i mang
Gino then minh Ms
52
4.3.7. Char ndng gal yeu cau kit ben
Tic
ankh Ngutri sir clung
Thy
nhin
Minh
Sing
Iii
Hu
di u
Idfn
Saab 'Ong Ong vi.c: Chat Mug seri lieu au kit ben
cua
Dich (cid:9)
Server
a Thigt DI Android
Sgutti dims
Al
Goggle
Bit au
(
Ian dain diS
NI4p tin bin va
bigrn ntit Itara
W
Mr/P In
Tin* va wit II
yiu du thIm bon
(
/
at W
bin W
t auk*
o MIL
Mau
hit Ina
----4--
/WA
1 /
Ca loft oil a cho
deft
,swarm
phianst
4
..1]
Win 61 thane*
do TA erg
Pad*
Sc &i 4-10: Girt yin cdu kit ben
54
Phtrong phip thyc hitt'
Ngueri sir chum
Tren giao dien chink dm chuang trinh, nored dung se nh#p "ten clang nh3p" cim tai khoin ban
be mien them, sau 46 bam nut "Them" hoc "Add". Khi ngtreti dung nh#p ten ban, chuang
trinh se hien till gqi 9 ket bon, ngtred dung c6 the chop ngay S danh sach gqi 9 new Being nher
ten tai khoin dm ban minh. Chuang trinh se phin he' cho ngtrai dimg viec them ban la thinh
cling hay that bai. Neu them ban thanh cling, ngueri ban Wang (mg se nhO'n duce yeu au ket
Clurcrag trinh Kir It
Sau khi ngueri dimg bam nut "Add" hoc "Them bon", chuang trinh se thyt hien xi: 19 !Meng
cling viec sau:
Addfriend
Server
Sau khi nhOn duqc yeu au them ban S phia client, server se tien hanh cac cling viec sau:
CM yiu au qe biet khIc
Till& 1,1 can phai ci kit nal mang
Giao digs minh boa
HIS 4-7: Gni gu au kit bon
Rink 4-8: Meng Might thim yin au
4.3.8. Char nag xdc night yiu au kit ben
Di) phut tap: 1
UC #0008
Mo tai
Chinh Ngtrei sir dung
Khong ce
Phy
Tic
nhan
Tien diau Icifn
Thhnh
ding
H u
di u
Lie
kifn
Sc ct lubng cans vier Chat ring xac nhan yiu au ket ban
Ca sir dai lieu
Server
Mitt bi Android
Ngvad dung
Dich vu dm
Google
sin 111 bin /lb
Na then vi 4irlf
*Su
Girl viu du Wayyto
do ka blia
•
41
Illk dards sr y1u
doa
Liy dank sichykt
clu Sibs% &costs
&Hu
Gia1kItcpsite
an
4
Dinh
141
Om
du
0111 1•J131
11 Inn
flip nblo ve24)0
Wu clo
i
Gal thong tin I/1c
Sado Sow e
Girl* trans thil (cid:9)
lilt bin
Tr
thil bk
11•1
UPS.
land
kit *dr
(1)
taw
-) XS ifhp dm IS bin --V *NM /
dna&
Se di 4-11: X& nh(in yin can kit bpn
Phtning phip thyc hien
Ngirtri sir dyng
Khi c6 met yeu dm ket ban, chuang trinh se hien thi th8ng tin chi tiet coa ngueri ban mutin ket
bp, ngueri dung sau khi xem th8ng tin nay co the In chien ding 9 hoec fir chin yeu ciu ket
ban di. Neu ngueri dung chp fir chi:Si, yeu eau ket bp di se duqc tool b6 va thong hien thi 10
khi ngueri dung ding nhep lei. Neu ngueri dung ding 9, danh sich ban be se duqc cep !diet loi
va vi tri cua ban tucmg ling se duce hien thi tren bin di.
Chuang trinh xii If
Chit ning nay se dtrqc chtrang trinh bit du lir ding. Sau khi ngtreri dung clang nhop, chuong
trinh se yeu eau server tra ye danh sach the yeu eau ket bp dui ngtreri sir ding:
Getrequest
Sau khi nhen duqc danh sich the yeu ciu ket ban hi server, Wang img iced null yeu ciu
chuong trinh se hien met man hinh hien thi thong tin chi tiet cis ngueri bp tucmg ring, bao
pm:
- (cid:9) Ten tai khoin
- Ten day di
- (cid:9) Si dien thogi
Ngtreri dimg sau khi xem th8ng tin nay se hra chqn thing 9 hose fir eh& you eau ket ben.
Trong truing hqp ngtrii dung ding 9, chuong trinh se girl thong bio den server a xic Mon
viec them bon:
Accepffriend
Sau di, trong lin nap loi danh sich ban be, vi tri bp be vita du% them se hien thi tren ban 6.
Trong truing hqp ngueri dung ti chii yeu eau ket bp, chuong trinh se girl thong bio tit choi
den server. Viec nay cling tucmg ring yen viec xia met bon be khoi danh sich.
Sau khi ngtrii dung Itra chqn xic nhen hoec ding 9, man hinh xic nhen yeu ciu se ding 10 vi
tri ve giao alien bin 46 dm chuong trinh.
Server
Sau khi nhen duqc yeu ciu hi ve danh rich yeu au ket bp caa met ngueri dung, server se
tiers hanh truy xuAt ca ser de' lieu vi tri ve ket qui cho Client. Trong truing hqp khong co yeu
eau ket bp nio, server se tri ve ket qui li "empty".
Neu ngueri climg ding 9 yeu ciu ket bp, server se tien birth cep Met car serdi lieu.
Neu ngueri &mg tir chii yeu ciu ket ban, server se tiers hanh xia bin ghi khii ca ser der lieu.
Viec nay cling pin giOng nhu 114 ket ban.
Csie yin an *bift Ithic
Thitt IA can co ket mai mpg
59
Giao Bien minh hos
0947493260
TM khoin: test6
Ten: Phnm Tula T
then Movie:
HMIs 4-9: Mk nhan ylu du kit bon
DO phis typ: 3
Tic
nhin
Chlnh Ngtrai sir citing
Thy
Tien die', kijn
HOn
(lieu
kiln
Chuang trinh kh8ng hien thi throng di den vi tri ban Luang Ong
Thinh
cOng
iii
Sa a luting cang viec
a Co sit dr/ libu
oNgo&I thing
ti 'Ma bi Android
So db Iubng am viec: thine ning dm dubng dfn vi of ban
Did vy co
Go of& a
Sib tit bin dti
Own bon bib main
tor th••trag
t
Gin Au du din
Tiling* vi a I#
Aga.
Min MY qa Mt
Gorda Siva
CS shit bin db
Se di 4-10: l'im &rang di din vi Inc bon
61
Phtrang phip thisc hien
Ngatri sir dyng
Tren ban da, ngueri dung chi an bam vao met vj tri ban be bat ki di duqc hien thi va dqi
trong giay lat. Chuang trinh se tien hanh zit 15, va tim throng di den vi tri ngueri ban tuang
img. Trong met dt6i diem chi c6 met dui:Mg di duqc hien thi. Neu nguiri dung him vao met
ngueri ban khk, dtremg di cu se duqc x6a di va dutmg di den vj tri ban mai se duqc hien fill.
Chuang trinh xi ly
Chirc ning nay sir dung Direction API ctia Google de thtrc hien tim dyeing di giffa hai diem.
Diem bit diu la vj tri ctia niorai dung, diem ket th6c la vi tri cirri ban be. Khi ngueri dung btun
vao met marker dpi dien cho met ngueri ban, chuang trinh se tien halt thu thop tqa do ciut
ngtroi dung vi dm ngueri ban vira dtrqc brim vao, sau de girl yeu eau den Direction API ciut
Google. Yeu cau nay can c6 ket not mpg va ch do tie, chinh vi the can phii dat trong
Asyntask de Minh lam treo ding nhu ForceClose img dong. Sau IN nhk duqc ket qua tra ve,
chucmg trinh se tien luinh hien till duimg di ten ban d6.
Khi ngueri clang bam vao met marker dal dien cho met ngueri ban khk, dtremg di cii se duqc
x6a di va clueing di mai se duqc hien len.
Server
Cate yea au dee biet khie
Thiet bj can co ket not mpg
Gino diem minh him
I" ThIPTY (cid:9)
Sr
•
Irettsta+10i (cid:9)
.,.
Y torr3 I , Ilacts t
4.4a
OM
TIrehltsittNis (cid:9)
Ore (cid:9)
"
ISO ,
I (cid:9)
.
SIN
Binh 4-10: 79nn &Meg dl din vj trf hut
4.3.10. Chose ming xem thong tin km
£14 phfre tap: 2
XEM THONG TIN BO
UC #00010
Srr d6 tang cong vi%c
So S luting tong Sr: ChCrc MN{ gem thong tin bon
3 Co 0 dtt lido
Server
rd el Android
Nguti citing
ilich vy as
Goggle
)
W®"
( (cid:9)
MP ohist vh re
It Wm es
Mon bps bit mas
own
KS Ai bin a Ar
0
116 nit ye ..)0#
Nu du
G,4 Ow the Ify
See is
—4
AZT
mar ts
I
•
Lie Mao IM tir co
vino Nu
guru Seig an Of
tenor vb Geode
UMW
Is
bb
CA Mara.
MS
Nan IN la ma dos
meanie
11,
( la *Sr )
Sc di 4-11: Xem thing de bgn
Phircrng phip time hi§n
Ngtrei sir dyng
De sir dung chic nang nay, nguii dung chi can thvc hien nhing thao tic don gian sau day:
- Barn chqn ban be di duqc danh dau tren ban da
- (cid:9) MOt cira so thing tin Infowindow tucmg (mg se duqc hien len
- (cid:9) Bilm chqn vao cira so InfoWindow di, man hinh chi tiet ban be se duqc hi'en len.
- (cid:9) Khi muffin quay Iai ban di, nguai citing chi can barn nut "Back" cim thiet bi
Chuang trinh xir It
Chirc nAng nay yeu au ngueri lap trinh phai ling nghe vi xir ly sv kien barn vao InfoWindow
cita marker. Khi Info Window duqc barn vao, chuang trinh se tien hanh thu thip thing tin cim
marker di va truyen den man hinh hien thi chi tiet. Thong tin chi tiet dm ban be se duqc tai ve
tic Server, rieng thong tin ye dia chi caa ban se duqc lay ye ter dich vv dm Google.
Server
Server ci nhiem vv ling nghe yeu cau tir phis Client. Sau khi nhan duqc yeu au lay thing
tin, Server se tien hinh truy xat co sir de lieu va tra ve ket qua tucmg Cmg cho phia Client.
Cie yeu au d$c hip khic
Thiet bi can co ket not mpg
64
Giao din Sub boa
dhthanglong
Dai hoc Thing Long
137 Nguyen Xign Dai Ki
Mai Ha NOi
201311-14
Binh 4-11: Xem thong tin bpn
4.3.11. Chic tang giao (cid:9)
DO pink top: 1
CIAO TIEP VOI BAN
UC #00011
Me ti
Chinh Ngtroi sir dung
ne
'Wong co
Mg
nhan
Tan diiu kiln
ang
di nl
kifn
Iii
So' do iubng cong vies
Su do Wing Ong At: ChOc rang eau tigp vol ben
Server
mittIA Android
Spin dOng
Dich Ai dm
Goo*
thth
t
mth OW S
overflow:a
bpi man Ono Sp
4.1
Haifa thlthtevin
ctil Sawn won
Ung
J
LI
ton hinhthtkpo
tallugain
dart—I, Miallair loi F
Sc di 4-12: Gab dip v41 bpn
66
Phtrung phip thvc hi4n
Nguiri sir dung
Chile nang nay Ich8ng nim a giao dien chinh ctia chtrang trinh. De sir dung chirc nang nay
ngtreri dimg can sir dung chile ning xem thong tin ban be. Tai day, chucmg trinh se hien thj
cac nut chirc ning de nguiri dung sir dung.
De dive hien nhin tin, nguai dung chi can brim vao nut "Send SMS" hoc"Nhin tin". Luu 9
la thiet bj android co the dtrqc ell them cac chucmg trinh nhin tin khac nhau. Vi Vay sau IN
&am nut gun tin nhin, 4 thong c6 the hien till them met cira se de nguiri 'Jiang Iva ch9n trinh
nhin tin. Ngueri dung chi can him chon trinh thin tin minh mu& sir dung. Khi de trinh nhin
tin se hien len veri so dien thoai ban be da duce dien sin, sung veri met vli clang tin nhin m#c
djnh. Ngueri dung c6 the thay dei nOi dung tin nhin ve giri di bet cu litc nao.
De thvc hien gQi dien thotti, ngveri dung chi can him vim nut "Call" hok "ail dien". He
thong se ngay Iftp tut thvc hien cutjc gyi den so dien thoai ban be da km.
Chuang trInh th If
Khi ngtrei dimg brim ch9n chirc ding gui tin nhin, chtrang trinh se thtrc hien nhi'mg ding viec
sau:
- (cid:9) Thu thip thong tin ye ten nguai dimg, ten ban be, se dien thoai cim ban
- Thvc hien truyen vao Intent de gQi den chtic am giri sms
Chit 9 ring chirc ding nay Ichting yeu cau quyen giri sms dm he thong. Berl vi day !thong phai
la tinh ning girl sms met cach to deng ma chi g9i den trinh giri tin thin dui 4 titling veri se
dien di* ngtrai nhkin &gm dien sin. Chinh vi the ngtreri dung co the gai tin thin cho ban be
met cach chi, deng, khong bj go be ve nig dung tin thin. Deng thin ngtrai dung ding c6 the
dung tinh riling nay thay cho viec mer danh bit tim ten ban be de thin tin. Viec cho phip ngubi
dung c6 the sira del MN dung tin thin glop ngueti dimg cam they yen tam han, vi h9 co the
kiem soat ducrc nhang gi sip giri di, cling nhu kiem soat dugc khan tien minh se phai tra cho
tin thin deo.
KW ngtroi dung him vao nut pi digs, die dog viec tuong to cfmg dugs thvc hien.
Server
Chirc ning nay 'cling yeu ciu kat not din server.
Cie yeu au ilk hilt khic
Thiet bi can c6 img clung pi dien, thin tin
67
Giao din minh hga
Rink 4-12: Ciao dip vet bon
68
4.3.12. Cher tang My kit km
DO phfrc tap: 2
1115Y KET BAN
UC #00012
M8 hi
Chirc rang nay cho phep ngued dung ce the loaf be ngued ban khan
mong mutm khed danh sich ban be. Sau khi ban be dugc Ioai be khei danh
sash, khi ban da dugc nap Iai Id tri ban be tree ban de se bien mat va
khOng the sir dung cac tinh nang giao tiep khac.
Chinh Ngtred sir dung
Tic
nhfin
Kh8ng ce
Phg
Ngued sir dung can ding ninlp vao chuong trinh
Tiin diet' ben
Yeu au ket ban dugc xea be
Thinh
cling
H#u
dau
Yeu cAti ket ban khong bj xea be
Iii
Min
St d6 luang cong vilc
Saab Wog tangy*: Chat ning hey kit ban
an sb drt Ilau
Server
Mitt N Android
*au
Sin dm tigingtin
1
chi tat alb 1 ma
Lon chon 'Wm kgt
bre
bin
V
Much
biAV
Tip tan vb pelt
Van aubwiblibin
Gisi bin du tIfn
Sow
Mt tqn
Open* cloth aid.
bine
HS thislang Se
es %al tip
..„ '
Dane
Gin biltsicho
OEM
n14101
ace
bin
C Killbk
So a 4-13: Hirt' kit kin
69
?hung phIp thvc hi§u
Chuang trInh xir If
Khi ngueri dung barn nut hay ket ban, chuang trinh se tien hanh cac cong viec:
Server
3 Chu 5, rang khi A II ban caa B thi B cling la ban cua A. Nhtmg to khong biet
truck duce tong CSDL se duce luu IA "A la ban B" hay "B la ban A", chinh vi
valy khi x6a ban can phaii xir ly a hai twang hop tren.
- (cid:9) Sau khi x6a ban ghi, Server se tra ve ket qua cho client
Cie yen au dlc biet ale
70
Giao diva minh hos
dhthanglong
Dai hoc Thing Long
137 Nguyen Xiin Doi Ki
Mai His NQi
2013-1114
Mink 4-13: Hay kit bgn Oak bgn)
71
Hl'
ditu
kien
'Minh
cong
Lai
So. d6 luting tong viOc
Sc c2) luong ding viec Chat rang they dot thong tin ca nhfin
Server
Ca stfr dre lieu
Nguttl dung
til Mgt bi Android
D lch vy cia
Google
4
•
Hi& th bind
Chcm dot aft
thay da Otis tin
ti thin
7* nhan ve SP/
YOu au
GM yllu an ily
then tin nipAl
St.
t
NI* theft tin
WM an dr
Sem
t
(cid:9) 0
1
Glitlitquia
Ott
dbm/
1Vp din A sall#
*Ow
1--
GM thong Omsk
In do Sens
•
UP reit tern^
*—
Min la qui dr
Sew
Si MS din
I
OP Se
li
Ca
Sold 4-14: Thay a Meng tin al nlan
73
Phuang phip thuc hien
Nguiri sfr dyng
Ti man hinh chinh cis chuang trinh, ngueri dung barn vao vi tri di duce danh dau cim mirth
(Co hinh ngoi sao) hoc 66 vao nth "Vi tri dm tiii", met ding thong tin three hien len, nguari
sir dyng barn vao ding nay a ma chirc rang cep nh3t thong tin ca nhan.
Cach de Bei deng chic nang nay kith gieng vii each xem th8ng tin chi tie[ dm bon, chi khac
la ngtrai dung se chip vao Marker cim mink, chuang trinh se nhen biet va ma chirc fling
tucmg Ung.
Sau khi man hinh thay dui th8ng tin ca nhiln hien len, chuang trinh a tien hinh ley ve cic
thong tin ca ctia ngthei ding. Ngueti sir ding c6 the thay di tnrc nap cic thong tin nay. Tuy
nhien chirc nling nay yeu cau ngutri sir dyng nhep vao met khau hien hinh. Sau khi dien day
do th8ng tin, ngu&i sir dyng barn "Confirm" hay "Xic nhen" de cep nh#t th8ng tin. Yeu can
thay del thong tin hie nay se dirge gel den Server, chuang trinh se ling nghe ket qua tit phis
may chit xem viec cep nhet eighth tong hay that boi va hien di thong bio cho ngu&i sir chin.
Chuang trinh xi. If
Chic nling nay ci each sir (twig khi &Ong vii chi= ning xem thong tin bon. Chi khac hi
ngueri dung se chcm Marker dm mink chit kitting phai Marker ctia ban. Vey nen chuang trinh
can nhen biet ngtrai ding di ch9n Marker nao de me chic ning Wang img.
Sau khi chile ning Cep nhet thong tin duct kith hoot, chuong trinh se tien hinh lay ve cac
thOng tin ca cim ngutri ding, gem c6 H9 ten day di va se dien thoii. Con met 8 doge de tang
cho ngueri ding nhop vao de la met khau.
Sau khi dien veto cic th6ng tin mu& thay clei, ngueri ding b6 vao nit "Confirm" hay "Xac
then", chuang frith se tien hinh the buck nhu sau:
- (cid:9) Lay ra cic gii tri ve Ten day di va Se dien thooi. Ten ngueri ding khi c6 chin dau
each se dirge sua thanh diu "_", vi dy "Pliant Tan Tnmg" se doge chuyen thimh
ding "Pham_Tuan_Trung".
- Met khau ngueri ding se dirge ml his bang ham barn met chieu
- (cid:9) Da lieu se dirge clang g6i thitith ding nhu sau:
Editinfo
nghe ket qui tir phia may chi vi hien thi cho ngtdri ding.
Server
Truck khi nguai ding girl yeti cau cep nhet thong tin, chuang trinh phia Client se girl yeu au
de lay ve th8ng tin ca nhi'm cu dm ngtrai dung. Cic yeu cau dirge giri len server co cau frac
nhu sau:
Getname
74
Server se tien Minh truy xuat co kr aft lieu a ley ra thong tin tucmg img vi gui ye cho phia
Client. D6i vdri you au
- (cid:9) Kiem tra met khau: Truk khi thay dei th8ng tin ngudri dung, can phai kiem tra xem
met khan nguiri clUng c6 chinh xic hay khong. Server se tien hanh lay ra met kheu da
&Km Itru trong ca s6 aft lieu ve so sinh vdri met khau phia Client gfri len. Neu met
khau khong chinh xic, may chi se girl th8ng btu sai met khau cho phia client, th8ng
tin ca nhan kh8ng duqc cep nhet.
- (cid:9) Sau khi kiem tra met khau, neu met khau chinh xic, Server se tien hanh cap nh$t
thong tin dm nguai dung va gui ve th8ng bio cho ngirdri dung.
clic yeu au d4c biet khic
Thiet bi can c6 ket not mpg
Giao ditin mink hos
Pharn_Tuan_Trung
0947493260
gip raft thong the cd Wain
IDA 4-14:
75
4.3.14. Chic hang thay rfoi mit klau
Chinh Ngtrii sir dung
Tfic
nhin
Phy
M4 Ichitu cart ngtrii ding duct thay diti
Hidi au
kith
Thinh
ding
Iii
scr dO won tong vicic
So a luting tong vitt: Choy n3ng they d61 mit kh$u
cU a
Djch (cid:9)
Cd sir di/ lieu
Server
tiThigt bl Android
lifikligult1 dung
vu
Google
Bit tau
den that nine
May glee khiu
Min 1thl So SA
416 mit Itifu
at mit khfu a vl
met kith nal
4
Me nhin a dr ti
e
144 au a
ar
e GPM*
Ir
I
Pe* kft se tir
sa
Catfa cIP
nt4t
HI& di Aft Mr
dowel diet
4
tit talc
qui s4 AD OW
Sold 4-15: Tidy al milt kkist
77
Phuung phip &pc high
Ngteri sir dung
Tai man hinh "Thay 461 thong tin ca nhan", nguai clang c6 the bim vao nut "136i mat IchAu"
hay "Change Password" de sir dung chirc rang nay.
Chuang trinh se hien thi man hinh thay 46i m0 khitu, nguiti dung can nhap vao mat MIL hien
hanh, nhap mat khAu mai hai lan va bim vao tilt "Submit" hay "Xac nhan".
Neu mot IchAu mai nguai dung nhap vao IcheIng kW, nhau, chuong trinh se hien fin thong bao
cho nguai dung. Neu viec thay 46i mat IchAu tharth c8ng, tir Ian ding nhap sau, ngtrai dung se
sir dyng mat khAu mai de ding nhap.
Chuang Sikh xi lY
!Chi nguai sir dung biun nut "Xitc nhan" hay "Submit", chuong trinh se tien hanh cac buck sau:
- Kiem tra thong tin nhap vim: Ngtrai din se duqc yeu au nhap vao mat Idistu meri 2
Ian. trong twang hqp hai m0 khiu nay khemg khop nhau, chtrcmg trinh se giri thong
bao cho nguiri dung, yeu cAu thay del mat khAu se thong duqc girl den Server.
- Neu m0 khiu mai khdp nhau, chuang trinh se tien hanh mi h6a mat khAu deng gni
(Kr lieu thanh dal% sau:
Changepass
dimg se sir dyng mat khAu mai de ding nhap.
Server
Sau khi rilt#n duqc you eau thay del mat IchAu W phia Client, Server se tien hanh cac bulk sau:
- Kiem tra mat khAu: DE dam bao tinh bao mat tai khoan, ngutri dung an nh#p vao
mat khau chinh xac cita mirth de tien berth thay d6i mat IchAu. Server se truy xuAt ca
ses de' lieu va so sanh yeti mat khAu ma Client gui den. Neu mat Ichiu kh8ng khdp
nhau, Server se girl thong bao ye cho phia Client, mot IdtAu dui nguai dung kh8ng
duce cap nhat.
- Neu mat khiu nguai (King nhap vao la chinh xac, Server se tien hanh cap nh#t mat
khau cho ngtriri dung va thong bao ket qua ve cho Client. Tir lin (tang nfrop sau,
nguai dimg can sir dung mat Idutu mai de ding nh3p.
Cic yen an d$c bift khIc
Thiet bi can co ket nii mpg
78
Giao din minh hya
HMIs 4-15: Thay Gttmiltkhiu
79
4.3.15. Char ndng &Mg xuat
E) pink tap: 1
HANG XUAT
UC #00015
Mo ti
Sau khi sir dung chuong trinh, chfrc ning nay ngutri dung an ding xuAt
de tam ngirng viec chia se th8ng tin vi tri. Sau khi ding xat ngued dung
se duce chuyen ter trang thii Online sang Offline. Ban be se nhin thAy
bleu tucmg mill xim chit kheing con la miu d6.
KhOng co
Nguai sir dung can ding nhip vio chuong trinh
Chinh Nguei sir dung
Tic
Thy
°ken
Tien die kiln
Chuang trinh deng hoin tan, Wang thai ngueri dung dugc cop nhit
Trang thai nguCri dung kh6ng thay del
Thinh
Sag
Iii
litu
diet'
kiln
Su d$ hAng ding vitc
so 66 Iubng tong viec: Chirc ning ding suit
Co so dD lieu
Thigt bl Android
Nguti ang
Nth vy cOa
600111e
Bit au
1
XIM *Al OS
milt
Ow chOt Mfg
Mg sak
Ons /
eons
4--.
Tik ethinviabli
ylithdripult
Gin Su dude
Saw
t
OSP rift
I
Weak
/ TWOS
rittl
ding
1
CIP MS WON
ROI dinar (cid:9)
01.no
So a 4-16: Dag nit
80
4.4. Mkt so vin a khic
4.4.1. Kin de chi &rang - Direction API
82
4.4.2. Kin tti djnh vj 4 tri thiit bj
85
HInh 4-16: Dinh vi being song di dung
4.4.3. VeIn iti an suit cep nhet di?
88
4.5. Thief ke co ser dit lieu
g id : int(11)
2 id : int(11)
* user id : int(11)
m date : date
So di 4-17: MO hank dlt lieu quan he
Bang 4-2: Bang Users
Bang 4-3: Bong Location
Bang 4-4: Bang Friend]
Bring 4-5: Bing Frlen
4.6. wet kiln va djnh hating phat trien
5.1.1. Chtit nun dung kft tdi khotin
Socket el-null;
try (
RegisterResult=inp.readline0;
outp.println("quit");
//inp=null;
outp-null;
dclose0:
// TODO Auto-generated catch block
e.printStackTraceO;
return null;
5.1.2. Char ming Ong nh#
5.1.3. Quit niing hien tri tri ben
5.1.5. Char ming nic nhpn yiu cdu kit bgn
98
99
5.1.7. Mir tang tim Strang din vi trt bgn
>>> I
>> dolnBackground(String... jsonData) (
>> routes = null;
try(
>> result) (
>> parse(JSONObject jObject)(
>> routes = new
>> 0 ;
}
5.1.8. Char ming cOp nhOt thong tin a nhdn
108