Professional Documents
Culture Documents
C S TI THNH PH H CH MINH
------------------------------
BO CO NH K THC TP
TT NGHIP I HC
ti : Xy dng ng dng t taxi trn thit b Android
Gio vin hng dn
: ThS. L Minh Ha
M s sinh vin
: N112104084
Lp : D11CQPM01-N
Kha : 2011
H
: i hc chnh quy
LI CM N
Sau mt thi gian thc hin n n nay, mi cng vic hon thnh. Trong
qu trnh thc hin n ti nhn c nhiu s gip t mi ngi. Ti xin chn
thnh gi li cm n n nhng ngi ti v cng bit n:
Trc ht, ti xin chn thnh cm n Khoa Cng Ngh Thng Tin, Hc Vin Cng
Ngh Bu Chnh Vin Thng c s ti Thnh Ph H Ch Minh to iu kin tt cho
ti thc hin ti thc tp tt nghip ny.
Ti xin chn thnh cm n thy L Minh Ha tn tnh hng dn ti trong sut
thi gian thc hin ti.
Cui cng ti xin chn thnh cm n qu thy c trong khoa tn tnh ging dy,
trang b cho chng ti nhng kin thc qu bu trong nhng nm hc va qua.
Mc d c gng hon thnh ti trong phm vi cho php, nhng y l ngn
ng mi, kh xa l vi ti nn khng th trnh khi sai st, ti rt mong nhn c s
ng gp ph bnh ca cc thy c c nhng kinh nghim khi ra trng v cng
vic sau ny.
thng
nm 2015
NHN XT CA N V THC TP
THC TP TT NGHIP I HC
1 Tn ti: Xy dng ng dng t taxi trn thit b Android.
2 Sinh vin: Nguyn Nht Tun
Lp: D11CQPM01-N
thng
nm 2015
Lp: D11CQPM01-N
nh gi chung:
2.
nh gi chi tit:
3.
4.
Kt lun:
5.
im hng dn ():
GING VIN HNG DN
(K, ghi r h tn)
LI M U
Ngy nay h iu hnh Android tr nn qu quen thuc vi s lng thit b s dng
ng u, chim gn 80% s lng ngi dng v khng ngng tng trng.
Android c m ngun m v Google pht hnh m ngun theo Giy php Apache. Chnh
iu ny gip cho Android c c mt cng ng h tr cc ln.
Cc ng dng cho Android c pht trin bng ngn ng Java s dng B pht trin
phn mm Android (SDK). SDK bao gm mt b y cc cng c dng pht trin
gm c cng c g li, th vin phn mm, b gi lp in thoi da trn QEMU, ti liu
hng dn, m ngun mu, v hng dn tng bc. Mi trng pht trin tch hp
(IDE) c h tr c th l Eclipse hoc Android Studio. Cc cng c pht trin khc
cng c sn, gm c B pht trin gc dnh cho cc ng dng hoc phn m rng vit
bng C hoc C++, Google App Inventor, mt mi trng ha cho nhng nh lp trnh
mi bt u, v nhiu nn tng ng dng web di ng a nn tng phong ph.
Sau khi nghin cu ti ti quyt nh chia thi gian nghin cu lm hai giai on:
Giai on mt, tp trung nghin cu v nhng vn c bn ca ngn ng, cch s
dng .Net Web Service trong Android, cch thc t Taxi. Giai on hai s tin hnh vit
chng trnh da trn nhng g nghin cu giai on 1.
Mc lc
CHNG I: TM HIU V WEB SERVICE, GOOGLE CLOUD MESSAGE...............7
I. Gii thiu v Web Service:.......................................................................................7
II.
1.
2.
c im :.........................................................................................................7
3.
4.
2.
d liu Java sang SOAP XML v ngc li, bi v nh dng cho Web
Service chnh l XML. Bt k mt mi trng thc thi SOAP no cng
phi c mt bng cha thng tin nh x nhm chuyn i t ngn ng
Java sang XML v t XML sang Java bng c gi l
SOAPMappingRegistry. Nu mt kiu d liu c s dng di mt
dng m ha th s c mt nh x tn ti trong b ng k ca mi
trng thc thi SOAP .
12
To Web Service:
13
14
15
16
Add Linq:
17
18
19
II.
2. Nguyn tc hot ng :
3. Thnh phn :
C 3 thnh phn chnh l:
20
22
III.
php.
- De/serializer: Mapping cc i tng vo ti liu XML v ngc li. C 2
i tng chnh thc hin l l SoapPrimitives hoc SoapObjects.
- The transport layer: tng ny cung cp cc c ch server v client
truyn thng ip vi nhau.
2. S dng :
- To phn body gm namespace v tn phng thc. Thm thuc tnh nu
cn thit.
23
IV.
2. S dng :
- kt ni ti cc API, chng ta cn to mt th hin ca Google Play
services API client. Trong phng thc onCreate(), s dng
GoogleApiClient.Builder to mt th hin Google API Client, ng
thi thm LocationServices API s dng.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
- Sau khi kt ni, ta c th s dng phng thc getLastLocation() ly v
tr cui cng ca thit b. Phng thc ny tr v mt i tng Location,
t i tng ny c th ly c kinh , v tng ng. Tuy nhin cng
c mt s trng hp tr v null.
- cp nht v tr thit b, trc tin ta cn to mt i tng
LocationRequest dng lu tr cc tham s thit lp yu cu n fused
location provider.
+ setInterval () - Phng thc ny t tc tnh bng mili giy ng
dng ca bn s nhn c v tr cp nht.
+ setFastestInterval () - Phng php ny t tc nhanh nht tnh bng
mili giy m ng dng ca bn c th x l vic cp nht v tr.
+ setPriority () - phng thc ny t u tin ca cc yu cu.
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_
ACCURACY);
- Yu cu cp nht:
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
- Khi c s thay i v v tr, phng thc
LocationListener.onLocationChanged() c gi:
@Override
public void onLocationChanged(Location location) {
// Do something
}
- Dng cp nht:
LocationServices.FusedLocationApi.removeLocationUpdates(
mGoogleApiClient, this);
- Ly tn v tr: S dng i tng Geocoder.
+ Khi to mt i tng Geocoder:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
+ c c mt a tng ng vi mt v tr a l, gi phng thuwcsc
getFromLocation (), tham s truyn vo l v v kinh t i tng v
tr v s lng ti a ca cc a ch m bn mun ly.
List<Address> addresses = null;
try {
addresses = geocoder.getFromLocation(
location.getLatitude(),
27
location.getLongitude(),
// y ch ly 1 a ch tr v.
1);
} catch (Exception e) {
}
28