mobile programming - v1
TRANSCRIPT
MOBILE PROGRAMMINGLp trnh trn thit b di ng
3/8/2012
Hunh Cng Thnh [email protected]
1
TI SAO NN THEO NGNH NY?
Thng 7/2008, Apple ra mt AppStore. n nay, App Store c hn 400,000 ng dng vi 10 t lt ti v, dn u ngnh v dch v ng dng cho di ng. Ovi Store ca Nokia, Android Market ca Google, App World ca Blackberry , Huawei Technology.3/8/2012
2
TI SAO NN THEO NGNH NY? AppStore: 400,000 ng dng vi 10 t lt ti v OviStore: 55,000 ng dng, 760 triu download Android Market: 200,000 ng dng, 4,5 t download App World: 30,000 ng dng, 3 triu download/ngy Huawei Technology: 80.000 ng dng
$ = 7 t USD >>> 30 t USD trong 3 nm ti
3/8/2012
3
CC MOBILE OS iOS Android Tizen Windows Phone 7 Blackberry OS & Qnx WebOS MeeGo Symbian.
3/8/2012
4
THNG K TH TRNG
3/8/2012
5
THNG K LP TRNH VIN
3/8/2012
6
THNG K LP TRNH VIN
3/8/2012
7
ANDROID, IOS, WINDOWS PHONE
Vy, Mobile OS no l tt nht?
3/8/2012
8
GIAO DIN NGI DNGLy ng dng lm trung tm. Mi biu tng ng dng c th di chuyn hoc xa c. Ni bt vi cc Widget. Notification bar
3/8/2012
9
ANDROID, IOS, WINDOWS PHONES kt hp phn cng v phn mm hon ho. Mn hnh thong ng vi cc biu tng ng dng dn ngay hng thng li r rng. 11 mn hnh chnh. Nng cp vi Notification bar.
3/8/2012
10
ANDROID, IOS, WINDOWS PHONEThay v ly ng dng lm trung tm, nh vi cc nn tng iOS v Android, Microsoft s dng khi nim mi, gi l hub (trung tm), t chc ni dung trong Windows Phone 7. Mi hub l mt b su tp cc ng dng cng nhm.
2 mn hnh chnh.
3/8/2012
11
NG DNG V TNH M
3/8/2012
12
KH NNG TY BIN
3/8/2012
13
KH NNG TCH HP D LIU
3/8/2012
14
3/8/2012
15
GOOGLE ANDROID L g ? Open Source OS Linux kernel (2.6) Mobile platform (smartphone) Lin minh OHA (Open Handset Allien): HTC, LG, Samsung, Motorola, T-Mobile, Sprint, NVIDIA, Intel, Broadcom, Qualcom,)
GOOGLE ANDROID C g ni bt ? Full web (Html/html5, javascript, flash) Game 2D/3D
a im (Multi touch) a lung (Multi thread)
Wifi, 3G, GPS, Sensor, Media (Video fullHD, MPeg4, H.264, Mp3, Acc, Ogg,)
GOOGLE ANDROID Lch s pht trin: Google mua Android Inc 17-8-2005 Ra mt cng ng thng 11-2007, thnh lp OHA (Open Handset Allien) Phin bn 1.0 ra mt thng 9-2008, T-Mobile G1 Phin bn 1.1 ra mt thng 2-2009
GOOGLE ANDROIDCc phin bn 1.5 (Cupcake) 04/2009 1.6 (Donut) 09/2009
2.0/2.1 (Eclair) 10/2009, 01/2010 2.2 (Froyo) 05/2010
2.3 (Gingerbread) 06/12/2010 3.0/3.1/3.2 (HoneyComb) 03 7 /2011 4.0 (Ice cream sandwich) 9/2011
GOOGLE ANDROID
Ice cream sandwich
GOOGLE ANDROID Th phn (Ton cu)Th phn Android ton cuAndroid iOs Phone 7 Others
150 triu in thoi2%
34%
40%
500.000 lt active/ngy24%
GOOGLE ANDROIDTh phn (Vit Nam)Th phn Android ti Vit Nam200.000 android device 5 triu vo nm 20152.32 0.36 2.93 5.39 28.71 0.52
59.76
Android Symbian WM7/WM BlacBerry Linux iOS Maemo/Meego
GOOGLE ANDROIDAndroid Market
GOOGLE ANDROIDAndroid Market S lng ng dng/game: 500.000+ S lt ti: 8,1 t lt S lt ti: 31.8 t lt vo nm 2016
GOOGLE ANDROIDAndroid phone
HTC G1
Google Nexus One
GOOGLE ANDROIDAndroid phone
Motorola Droid/Milestone
Samsung Galaxy S
GOOGLE ANDROIDAndroid phone
HTC Desire
HTC Wildfire
GOOGLE ANDROIDAndroid phone
Samsung Galaxy SII
SonyEricsson Arc
GOOGLE ANDROIDTip cn th no ? Sn xut device Sn xut ng dng, game Cung cp gii php: nhng, mini board,..
GOOGLE ANDROIDLi nhun t u ? Sn xut device: Bn device to end user Sn xut ng dng, game: Bn qua Android Market, Vimarket, F-Store,.. Free v thu li nhun t qung co in app Outsoucing cho i tc nc ngoi
Cung cp gii php: nhng, mini board,.. Nghin cu v bn gii php Outsourcing
GOOGLE ANDROIDLm ng dng loi no ?
GOOGLE ANDROID
Lm th no pht trin ng dng/game ?
GOOGLE ANDROIDKin trc
PHT TRIN NG DNGChun b nhng g ? Logic lp trnh Java, C/C++ language Khi nim lp trnh trn mobile Kin thc cn bn v Android OS Cc cng c pht trin
PHT TRIN NG DNGCng c pht trin ? Android SDK (Software Development Kit) - Free Android NDK (Native Development Kit) - Free Eclipse / Netbean IDE - Free Windows / Linux (Ubuntu,) My o/ my tht chy Android
PHT TRIN NG DNG
Vimarket
VietNam 3.0
KarDroid
PHT TRIN GAMEChun b nhng g ? T duy ha cn bn Kin thc v ha 2D/3D (sprite, camera, projector, model, animation, Texture) OpenGL/ES Game engine
PHT TRIN GAMECng c pht trin ? Cng c to hnh: map, nhn vt, vt th, bi cnh Cng c lp trnh Tp trung vo C/C++ language Game engine / Game framework My o/ my tht chy Android: debug, kim th
PHT TRIN GAMEGame engine: AndEngine (andengine.org): 2D, java (Free) Libgdx (code.google.com/p/libgdx/) : Java (JNI) (Free) Unity (unity3d.com/unity): 3D, C#, C++
PHT TRIN NG DNG
n quan
Jewel 1
Jewel 2
DOWNLOAD ECLIPSE IDE cho lp trnh: Eclipse Download: http://www.eclipse.org/downloads/ Vo link bn trn, download eclipse classic v ri gii nn.
CI T ADT PLUGINM Eclipse ln, bm vo Help Install new software. form hin ra, chn Add mc Name, nhp tn g cng c, v d nh ADT plugin mc Location, nhp vo link: http://dlssl.google.com/android/eclipse/ Sau bm OK, chn ht tt c ri bm next cho n lc xong.
CI T ANDROID SDK C th xem hng dn ci t gc ti y http://developer.android.com/sdk/installing.html Mun ci t of fline:http://dl-ssl.google.com/android/repository/repository.xml http://dl-ssl.google.com/android/repository/
CI T ANDROID SDK Ti Android SDK ti link ny http://developer.android.com/sdk/index.html (nh ch l n chia ra Window, Mac v Linux) M Eclipse window preferences Android trong mc SDK location chn Browse a ng dn n th mc SDK bm apply.
CI T ANDROID SDK Eclipse window Android SDK and AVD manager Available packages chn v ci ht (hi lu mt cht) hoc bn c th ch chn my ci lin quan n Android 1 .6 thi cng c (API level 4).
CI T ANDROID SDK Sau khi xong th bm vo Installed packages
TO MT IN THOI O (AVD) Eclipse window Android SDK and AVD manager ci ca s mi , chn mc Virtual devices bm nt New Mc Name: t tn g cng c Mc target: chn API level 4 Sdcard size: bn g vo 1024 (hoc c th cao hn) Sau bm Create AVD.
TO MT PROJECT MI mn hnh eclipse, bm File New Project Android Android Project Next Hoc trn thanh cng c bm vo icon nh trong hnh
TO MT PROJECT MI mn hnh k nhp liu vo cc nh sau: Project name: HelloWorld (tn project hin tr trn eclipse cng s l th mc ch ng dng trong workspace) Application name: Hello World (tn ng dng s hin th trn in thoi) Package name: org.multiuni.android.hellowrold (tn ca package s cha source code, tng t trong java http://en.wikipedia.org/wiki/Java_package#Package_naming_conve ntions)
TO MT PROJECT MI Create activity: HelloWorldActivity (to mt lp con ca lp Activity, dng hin th mt mn hnh y l mn hnh HelloWorld ca chng ta) Min SDK version: 4 (tc SDK 1.6, y chng ta khai bo l ng dng ny c th p ng c phin bn SDK c nht l phin bn no)
Sau khi hon tt bm Finish, project mi c to.
CU TRC MT PROJECT Th mc src cha source code ng dng. Gm cc package v cc class. Th mc gen cha cc file t ng pht sinh (m thng gp nht l R.class) Th mc res cha cc resource dng trong ng dng (thng qua ID) Th mc assets cha cc resource file m ng dng cn dng (di dng file)
CU TRC MT PROJECT File Manifest l file khai bo thng tin v ng vi h thng (nh ng dng gm nhng mn hnh no, c service no xin cc quyn g, phin bn bao nhiu, dng t SDK phin bn no) Ngoi ra cn c file th vin.
CHY NG DNG HELLO WORLD Vi ng dng va to nu c bo li th bn sa li thng s cho ng dng nh sau: bm chut phi vo project Properties Java compiler Compiler compliance settings: 1 .6
CHY NG DNG HELLO WORLD Bm Ctrl + F11 chy ng dng, s hin ln emulator
TO UI TRC TIP T CODE Code ban u ca ng dng:
public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
TO UI TRC TIP T CODE Sa li nh bn di ri chy li (nu thy bo li thiu th vin, th bm Ctrl + Shift + O)
public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } }
TH X L S KIN code bn trn, i TextView li thnh Button.Button bt = new Button(this);
Sau , implement phng thc x l s kin khi user click vo nt ny
bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show(); } });
MT S PHM TT import cc th vin cn thiu bm xa mt dng code bm hin th bng suggestion bm comment mt dng code Ctrl Ctrl Ctrl Ctrl + + + + Shift + O D Space /
TH XOAY MN HNH To 1 project mi tn l Orientaion. Sau , bm phi chut vo th mc res new Folder nhp tn folder l layout-land (nhp chnh xc)
TH MT CHT V XOAY MN HNH Trong th mc layout ban u c file main.xml, copy file , cho vo th mc layout-land, vy l mi th mc u c mt file main.xml mi file main trong 2 th mc , u c on ny:
MT S THUC TNH C BN Layout_width, layout_height: chiu rng ca view (fill_parent l to bng kch thc ca layout cha view ny, wrap_content l va ni dung cn hin th ca view) Orientation: vi LinearLayout, vic sp xp cc view l nm k nhau theo hng ngang hoc hng dc, ta khai bo orientation chn sp theo kiu no (horizontal/vertical)
MT S THUC TNH C BN Gravity: thuc tnh ny qui nh cc view nm bn trong layout s t theo v tr no so vi layout (trung tm, tri, phi, trn di) Weight: cc view phan chia t l din tch hin th trn mn hnh (t l tnh theo weight ca tng view trn tng s weight, cc view ko khai bo weight th s xem qua width v height)
V D C BN Vo link ny ly code cho vo ng dng: http://developer.android.com/resources/tutorials/views/hello -linearlayout.html
THC HNH Lm mt layout hin th nh trong hnh:
Cc bc nh sau: Phn tch thnh phn layout trn giy Phn tch c im cc view Add thm resource nh Th trc vi vi tab layout (khi view file xml trong eclipse) a vo thc thi trn my, nh gi
MT S LOI LAYOUT KHC FrameLayout: cc view bn trong c qui nh v tr bng khong cch so vi bin tri v trn so vi layout, cc view c th ln nhau. RelativeLayout: cc view c thit k da trn quan h gia chng vi nhau v vi layout cha chng. AbsoluteLayout: dnh cho bn no lm nhiu vi C#, nhng khng khuyn khch vi Android.
LU KHI THIT K GIAO DIN Hn ch sau ca cy Vi cc Layout phc tp, ng dng RelativeLayout Nn chn vo d liu tm xem trc layout hin th ra sao bn tab layout (trong eclipse), nhng xong ri th nh xa d liu tm i. FrameLayout c vn vi background Mun tm thuc tnh g, bm android: ri i suggestion x ra xem.
THC HNH NHANH Th thc hnh cc v d sau:http://developer.android.com/resources/tutorials/views/hello formstuff.html http://developer.android.com/resources/tutorials/views/hello webview.html
LIST Rt hay dng trong Android. c bit cc ng dng cn lu tr v hin th nhiu d liu. List l mt danh sch cc view thng thng c cng dng layout t lin nhau.
APIDEMOS M ng dng ApiDemos c sn: New android project Create project from existing source Browse m th mc SDK platforms android-1.6 samples ApiDemos OK Finish. M th mc project trong eclipse src m com.example.android.apis.view m file List1.java
PHN 2: C BN V ANDROID2 .1 C C T H N H PH N C B N T R O N G A N D R O ID2 . 1 . 1 AC T I V I T I E S
L mt thnh phn ca ng dng cung cp giao din gip ta c th tng tc c nh gi in, sms, chp hnh, map Mt ng dng Android c th gm nhiu activities thay i lin tc thay nhau hin th trn mn hnh. Activity chy u tin gi l main activity Trong mt ng dng c nhiu activities hot ng thay phin th mi ln c activity mi c gi th activity trc s trng thi tm dng (paused) v c lu vo stack. n khi activity kia lm xong hoc ngi dng nhn BACK th n s c khi to li. Cc trng thi ca mt activity Active (running): ang c hin th trn mn hnh (foreground) Paused: Activity ang trng thi tm dng nh v d trn Stop: Activity c thay th hon ton bng mt activity khc Killed: Activity b hy, b ng gii phng b nh.76
3/8/2012
ACTIVIT Y LIFECIRCLEVng i ca m t a c t i vi t y
3/8/2012
77
ACTIVIT Y LIFECIRCLEVng i ca m t a c t i vi t y
3/8/2012
78
PH N 2 : C B N V N G D N G A N D R OID2 . 1 C C T H N H P H N C B N T R O N G N G D N G AN D R O I D2.1.2 SERVICES
Services: l thnh phn chy ngm trong Android cp nht d liu, a ra cc cnh bo V d: Cc services ca Google Maps, Danh b, SMS, Content Provider, qun l I/O khc
3/8/2012
79
PH N 2 : C B N V N G D N G A N D R OID2 . 1 C C T H N H P H N C B N T R O N G N G D N G AN D R O I D2.1.3 CONTENT PROVIDER
Content Provider: L kho chia s d liu gia cc ng dng vi nhau. V d v chia s: Audio, Video, Thng tin c nhn, cu hnh ci t C th to ra ngun d liu ring bng cch: T to ra Content Provider Thm vo provider c sn
D liu thng c lu tr file h thng, hoc trong mt SQLite database. Content Provider hin thc mt tp phng thc chun m cc ng dng khc c th truy xut v lu tr d liu ca loi n iu khin.
3/8/2012
80
PH N 2 : C B N V N G D N G A N D R O ID2 . 1 C C T H N H P H N C B N T R O N G N G D N G AN D R O I D
2.1.4 Broadcast Receiver: Thnh phn thu nhn cc Intent gi ti. V d: Mt Broadcast Receiver nhn bit cc Intent l cc cuc gi ti. 2.1.5 Intent: 3 thnh phn chnh ca ng dng l Activities, Services v Broadcast Receiver u c khi chy t cc bn tin (messages) c gi l intent. Intent l phng tin chuyn i cc Activities khc nhau trong cng mt ng dng hoc cc ng dng khc nhau. 2.1.6 Notification: a ra cc thng bo, cnh bo trn mn hnh m khng cn lm cho cc activity b ngng hot ng.
3/8/2012
81
PHN 3: CC THNH PHN TRONG MT ANDRO ID PROJECTSrc Libraries Gen Android api Re sAndroidManifest
3/8/2012
82
PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT 3.1: gen (Generated Java Files): cha file R.java
y l file c t ng sinh ra khi to mt project android, dng qun l cc thuc tnh khai trong cc file XML v cc hnh nh trong project. Code trong file R.java c t ng sinh ra v t thay i khi c s kin xy ra lm thao i cc thuc tnh trong ng dng.3/8/2012
83
PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT 3.2: Andriod API: th vin dnh cho vit ng dng Android
Khi to mt project Android th th vin android.jar s c mc nh thm vo trong project. Ty theo project m ta c th cn cc API khc c thm vo cng vi android.jar, v d maps.jar (cho cc ng dng s dng Google Maps API chng hn).
3/8/2012
84
PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT 3.2: Android API: th vin dnh cho vit ng dng Android
Khi to mt project Android th th vin android.jar s c mc nh thm vo trong project. Ty theo project m ta c th cn cc API khc c thm vo cng vi android.jar, v d maps.jar (cho cc ng dng s dng Google Maps API chng hn).
3/8/2012
85
PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT 3.3: AndroidManifest.xml:
y l file c dng khai bo cc Activity s dng, cc permission cho chng trnh, phin bn SDK, Activity chy chnh (main activity).3/8/2012
86
PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT3.3: AndroidManifest.xml c cc th chnh: 1. Application: cha cc thuc tnh nh: Android:icon = @drawable/tn icon -> ng dn ti icon Android:label = string -> tn trc khi m chng trnh Android:name = string -> tn sau khi vo chng trnh
2. : quy nh v cc activity m ta khai bo 3. : quy nh v cc quyn m ng dng c th truy cp ti, v d cn ti quyn gi SMS th:
4. : quy nh v phin bn SDK m ta s dng h tr cho ng dng, v d android version 8 th: 3/8/2012
87
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.1 View: Trong mt ng dng Android, giao din c dng hin th v tng tc vi ngi dng c xy dng t cc i tng View. i tng View ny s chim mt khng gian trn mn hnh v hin th cc thnh phn bn trong View ny, ng thi x l cc s kin nhn c t ngi dng. View l lp c bn cho cc widget, nn cho cc button, text, label 4.2 ViewGroup: ViewGroup c bn cht l View, l cc layout c dng b tr cc i tng trn mn hnh. Gm c: LinearLayout FrameLayout AbsoluteLayout RelativeLayout TableLayout88
3/8/2012
PHN 4: CC THNH PHN GIAO DIN ANDROID LinearLayout: c dng b tr cc thnh phn giao din theo hng ngang hoc hng dc trn cng 1 linear duy nht.
3/8/2012
89
PHN 4: CC THNH PHN GIAO DIN ANDROID FrameLayout: c dng b tr cc i tng giao din theo cc Layer.
3/8/2012
90
PHN 4: CC THNH PHN GIAO DIN ANDROID AbsoluteLayout: Ging nh lp trnh web, kiu layout ny s dng da vo thuc tnh ta x, y trn mn hnh ri t text, button theo mnh. Tuy nhin n s khng chnh xc cc phn gii khc nhau.
3/8/2012
91
PHN 4: CC THNH PHN GIAO DIN ANDROID RelativeLayout: Layout loi ny cho php b tr cc widget theo mt trc i xng ngang hoc dc. Cc widget ny c mi rng buc v v tr vi cc widget khc hoc vi layout nn m ta s dng. V d v v tr bn tri, phi, trn, di. Khng b ph thuc vo phn gii mn hnh.
3/8/2012
92
PHN 4: CC THNH PHN GIAO DIN ANDROID TableLayout: Layout s dng thit k mt table cha d liu hoc b tr cc widget theo cc hng v ct.
3/8/2012
93
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.3 Button: L thnh phn c bn nht ca mt ng dng Android. C 2 cch to ra button l thit k bng XML v vit code Java.
Button button = new Button(this) button.setText(C09THA1 Android); button.setOnOnclickListener()3/8/2012
94
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.4 ImageView: l khung nhn cha cc i tng l hnh nh (ging nh chn nh vo ng dng). Tng t nh button ta c th to t XML Design hoc code Java.
3/8/2012
95
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.5 TextView: c s dng hin th ni dung text. C th c to bng XML hoc code Java.
3/8/2012
96
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.6 EditText: c s dng nhp d liu. Trong c 2 thuc tnh cn lu : inputType: c s dng xc nh phng thc nhp cho text. V d mun l khung nhp password th:android:inputType=textPassword
singleLine: quy nh textfield l 1 hng duy nht hay l textbox c nhiu hng. V d:android:singleLine=true th s c 1 hng android:singleLine=false th l 1 textbox nhiu hng
3/8/2012
97
PHN 4: CC THNH PHN GIAO DIN ANDROID 4.7 Xoay mn hnh (Orientation): portrait, landscape
3/8/2012
98
PHN 4: CC THNH PHN GIAO DIN ANDROID C 2 cch k thut xc nh s thay i khi xoay mn hnh l: Anchoring v Resizing and repositioning Anchoring: l cch d nht, hay c s dng xc nh c v tr ca mt item trn mn hnh ti 4 cnh mn hnh. Resizing and repositioning: Khi m anchoring v centralizing l 2 k thut xc nh v tr 1 item trn mn hnh c so snh ti 4 cnh th k thut nng cao hn l Resizing and repositioning cho php ta resize 1 hay nhiu item da vo ch xoay ca mn hnh hin ti.
3/8/2012
99
PH N 4 : C C T H N H PH N G IA O D IN A N D R O ID
ANCHORING VIEWS Anchoring c dng nhiu trong RelativeLayout. V d sau:
3/8/2012
100
PH N 4 : C C T H N H PH N G IA O D IN A N D R O ID
ANCHORING VIEWS
3/8/2012
101
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
A N C H O RING VIEW S
3/8/2012
102
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
A N C H O RING VIEW S
3/8/2012
103
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
A N C H O RING VIEW S
3/8/2012
104
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
A N C H O RING VIEW S
3/8/2012
105
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G Xem v d sau v Resizing and repositioning u tin ta to th mc layout -land v file main.xml trong Ni dung file main.xml trong th mc layout
3/8/2012
106
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
107
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
108
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G Ni dung file main.xml trong th mc layout-land
3/8/2012
109
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
110
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
111
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
112
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
113
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
114
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
115
P H N 4 : C C T H N H P H N G I AO D I N AN D R O I D
R ESIZ IN G A N D R EPO SIT ION IN G
3/8/2012
116