You are on page 1of 142

MOBILE PROGRAMMING

Lp trnh trn thit b di ng

1/6/2013

Hunh Cng Thnh congthinh@ptithcm.edu.vn

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.
1/6/2013

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

1/6/2013

CC MOBILE OS
iOS Android Tizen Windows Phone 7 Blackberry OS & Qnx WebOS MeeGo Symbian.

1/6/2013

THNG K TH TRNG

1/6/2013

THNG K LP TRNH VIN

1/6/2013

THNG K LP TRNH VIN

1/6/2013

ANDROID, IOS, WINDOWS PHONE

Vy, Mobile OS no l tt nht?

1/6/2013

GIAO DIN NGI DNG


Ly ng dng lm trung tm. Mi biu tng ng dng c th di chuyn hoc xa c. Ni bt vi cc Widget. Notification bar

1/6/2013

ANDROID, IOS, WINDOWS PHONE


S 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.

1/6/2013

10

ANDROID, IOS, WINDOWS PHONE


Thay 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.

1/6/2013

11

NG DNG V TNH M

1/6/2013

12

KH NNG TY BIN

1/6/2013

13

KH NNG TCH HP D LIU

1/6/2013

14

1/6/2013

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)

GOOGLE ANDROID
Cc phin bn
1.0 - 9-2008 1.1 - 2-2009 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 4.1 (Jelly bean) 7/2012 4.2 (Jelly bean) 11/2012

HONEY COMB

20

PHN CHIA TH TRNG

Biu phn b cc phin bn Android t thng 11/2009 n 11/2012

21

GOOGLE ANDROID

GOOGLE ANDROID

Th phn ton cu ca Android

GOOGLE ANDROID

Th phn ton cu ca Android

GOOGLE ANDROID
Android Market

GOOGLE ANDROID
Android 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 ANDROID
Android phone

HTC G1

Google Nexus One

GOOGLE ANDROID
Android phone

Motorola Droid/Milestone

Samsung Galaxy S

GOOGLE ANDROID
Android phone

Samsung Galaxy SII

SonyEricsson Arc

GOOGLE ANDROID
Android phone

HTC Desire

Samsung Galaxy S3

GOOGLE ANDROID
Android phone

Meizu MX

HTC One X+

GOOGLE ANDROID
Android phone

LG Optimus G

Google Nexus 4

GOOGLE ANDROID
Tip cn th no ?
Sn xut device Sn xut ng dng, game Cung cp gii php: nhng, mini board,..

GOOGLE ANDROID
Li 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 Outsourcing cho i tc nc ngoi

Cung cp gii php: nhng, mini board,.. Nghin cu v bn gii php Outsourcing

GOOGLE ANDROID
Lm ng dng loi no ?

GOOGLE ANDROID

Lm th no pht trin ng dng/game?

GOOGLE ANDROID
Kin trc

PHT TRIN NG DNG


Chun 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 DNG


Cng 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 GAME


Chun 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 GAME


Cng 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 GAME


Game 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 PLUGIN
M 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/<package name>

CI T ANDROID SDK
Ti Android SDK ti link ny http://developer.android.com/sdk/index.html (nh ch l n chia ra Windows, 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 Orientation. 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:

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=@string/hello" />

TH MT CHT V XOAY MN HNH


Cc bn sa ci ni dung android:text trong on xml li, cho 2 file main c 2 ni dung text khc nhau l c. Chy chng trnh, sau khi mn hnh hin th, bm Ctrl + F11 (Ctrl bn tri) th xem kt qu.

KT THC
Tham kho bn ting Anh ti link ny: http://developer.android.com/resources/tutorials/hello world.html C th th cc view khc nhau v x l mt s s kin khc nh s kin long click, s kin touch, s kin focus trn cc i tng view nh Button, TextView, ImageView, ImageButton

THIT K GIAO DIN TRN ANDROID


Trong Android, dng Activity hin th mn hnh. Mi activity s cha cc View theo dng cu trc cy, ngha l mt Layout gc cha cc view/layout con bn trong hoc ch c 1 view duy nht (lu Layout cng l mt view). C th thit k giao din trong code java hoc trong file xml trong th mc layout.

TREE VIEW

LAYOUT MU CA HELLOWORLD
<?xml version="1.0" encoding="utf -8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=@string/hello /> </LinearLayout>

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 ANDROID
2 .1 C C T H N H PH N C B N T R O N G A N D R O ID
2 . 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.
80

1/6/2013

ACTIVIT Y LIFECIRCLE
Vng i ca m t a c t i vi t y

1/6/2013

81

ACTIVIT Y LIFECIRCLE
Vng i ca m t a c t i vi t y

1/6/2013

82

PH N 2 : C B N V N G D N G A N D R OID
2 . 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.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

1/6/2013

83

PH N 2 : C B N V N G D N G A N D R OID
2 . 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.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.

1/6/2013

84

PH N 2 : C B N V N G D N G A N D R O ID
2 . 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.

1/6/2013

85

PHN 3: CC THNH PHN TRONG MT ANDRO ID PROJECT


Src Libraries Gen Android api Re s
AndroidManifest

1/6/2013

86

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.
1/6/2013

87

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).

1/6/2013

88

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).

1/6/2013

89

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).
1/6/2013

90

PHN 3: CC THNH PHN TRONG MT ANDROID PROJECT


3.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. <activity>: quy nh v cc activity m ta khai bo 3. <uses-permission>: quy nh v cc quyn m ng dng c th truy cp ti, v d cn ti quyn gi SMS th:
<uses-permission android:name=android:permission.SEND_SMS> </uses-permission>

4. <uses-sdk>: quy nh v phin bn SDK m ta s dng h tr cho ng dng, v d android version 8 th: <uses-sdk android:minSdkVersion=8></uses -sdk>
1/6/2013

91

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 TableLayout
92

1/6/2013

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.

1/6/2013

93

PHN 4: CC THNH PHN GIAO DIN ANDROID


FrameLayout: c dng b tr cc i tng giao din theo cc Layer.

1/6/2013

94

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.

1/6/2013

95

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.

1/6/2013

96

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.

1/6/2013

97

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 android:id="@+id/button1" android:layout_width="154dp" android:layout_height="wrap_content" android:text="C09THA1 Android" />

Button button = new Button(this) button.setText(C09THA1 Android); button.setOnOnclickListener()


1/6/2013

98

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.

1/6/2013

99

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.

1/6/2013

100

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

1/6/2013

101

PHN 4: CC THNH PHN GIAO DIN ANDROID


4.7 Xoay mn hnh (Orientation): portrait, landscape

1/6/2013

102

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.

1/6/2013

103

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:

1/6/2013

104

PH N 4 : C C T H N H PH N G IA O D IN A N D R O ID

ANCHORING VIEWS

1/6/2013

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

A N C H O RING VIEW S

1/6/2013

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

A N C H O RING VIEW S

1/6/2013

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

A N C H O RING VIEW S

1/6/2013

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

A N C H O RING VIEW S

1/6/2013

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 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

1/6/2013

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

1/6/2013

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

1/6/2013

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 Ni dung file main.xml trong th mc layout-land

1/6/2013

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

1/6/2013

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

1/6/2013

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

1/6/2013

116

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

1/6/2013

117

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

1/6/2013

118

X L NHIU ACTIVITY
Trong mt chng trnh ta s thng dng nhiu activities (activity) thay i cc tc v khc nhau, v vy ta s hc x l nhiu activity ny lin kt chng li vi nhau.

1/6/2013

119

X L NHIU ACTIVITY
Code trong file AndroidManifest.xml

1/6/2013

120

X L NHIU ACTIVITY
Click chut phi vo th mc src chn New > Class t tn l Activity2 > Finish Copy file main.xml v paste vo chnh th mc layout, t li tn l activity2.xml (lc ny trong th mc layout c c main.xml v activity2.xml) Sa li file activity2.xml nh sau:

1/6/2013

121

X L NHIU ACTIVITY

Trong file Activity2.java, thm vo dng:

1/6/2013

122

X L NHIU ACTIVITY
Trong MainActivity.java

1/6/2013

123

X L NHIU ACTIVITY

1/6/2013

124

XUT GI TR T MT ACTIVITY
Trong file main.xml

1/6/2013

125

XUT GI TR T MT ACTIVITY
Trong Activity2.java

1/6/2013

126

XUT GI TR T MT ACTIVITY

1/6/2013

127

XUT GI TR T MT ACTIVITY
Trong MainActivity.java

1/6/2013

128

XUT GI TR T MT ACTIVITY

1/6/2013

129

XUT GI TR T MT ACTIVITY

Debug.
1/6/2013

130

XUT GI TR DNG INTENT OBJECT


Trong MainActivity.java

1/6/2013

131

XUT GI TR DNG INTENT OBJECT


Trong Activity2.java

1/6/2013

132

XUT GI TR DNG INTENT OBJECT

1/6/2013

133

GI MT NG DNG BNG INTENTS


To project mi tn l Intents, source l: net.learn2develop.Intents Trong main.xml

1/6/2013

134

GI MT NG DNG BNG INTENTS


Trong MainActivity.java

1/6/2013

135

GI MT NG DNG BNG INTENTS

1/6/2013

136

GI MT NG DNG BNG INTENTS

1/6/2013

137

GI MT NG DNG BNG INTENTS

Debug.
1/6/2013

138

GI MT NG DNG BNG INTENTS

1/6/2013

139

GI MT NG DNG BNG INTENTS

1/6/2013

140

GI MT NG DNG BNG INTENTS

1/6/2013

141

GI MT NG DNG BNG INTENTS

1/6/2013

142

You might also like