thuc_hanh_android_2013.pdf
Post on 12-Nov-2015
8 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Lp trnh cho thit b di ng
Trang 1
Khi: i Hc
Nm 2013
Hng dn:
Bi tp thc hnh c chia theo Module
Mi Module c thit k cho thi lng l 312 tit thc hnh ti lp vi
s hng dn ca ging vin.
Ty theo s tit phn b, mi tun hc c th thc hin nhiu Module.
Sinh vin phi lm tt c cc bi tp trong cc Module tun tng ng.
Nhng sinh vin cha han tt phn bi tp ti lp c trch nhim t lm
tip tc nh.
Cc bi c du (*) l cc bi tp nng cao dnh cho sinh vin kh gii.
Bin son: GV Trn Duy Thanh
-
Lp trnh cho thit b di ng
Trang 2
MC LC
Module 1: Gii thiu mi trng pht trin in thoi di ng.................................. 3
Module 2: X l giao din ngi dng ....................................................................... 13
Module 3: X l tp tin, lu trng thi, CSDL, Content Provider ........................... 40
Module 4: X l a tin trnh v dch v .................................................................... 49
Module 5: Networking APIs v Multimedia APIs ..................................................... 62
Module 6: Telephony APIs v Location Base Service APIs ...................................... 70
Module 7: Thao tc vi thit b cm ng .................................................................... 74
Module 8: Danh sch ti mn hc .......................................................................... 77
-
Lp trnh cho thit b di ng
Trang 3
Module 1: Gii thiu mi trng pht trin in thoi di ng
Ni dung kin thc thc hnh:
- Lm quen vi mi trng pht trin in thoi di ng
- S dng Eclipse, DDMS cch thc Debug
- Cch ci t Android SDK, Update Android API, Upgrade Firmware
- S dng Android Virtual Device
- Tm hiu cc thnh phn trong Android App
- Tm hiu cc n v o lng trong Android
- Tm hiu vng i ca ng dng
- Tm hiu Google Play
Bi tp 1: Mc ch:
- Ci t c Java JDK, Android SDK, ADT plugin for Eclipse, update Android SDK.
Yu cu: - Ti v ci t Java JDK: http://java.sun.com/javase/downloads/index.jsp
- Ti v ci t Android SDK: http://developer.android.com/sdk/index.html , ti gi ADT
Bundle for Windows, gi ny s cha cc thnh phn:
o Eclipse + ADT plugin
o Android SDK Tools
o Android Platform tools
o Android API mi nht
o Android system image mi nht cho Emulator
- Cp nht ADT plugin mi nht cho Eclipse:
1. Vo menu Help / chn Install New Software
2. Nhp ng dn: https://dl-ssl.google.com/android/eclipse/ v bm nt Add gc
bn phi
3. Chn cc thng s thch hp tin hnh cp nht.
- Cp nht Android SDK
- Tham chiu Android SDK
Hng dn: - Sau khi cu hnh thnh cng v khi ng Eclipse th ta s c mn hnh nh di y:
-
Lp trnh cho thit b di ng
Trang 4
- ng mn hnh Welcome bng cch click vo du cho k bn ch Android IDE
- tham chiu ti Android SDK, ta vo menu Windows/ Preferences/ chn Android vo
Browse ti SDK location m bn lu tr:
- cp nht Android SDK, ta vo menu Windows/ Android SDK Manager (hoc bm
vo biu tng trn thanh toolbar), chn cc gi cn cp nht v bm Install packages:
-
Lp trnh cho thit b di ng
Trang 5
Bi tp 2:
Mc ch: - To v thao tc c vi Android Virtual Device
- S dng c DDMS
- Cu hnh thit b debug
Yu cu: - To Android Virtual Device:
o t tn cho thit b
o Chn loi thit b
o Chn Target API
o Cu hnh Keyboard, Skin, Camera
o Thit lp internal storage
o Thit lp SD Card
o Chc nng Snapshot
- Khi ng AVD va mi to, tin hnh thc hin: quan st v th nghim cc chc nng
bn trong AVD, thit lp USB Debugging
- Thao tc trn DDMS:
o Kim tra cu trc th mc, ko th mt s tp tin vo AVD v quan st hin tng
o Thc hin unmount v Mount SD Card
o Thc hin chc nng Gi in v gi tin nhn trong Emulator Control
Hng dn: - T menu Windows/ chn Android Virtual Device Manager:
- Ti mn hnh ny chn nt New
-
Lp trnh cho thit b di ng
Trang 6
- Chn cc thng s k thut cn thit v bm OK - Mun khi ng AVD no th click chn AVD v bm nt Start, quan st:
-
Lp trnh cho thit b di ng
Trang 7
Bi tp 3: Mc ch:
- Dalvik Virtual machine
- Hiu c cc thnh phn bn trong ng dng Android:
o Cch to Android Project
o Activity, Intent, View
o Auto gen
o Android libs
o Resource
o Layout, menu, values
o Manifest XML
Yu cu:
- To mt Android Project, ng dng n gin ch xut hin dng ch Hello World!
- Kim tra tt c cu trc th mc ca ng dng, cho nhn xt
- Chy ng dng ny trn Emulator/ trn in thoi tht c h iu hnh Android.
- Gii thch c ch m Android Project c thc hin trn thit b nh th no: cch thc
bin dch, cch thc ng gi, cch thc upload ci t vo thit b
- Tin hnh xa th mc Auto gen (gen), quan st hin tng
- Vo menu Project/ chn Clean, chn Build automatically, quan st hin tng
- Bm chut phi vo Project/ chn Build Path/ configure build Path, quan st mn hnh
- Bm chut phi vo Project/ chn Android Tools/ quan st chc nng Fix project
Properties v cc chc nng khc
- Tin hnh Uninstall ng dng ra khi my
Hng dn: - to mt Android Project: Vo menu File/ chn new/ chn Android Application
Project - Hoc trong Package Explorer/ bm chut phi/ chn new / chn Android Application
Project - Trong mt s trng hp khng thy Package Explorer (mn hnh chnh lp trnh), ta
vo menu Windows/ chn Show View/ chn Package Explorer - C th hin th Logcat trong Windows/ show view/ logcat quan st thng tin qu trnh
ng dng thc thi
-
Lp trnh cho thit b di ng
Trang 8
Bi tp 4: Mc ch:
- Tm hiu vng i ca ng dng Android: cc s kin sy ra theo trnh t nh th no
Yu cu:
- To mt Android Project, t tn l LearnAndroidLifetime
- Trong MainActivity, tin hnh Override cc hm onStart, onResume, onPause, onStop,
onDestroy, onRestart; trong mi hm ny n gin ch s dng Toast hin th tn hm
c thc thi.
- Hy tm cch cho cc hm Override trn sy ra, cho nhn xt.
Hng dn: - Cch s dng Toast:
- chng trnh t thm cc Override method, ta lm nh sau: Bm chut phi vo mn
hnh son tho/ chn Source/ chn Override Implement methods:
- Khi ca s Implement s hin th ln, ta chn cc hm mong mun ri bm nt Ok
-
Lp trnh cho thit b di ng
Trang 9
Bi tp 5: Mc ch:
- Hiu c Activity Stack
- Hiu su hn v vng i ca ng dng
- Hiu c Foreground lifetime v Visible lifetime
Yu cu:
- Hiu chnh LearnAndroidLifetime Project trong bi 4
- Trong Project ny to thm 2 Activity ln lt tn l SubActivity1 v SubActivity2
(nh vy Project s c tng cng 3 Activity bao gm 2 ci va to v 1 MainActivity)
- Ch rng cu hnh sao cho SubActivity1 s hin th di dng Dialog (khi
SubActivity1 kch hot th n s nm pha trn MainActivity, nhng m vn nhn thy
mn hnh MainActivity tc l ng thi nhn thy 2 Activity). Cn khi SubActivity2
hin th th n s chim ton b mn hnh, khng th thy c MainActivity.
- Trong MainActivity to 2 Button cho php hin th SubActivity1, v SubActivity2.
Trong mi trng hp hy quan st s kin sy ra trong MainActivity v cho nhn xt
(ch l cc s kin chc chn s sy ra khc nhau trong 2 trng hp ny).
o Foreground Lifetime sy ra t onResume()onPause()
o Visible Lifetime sy ra t onStart()onStop()
Hng dn: - Project s nh hnh sau:
- Cu hnh SubActivity1 hin th di dng Dialog: Trong Manifest XML, thm
android:theme= "@android:style/Theme.Dialog". Ta c th dng GUI trong Eclipse
thay i thng s cho d dng.
- Cch m mt Activity trong Android: y t MainActivity ta m SubActivity1 v
SubActivity2 khi ngi s dng chn Button1, Button2
-
Lp trnh cho thit b di ng
Trang 10
- Phng thc findViewById tr v View theo ng Id truyn vo, mi Control trong
Android u k tha t View, y ta p kiu v cho ng kiu Button.
- Dng phng thc startActivity m mt Activity, ch l Activity ny c a vo
mt Intent vi cch khai bo nh trn. - Cch chy SubActivity1 v SubActivity2 l hon ton ging nhau. Ch khc nhau lc
hin th ln mn hnh in thoi (nh gii thch trn). - Ta s hc r hn v Intent trong phn sau, tm thi phn ny cha cn phi hiu su v
n. Ch cn bit rng chy 1 Activity no th phi tin hnh nh vy.
-
Lp trnh cho thit b di ng
Trang 11
Bi tp 6: Mc ch:
- Tm hiu Google Play
Yu cu:
- Vo trong https://play.google.com/store tin hnh ng k v upload .apk (c ng ph,
hin ti l 25USD)
- Xem hng dn c th : http://support.google.com/googleplay/android-
developer/answer/113469?hl=en
Hng dn:
Bi tp ny sinh vin no c nhu cu th lm. Khi c ng dng tt mun chia s vi cng ng
th nn lm bi tp ny.
-
Lp trnh cho thit b di ng
Trang 12
Bi tp 7 (*): Mc ch:
- Bit c cch Upgrade Firmware cho mt s thit b tht s dng h iu hnh Android.
Yu cu:
- Tm hiu Odin mode
- Mt s trang hu ch : http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-
to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/
- http://www.theandroidsoul.com/?s=Odin
Hng dn: - Phi kim tra k thng s k thut ca in thoi xem c tng thch hay khng sau
mi tin hnh Upgrade Firmware
- Nu khng c chc chn th ng c thc hin (nht l i vi nhng in thoi mc
tin)
- i khi cc sinh vin phi mo him vi thit b ca mnh khm ph (khuyn khch)
-
Lp trnh cho thit b di ng
Trang 13
Module 2: X l giao din ngi dng
Ni dung kin thc thc hnh:
- Thc hnh v XML Layout XML Container
- Cc kiu lp trnh s kin trong Android
- Thc hnh v Toast & Alert Dialog
- Thc hnh cc control c bn: View, TextView, EditText, Button, RadioButton,
- Thc hnh cc control nng cao: ListView, GridView, Spinner, Autocomplete, Menu
- Cch to Custom Layout
- Thc hnh v Webkit, Javascript
- Thc hnh v Intent: cch m nhiu mn hnh (Activity) trong Android
- Cch lp trnh chm n im v a im trong Android
- Cch cu hnh a ngn ng trong Android
Bi tp 1: Mc ch:
- To v hiu chnh XML Layout
- S dng XML Layout
Yu cu:
- To mt Android Project
- To thm mt XML Layout (ty ) t tn l new_my_layout.xml
- Ko th mt s control vo layout mi ny: Button, Checkbox, Radio
- Tin hnh thay i layout mi ny qua cc loi: FrameLayout, LinearLayout,
TableLayout, RelativeLayout, AbsoluteLayout, v quan st hin tng
- Trong MainActivity, sa dng lnh setContentView(R.layout.activity_main); thnh
setContentView(R.layout. new_my_layout);
- Chy ng dng ny v cho nhn xt
Hng dn:
- to mt XML Layout: Bm chut phi vo Project/ New/ Android XML File:
o Mn hnh to Android XML File s hin th ln, ti mn hnh ny Resource Type
chn l Layout, phn Root Element chn loi Layout gi s l LinearLayout,
mc File nhp tn l new_my_layout ri bm nt Finish (xem hnh trang bn).
-
Lp trnh cho thit b di ng
Trang 14
- thay i Layout ta lm nh sau: trong Graphical Layout/ bm chut phi chn
Change Layout
- Chn loi Layout ri bm nt OK thay i Layout
- xem cu trc XML layout di dng outline: vo meu Windows/ Show View/ Outline
-
Lp trnh cho thit b di ng
Trang 15
Bi tp 2: Mc ch:
- Thc hnh v hiu v FrameLayout
Yu cu: - To mt Android Project, chuyn Layout qua loi FrameLayout
- Thm 2 ImageView vo FrameLayout ny
- Chy ng dng ny v cho nhn xt v v tr xut hin ca 2 ImageView trn
Hng dn:
Bi tp 3: Mc ch:
- Thc hnh v hiu v LinearLayout:
o Cch to LinearLayout (vertical, horizontal)
o Orientation
o Fill model
o Weight
o Gravity
o Padding
o Margin
Yu cu: - To Android Project c cc control nh hnh bn di:
- Thay i android:orientation="horizontal" v android:orientation="vertical" quan
st cc control trn giao din sp xp khc nhau.
- Trong mi control thay i android:layout_width v android:layout_height: thit lp
3 thng s (125dip, wrap_content, fill_parent), quan st s thay i
- Thit lp TextView User Name c android:layout_weight="1", EditText thanhtran c
android:layout_weight="2", Button OK c android:layout_weight="1", quan st s
thay i ca cc control trn giao din
- Thit lp thng s android:layout_gravity="right" cho Button OK, quan st s thay i
ca cc control c ging nh mn hnh bn di hay khng:
-
Lp trnh cho thit b di ng
Trang 16
- Thit lp thng s android:gravity="right" cho Button OK, quan st s thay i. Hy
cho nhn xt s khc nhau gia layout_gravity v gravity
- Thit lp thng s android:padding="30dip" v android:layout_margin="10dip" cho
EditText, hy cho bit s khc bit gia padding v margin
Hng dn: - thit lp cc thng s cho control trn giao din, ta s dng GUI ca eclipse trong ch
Graphical Layout, hoc chnh sa trc tip trong file XML layout:
Ch Graphical Layout
Ch XML editor
-
Lp trnh cho thit b di ng
Trang 17
Bi tp 4: Mc ch:
- Thc hnh v hiu v TableLayout:
o To v s dng c TableLayout
o Hiu c TableRow
o Hiu c android:layout_span
o Hiu c android:column
o Hiu c android:stretchColumns
Yu cu: - To Android Project c kiu layout l TableLayout, thit k cc control trn giao din
ging nh hnh bn di:
- Dng 1 cha TextView Input Catalog (c nn mu vng)
- Dng 2 cha Text View Cate Id v EditText
- Dng 3 cha Text View Cate Name v EditText
- Dng 4 cha Button InsertCate
- Chy ng dng v cho nhn xt.
- Hy gii thch ngha ca android:layout_span, android:layout_column v
android:stretchColumns
- Thm 2 Button na vo dng s 4, chy ng dng v cho nhn xt
Hng dn: - Lm theo outline layout sau:
- Thit lp cc thng s:
o android:stretchColumns="*" cho TableLayout
o android:layout_span="2" cho TextView dng 1
o android:layout_column="1" cho Button dng 4
-
Lp trnh cho thit b di ng
Trang 18
Bi tp 5: Mc ch:
- Thc hnh v hiu v RelativeLayout
o To v s dng c RelativeLayout
o Hiu c cc RelativeLayout Parameter android:layout_ : width, height, below,
above, alignTop, alignParentTop, alignBottom, alignParentBottom, toLeftOf,
toRightOf, padding, margin.
Yu cu: - To Android Project c kiu Layout l RelativeLayout, thit kt cc control nh giao
din bn di:
- Sau khi thit k cc control ging nh trn, yu cu thit lp li Id cho EditText
duythanhcse, quan st hin tng sy ra i vi cc control cn li v cho nhn xt; Tm
cch sa li cc parameter gi c giao din thit k ban u.
- Thm 2 Checkbox ln lt c id=chk1, id=chk2. Hai Checkbox ny phi cng nm trn
mt dng v chk1 nm bn tri mn hnh, chk2 nm bn phi mn hnh
Hng dn: - Lm theo outline layout sau:
- Thit lp cc thng s:
o alignParentLeft="true", alignParentTop="true" cho lblusername
o alignParentLeft="true", below="@+id/lblusername" cho editUserName
o alignParentRight="true", below="@+id/editUserName" cho btnOK
o alignBaseline="@+id/btnOK", alignBottom="@+id/btnOK",
toLeftOf="@+id/btnOK" cho btnCancel
-
Lp trnh cho thit b di ng
Trang 19
Bi tp 6: Mc ch:
- Thc hnh v hiu v RelativeLayout (tip tc)
Yu cu: - Dng RelativeLayout, thit k giao din nh hnh bn di:
Hng dn:
Bi tp 7: Mc ch:
- Kt hp nhiu loi Layout
Yu cu: - Thit k giao din nh hnh bn di:
Hng dn:
-
Lp trnh cho thit b di ng
Trang 20
Bi tp 8: Mc ch:
- Thc hnh v hiu c cc kiu lp trnh s kin trong Android
o Onclick in XML
o Inline anonymous listener
o Activity is listener
o Listener in variable
o Explicit listener class
o View Subclassing
Yu cu: - Thit k giao din nh hnh bn di v thc hin cc yu cu sau:
- Mi ln click chut vo cc Button th s thc hin php ton tng ng: v d khi click
chut vo Tng 2 s th kt qu trn l 113.
- Ring nt Thot chng trnh: cho php ng chng trnh
- Tng 2 s vit theo Onclick In XML
- Hiu 2 s vit theo Inline anonymous listener
- Tch 2 s vit theo Activity is listener
- Thng 2 s vit theo Listener in variable
- c s chung ln nht vit theo Explicit listener class
- V Thot chng trnh vit theo View Subclassing
Hng dn: - ly s a: EditText edita=(EditText)findViewById(R.id.editsoa);
int a=Integer.parseInt(edita.getText()+"");
- thot chng trnh gi hm: finish();
-
Lp trnh cho thit b di ng
Trang 21
Bi tp 9: Mc ch:
- Thc hnh v cc kiu lp trnh s kin trong Android (tip tc)
- Cng c thm k thut lp trnh s kin trong Android
Yu cu: - Vit chng trnh chuyn i nhit CF. Thit k giao din v thc hin cc yu cu
nh bn di:
- Khi bm Convert To Celsius s chuyn i t FC
- Khi bm Convert To Fahrenheit s chuyn i t CF
- Khi bm nt Clear s xa trng ton b d liu trong EditText
Hng dn: - Kt hp LinearLayout vertical v LinearLayout horizontal thit k giao din trn
- Chn kiu lp trnh s kin ty thch
- Cng thc:
V d:
Chuyn t 37C ti F : 37C x 9/5 + 32 = 98.6F
Chuyn t 98.6F ti C : (98.6F - 32) x 5/9 = 37C
-
Lp trnh cho thit b di ng
Trang 22
Bi tp 10 (*): Mc ch:
- Thc hnh v cc kiu lp trnh s kin trong Android (tip tc)
- Cng c thm k thut lp trnh s kin trong Android
- Cng c li Layout
Yu cu: - Vit chng trnh my tnh b ti n gin, kt hp mt s kiu Layout thit k giao
din nh hnh bn di:
- Chng trnh ch cn thc hin php ton n (cha cn lng php ton)
- Bm Delete : xa d liu hin hu trn EditText trn cng
- Bm vo cc con shin th ln EditText
- Bm vo php ton: +, -, *, / hin th ln EditText
- Bm tip cc con s hin th ln EditText
- Bm du = thc hin php ton
Hng dn: - Kt hp TableLayout v LinearLayout (hoc ty thch)
- Cc trn mn hnh chnh l cc Button, ch l thay i mu nn v mu ch.
- Khuyn khch cc sinh vin kh gii hon thnh y chc nng ca ng dng ny
-
Lp trnh cho thit b di ng
Trang 23
Bi tp 11: Mc ch:
- Thc hnh v hiu c Toast Notification
Yu cu: - Vit ng dng Android kim tra Toast notification
- Gii thch trong i s u tin ca Toast.makeText khi th s dng MainActivity.this,
khi ch s dng this khng?
Hng dn: - Toast toast=Toast.makeText(MainActivity.this, "Hello Toast!",
Toast.LENGTH_SHORT) .show();
- Toast.LENGTH_SHORT hin th 2 giy, Toast.LENGTH_LONG hin th 3.5 giy
Bi tp 12: Mc ch:
- Thc hnh v hiu c Alert Dialog
Yu cu: - Vit chng trnh vi giao din nh hnh bn di v thc hin cc chc nng:
- Khi ngi s dng bm nt ng nhp:
o Nu ngi s dng checked vo Lu thng tin th Toast thng bo l cho mng
bn ng nhp h thng, bn lu thng tin
o Nu ngi s dng unchecked vo Lu thng tin th Toast thng bo l cho
mng bn ng nhp h thng, bn khng lu thng tin
- Khi ngi s dng bm nt Thot, chng trnh s hin th Aler Dialog nh bn di,
chn Yes s ng ng dng.
Hng dn:
- Xem trong slide bi ging (Slide 62 x l giao din ngi dng)
-
Lp trnh cho thit b di ng
Trang 24
Bi tp 13: Mc ch:
- Thc hnh v hiu c cc Control c bn trong Android:
o TextView, EditText, Button
Yu cu: - Vit chng trnh i nm Dng lch qua nm m lch:
- EditText nm dng lch ch c nhp s >=1900
- Khi bm nt Chuyn i, chng trnh s chuyn t nm dng lch qua nm m lch,
kt qu s c hin th vo TextView mu vng.
Hng dn: Nm m = Can + Chi; Can = Nm dng % 10 :
Chi = Nm dng % 12 :
String can,chi;
switch(namduong%10){
//ly can trong ny da vo bng s 1
}
switch(namduong%12){
//ly chi trong ny da vo bng s 2
}
Ghp can v chi ta c nm m lch
-
Lp trnh cho thit b di ng
Trang 25
Bi tp 14: Mc ch:
- Thc hnh v hiu c cc Control c bn trong Android:
o TextView, EditText, Button, Checkbox, RadioButton
Yu cu: - Thit k giao din nh hnh bn di v thc hin cc chc nng:
- Tn ngi khng c trng v phi c t nht 3 k t
- Chng minh nhn dn ch c nhp kiu s v phi c ng 9 ch s
- Bng cp mc nh s chn l i hc
- S thch phi chn t nht 1 chn la
- Thng tin b sung c th trng
- Khi bm gi thng tin, chng trnh s hin th ton b thng tin c nhn cho ngi s
dng bit (dng Alert Dialog):
Hng dn: - Dng RadioGroup x l bng cp.
- Dng isChecked() kim tra RadioButton v CheckBox c c checked hay khng.
- Chi tit xem slide 69, 72 phn X l giao din ngi dng.
-
Lp trnh cho thit b di ng
Trang 26
Bi tp 15: Mc ch:
- Thc hnh v hiu c cc Control c bn trong Android:
o TextView, EditText, Button, Checkbox, RadioButton, Image, ScrollView
Yu cu: - Vit chng trnh tnh tin bn sch online, thit k giao din nh hnh bn di v thc
hin cc chc nng theo yu cu (ch dng Scroll View v giao din c kch thc di
hn chiu cao ca mn hnh):
Dng chc nng ScrollView ln pha trn thy thm c dng tiu b che khut nh bn di:
- Yu cu thc hin:
o Khi bm nt Tnh Thnh Tin (Tnh TT) chng trnh s tnh thnh tin bit rng
mi cun sch c n gi l 20000, nu l khch hng VIP th gim 10%
o Khi bm nt Tip, chng trnh s lu thng tin ha n va tnh Thnh Tin vo
danh sch, ng thi xa trng d liu trong ha n v cho focus ti EditText
Tn khch hng
o Khi bm nt Thng k, chng trnh s hin th thng tin vo mc Thng tin
thng k: tng s KH, tng s KH VIP v tng doanh thu
o Khi bm vo nt thot (dng ImageButton): hin th AlertDialog hi xem ngi
s dng c chc chn mun thot hay khng?
Hng dn: - Kt hp ScrollView ( ngoi cng), LinearLayout v TableLayout
- Dng List hoc ArrayList lu li thng tin mi ln bm nt Tnh Thnh Tin, mc
ch phc v cho chc nng thng k.
-
Lp trnh cho thit b di ng
Trang 27
Bi tp 16: Mc ch:
- Thc hnh v hiu c cc control nng cao trong Android:
o ListView
- Hiu c cch s dng String-Array, ArrayAdapter
Yu cu: - Thit k giao din nh hnh bn di:
- Giao din gm 1 TextView v 1 ListView
- Trong res/values/strings.xml to mt String-Array: cha mt s cc gi tr nh hnh trn
- Khi ng dng c khi ng, n s t ng c cc gi tr trong String-Array v hin
th ln ListView
- Khi click chut vo tng phn t trn ListView, s hin th v tr v gi tr phn t c
click vo TextView c mu xanh dng bn trn.
Hng dn: - Trong hm onCreate ca Activity thit lp ArrayAdapter cho ListView
- Chi tit xem slide 78,79,80 phn x l giao din ngi dng
Bi tp 17: Mc ch:
- Thc hnh v hiu c cc control nng cao trong Android:
o ListView
- Hiu c cch s dng ArrayList, ArrayAdapter
Yu cu: - Thit k giao din nh yu cu:
-
Lp trnh cho thit b di ng
Trang 28
- Mi ln ngi s dng chn nt Nhp, chng trnh s lu d liu trong mc Nhp tn
vo ArrayList ng thi cp nhp danh sch vo ListView
- Khi chn tng phn t trong ListView, chng trnh s hin th v tr v gi tr ca phn
t ang chn vo TextView mu xanh
Hng dn: - S dng hm notifyDatasetChanged ca ArrayAdapter t ng cp nht li danh
sch cho ListView khi ArrayList thay i d liu.
- Chi tit xem slide 81, 82 phn x l giao din ngi dng
Bi tp 18: Mc ch:
- Thc hnh v hiu c cc control nng cao trong Android:
o ListView
- Hiu c cch s dng ListActivity, ArrayAdapter
Yu cu: - Thit k giao din nh yu cu bn di (k tha t ListActivity thay v Activity):
-
Lp trnh cho thit b di ng
Trang 29
Hng dn: - K tha t ListActivity
- t id cho ListView l @android:id/list Chnh l tn mc nh trong Android
- Chi tit xem slide 83, 84, 85, 86 phn X l giao din
Bi tp 19: Mc ch:
- Thc hnh v hiu v cc control nng cao trong Android:
o Hc cch to Custom ListView
o Cch k tha ArrayAdapter
Yu cu: - Hy xy dng ng dng Android nh hnh bn di, yu cu hiu chnh li ListView
c th hin th theo mun ring
- Mi phn t trong ListView s c 1 hnh nh v 1 ni dung, nu ni dung c s lng k
t
-
Lp trnh cho thit b di ng
Trang 30
Yu cu: - Thit k ng dng nh mn hnh bn di:
- Khi ng dng khi ng, Danh mc sn phm s hin th vo trong Spinner nh hnh
- Mi ln chn vo danh mc trong Spinner, chng trnh s hin th danh sch sn phm
vo ListView theo danh mc tng ng:
- ng vi mi sn phm l in thoi s c mi hnh nh ring
- Khi chn tng sn phm trong ListView, chng trnh s dng Toast hin th chi tit
Hng dn: - p dng Custom Layout thit k cho ListView
- Gi lp 2 ArrayList, ArrayList 1 cha danh sch Danh Mc Sn phm, ArrayList 2 cha
danh sch sn phm theo danh mc
- ng dng load t CSDL ln giao din cho phn hc k tip
-
Lp trnh cho thit b di ng
Trang 31
Bi tp 21 (*): Mc ch:
- Thc hnh v hiu v cc control nng cao trong Android:
o Hiu v s dng c AutoCompleTextView
o Hiu v s dng c GridView, kt hp vi Spinner
Yu cu: - Thit k giao din nm ngang nh hnh bn di v thc hin cc yu cu:
- Khi khi ng chng trnh s load danh sch danh mc sn phm vo Spinner
- Mi ln chn Danh mc sn phm, chng trnh s hin th danh sch sn phm ca danh
mc ang chn vo GridView (xem hnh)
- Khi ngi s dng nhp 1 tn sn phm mi vo AutoCompleteTextView v chn nt
Nhp th chng trnh s a sn phm mi ny vo ng danh mc ang chn; cp nhp
vo AutoComplete v ng thi cp nht vo GridView (2 ch cp nht)
- Mi ln chn tng phn t trong GridView, chng trnh s dng Alert Dialog hin
th thng tin chi tit cho tng phn t.
Hng dn: - C 3 i tng: Spinner, AutoCompleteTextView, GridView u s dng ArrayAdapter
- Nh vy mi ln c s thay i d liu (List cha d liu tng ng thay i) th ta gi
hm notifyDatasetChanged ca ArrayAdapter tng ng cho mi i tng.
- Thit lp android:completionThreshold="1" cho AutoCompleteTextView. Ty vo
ca ngi lp trnh m ta thit lp cc gi tr khc nhau, S ny c ngha kch
hot chc nng AutoComplete, nu thit lp l 1 th g 1 k t n s kch hot, nu thit
lp l 3 th g 3 k t n s kch hot
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
thit lp ng dng nm ngang in thoi.
-
Lp trnh cho thit b di ng
Trang 32
Bi tp 22 (*): Mc ch:
- Thc hnh v hiu v cc control nng cao trong Android:
o Hiu cch a hnh nh vo GridView, bit cch s dng BaseAdapter
Yu cu: - Vit ng dng trnh din hnh nh nh sau (s dng GridView):
- Khi chn tng hnh nh trong GridView th s m mt mn hnh mi hin th thng
tin chi tit ca hnh ang chn (v d chn hnh ch Cu):
- Chn nt Back tr v mn hnh chnh
Hng dn: - Xem hng dn chi tit slide 120, 121, 122, 123, 124 phn x l giao din ngi dng
-
Lp trnh cho thit b di ng
Trang 33
Bi tp 23: Mc ch:
- Thc hnh v hiu cc control nng cao trong Android:
- Hiu v s dng c Time Selection:
o AnalogClock
o Chronometer
o TimePickerDialog
o DatePickerDialog
Yu cu: - Vit chng trnh qun l mc tiu hon thnh cng vic hng tun: L do chng ta lm
vic khng c quy c, khng nht qun, gp u lm , ang lm vic ny thy vic kia
sy ra li nhy qua vic lm d cng vic c cha xong, khng theo quy trnh nh
sn dn n kt thc mt ngy m cui cng khng hon thnh c vic g c.
- Thit k giao din nh hnh bn di v thc hin mt s chc nng:
- Khi chn nt Date s hin th DatePickerDialog cp nht Ngy hon thnh
- Khi chn nt Time s hin th TimePickerDialog cp nht gi hon thnh
- Khi chn nt Thm cng vic (Thm CV), chng trnh s cp nhp vo ListView bn
di mn hnh
Hng dn: - Xem hng dn cch s dng DatePickerDialog v TimePickerDialog slide 113, 114
phn X l giao din ngi dng
-
Lp trnh cho thit b di ng
Trang 34
Bi tp 24: Mc ch:
- Thc hnh v hiu cc control nng cao trong Android:
o Hiu v s dng c TabSelector
Yu cu: - Thit k ng dng nh yu cu bn di:
- ng dng gm c 2 Tab: tab Login v tab Help
- ng vi mi Tab s c giao din khc nhau, sinh vin t to giao din ty thch thao
tc vi TabSelector
Hng dn: - Xem Slide 128, 129, 130 phn X l giao din ngi dng
Bi tp 25: Mc ch:
- Thc hnh v hiu cc control nng cao trong Android:
- Hiu v s dng c Menu, ContextMenu
Yu cu: - Hiu chnh bi tp 23, thm 1 Menu v 1 ContextMenu nh sau:
- Thit lp ContextMenu cho ListView (bm long time hin th ContextMenu): chn
sa cho php sa cng vic, chn Xa cho php xa cng vic, v m s CV
- Thit lp Menu cho ng dng (bm vo nt Menu ca emulator s hin th Menu): Xem
cng vic hon thnh, cha hon thnh v xa ton b cng vic
Hng dn: - Xem hng dn slide 133140 phn x l giao din ngi dng
-
Lp trnh cho thit b di ng
Trang 35
Bi tp 26 (*): Mc ch:
- Thc hnh v hiu v Webkit:
o Thao tc c vi Webkit Browser
o Cc Browser Command
o Cch ng k i tng trong Android vo JavaScript
o Tng tc Javascript v Android
Yu cu: - Xy dng ng dng tm v tr (dng d liu gi), cho php tng tc gia Android vi
HTML (Java Script). Giao din mn hnh nh sau:
- Khi chn nt Click to get location, chng trnh s ly thng s t Android v hin th
ln giao din HTML
- Khi chn nt Talking to Android, chng trnh s gi thng s trn HTML ti Android
v Android dng Toast hin th nhng thng s ly c t HTML ny
Hng dn:
- Dng Microsoft Express Web hoc trnh son tho bt k thit k HTML nh trn
- Ch ni dung tp tin HTML ch c cha tag html ngoi cng, tuyt i khng cha cc
Tag l khc.
- Ko th tp tin HTML vo th mc assets ca ng dng Android
- Chi tit xem slide hng dn 161167 phn x l giao din ngi dng
- Nh thit lp 3 thng s ny vo Manifest XML
-
Lp trnh cho thit b di ng
Trang 36
Bi tp 27: Mc ch:
- Thc hnh v hiu c v Intent (phi lm ht bi tp ny, rt quan trng):
o Explicit Intent
o Implicit Intent
o Cch ly kt qu qua li gia cc Activity thng qua Intent
Yu cu: - Vit chng trnh qun l bi ht, thit k giao din nh hnh bn di:
- Phi to Album trc khi vo chc nng qun l bi ht
- Khi chn chc nng thm Album, chng trnh s xut hin mn hnh di y (ch
m di dng Dialog):
o Chn lu album ny lu, chn xa trng xa d liu va nhp, focus ti
m.
- Khi chn xem danh sch album, chng trnh s m mt mn hnh mi hin th
danh sch Album to ch dng CustomLayout cho ListView:
-
Lp trnh cho thit b di ng
Trang 37
- Khi chn tng Album trong danh sch, s hin th mn hnh cho php chnh sa Album:
o Chn Update cp nht li Album
- Khi nhn Tht Lu (Long time) vo tng Album trong danh sch, chng trnh s hin
th Alert Dialog hi xem c mun xa Album ny hay khng?
- Chn C xa album mun xa, chn Khng tr v mn hnh xem danh sch
- Khi chn chc nng qun l bi ht mn hnh chnh chng trnh s hin th:
o Load danh sch album vo Spinner
o S dng DatePickerDialog ch ngy ra a
o Chn Thm bi ht a bi ht mi vo ListView bn di.
Hng dn: - Xem hng dn s dng Intent, get result trong slide 170180; 191205 phn x l
giao din ngi dng.
-
Lp trnh cho thit b di ng
Trang 38
Bi tp 28: Mc ch:
- Thc hnh v hiu c v Intent:
o Explicit Intent
o Implicit Intent
o Cch ly kt qu qua li gia cc Activity thng qua Intent
Yu cu: - Vit chng trnh qun l nhn s nh bn di (s dng Context Menu hoc Menu):
- Chn Chnh sa hiu chnh nhn vin ang chn trong ListView
o Chn Lu cp nht
- Chn Thm mi thm nhn vin mi:
o Chn Lu thm mi
-
Lp trnh cho thit b di ng
Trang 39
- Khi chn Xa, chng trnh s hin th Alert Dialog xc nhn xem c xa hay khng?
Hng dn: - Xem hng dn s dng Intent, get result trong slide 170180; 191205 phn x l
giao din ngi dng.
Bi tp 29: Mc ch:
- Thc hnh v hiu v chm a im trong Android
Yu cu: - Vit mt ng dng kim tra nu nh c 3 ngn tay ca ngi s dng lt trn mn hnh
th chuyn mu nn sang Mu
- Nu c 5 ngn tay ca ngi s dng lt trn mn hnh th m mt bi nhc bt k no
(dng Implicit Intent).
Hng dn: - Xem slide hng dn Multitouch 207212 phn x l giao din ngi dng
Bi tp 30:
Mc ch: - Thc hnh v hiu v a ngn ng trong Android
Yu cu: - Vit mt ng dng cho php x l a ngn ng trong Android (ng dng bt k)
Hng dn: - Xem hng dn a ngn ng 215218 phn x l giao din ngi dng
-
Lp trnh cho thit b di ng
Trang 40
Module 3: X l tp tin, lu trng thi, CSDL, Content Provider
Ni dung kin thc thc hnh:
- Thao tc vi cc tp tin trong Android: Internal Storage, External Storage v Cache files
- Thc hnh v XML Parser: DOM, SAX
- Thc hnh v lu trng thi ng dng: Share Preferences
- Thc hnh v Sqlite: cch to/ xa CSDL, to bng, truy vn, thm, sa, xa d liu
- Thc hnh v Content Provider: thao tc vi cc Content Provider c sn, cch to mi
cc Content Provider
Bi tp 1: Mc ch:
- Thc hnh v hiu c c ch lu tp tin trong Android:
o Internal Storage
o External Storage
o Cache files
Yu cu: - Vit chng trnh cho php c / ghi mt TextFile bt k t ng dng:
- Khi bm Write Data, chng trnh s lu ton b thng tin trong EditText xung tp tin
- Khi bm Read Data, chng trnh s c thng tin t tp tin v hin th ln EditText
- Ch th trn 2 trng hp: Internal v SD card, quan st ni lu tr tp tin trong File
Explorer ca DDMS
Hng dn: - Xem slide 8 , 9 phn x l tp tin
-
Lp trnh cho thit b di ng
Trang 41
Bi tp 2: Mc ch:
- Thc hnh v hiu c c ch lu tp tin trong Android:
o Internal Storage
o External Storage
o Cache files
Yu cu: - Vit chng trnh cho php load ton b danh sch Cache files ln giao din, mi ln
chn vo tng Cache s cho php c thng tin t cache. Chng trnh cn h tr chc
nng Xa tng Cache v xa ton b Cache
Hng dn: - S dng Intent m Activity xem chi tit ni dung ca tng cache chn trn ListView
- S dng lnh sau ly ton b Cache:
File cachDir=getCacheDir();
File listCache[]=cachDir.listFiles();
-
Lp trnh cho thit b di ng
Trang 42
Bi tp 3: Mc ch:
- Thc hnh v hiu c XML Parser:
o K thut dng DOM
o K thut dng SAX
Yu cu: - Cho cu trc XML sau:
- Hy dng 2 k thut DOM v SAX (vit 2 cch ) thc hin c file XML trn v a
ln giao din nh hnh bn di:
- Chng trnh s c danh sch Title vo Spinner (ch khng c trng lp)
- Chn Title no th s hin th danh sach nhn vin tng ng vo ListView theo Title .
Hng dn: - Xem k thut DOM, SAX trong slide 2733 phn x l tp tin
-
Lp trnh cho thit b di ng
Trang 43
Bi tp 4: Mc ch:
- Thc hnh v hiu c Share Preferences:
o Cch to v s dng Share Preferences
o Cch s dng Share Preferences Change listener (to cc Settings Activity)
Yu cu: - Vit ng dng vi giao din ging hnh di y:
- Yu cu thc hin:
o Khi ngi s dng chn ng nhp th ng ng dng ny li. Ch nu
checkbox Lu thng tin c checked th chng trnh s lu ton b thng tin
(user, password). Nu checked =false th xa ton b thng tin lu trc .
o Khi khi ng li ng dng, chng trnh s tm xem thng tin c c lu hay
khng, nu c lu th hin th li ln mn hnh cho ngi s dng
Hng dn: - Xem slide hng dn 38 , 39 phn x l tp tin
-
Lp trnh cho thit b di ng
Trang 44
Bi tp 5: Mc ch:
- Thc hnh v hiu c Share Preferences:
o Cch to v s dng Share Preferences
o Cch s dng Share Preferences Change listener (to cc Settings Activity)
Yu cu: - Vit ng dng dng PreferenceActivity c giao din nh bn di:
- Khi bm Start my Setting s hin th mn hnh Setting:
o Nu checked mn hnh chnh s c mu
o Nu unchecked mn hnh chnh s c mu xanh
- Ch l mn hnh chnh phi ng k Share Preferences Listener th mi t ng bt
c nhng s thay i trong Setting Activity
Hng dn: - Xem hng dn trong slide 4853 phn x l tp tin.
-
Lp trnh cho thit b di ng
Trang 45
Bi tp 6: Mc ch:
- Thc hnh v hiu v SQLite
o To c CSDL
o Thao tc vi bng d liu: thm, sa , xa
o V mt s tnh nng khc c cung cp bi SQLite
Yu cu: - Vit chng trnh qun l sch c m t nh sau:
o Mt tc gi s c nhiu cun sch, thng tin tc gi gm: m , tn
o Mi cun sch thuc v mt nh tc gi no , thng tin mi cun sch gm: m
sch, tn sch, ngy xut bn
o Hy chn kiu d liu hp l to c s d liu (s dng SQLite) cho ng vi
m t trn
- Thit k giao din nh hnh bn di:
- Phi to Tc gi trc khi vo chc nng qun l Sch
- Khi chn chc nng thm Tc gi, chng trnh s xut hin mn hnh di y (ch
m di dng Dialog):
o Chn Lu tc gi lu, chn xa trng xa d liu va nhp, focus ti m.
- Khi chn xem danh sch Tc gi, chng trnh s m mt mn hnh mi hin th
danh sch Tc gi to ch dng CustomLayout cho ListView:
-
Lp trnh cho thit b di ng
Trang 46
- Khi chn tng tc gi trong danh sch, s hin th mn hnh cho php chnh sa tc gi:
o Chn Update cp nht li Tc gi
- Khi nhn Tht Lu (Long time) vo tng tc gi trong danh sch, chng trnh s hin th
Alert Dialog hi xem c mun xa Tc gi ny hay khng?
o Chn C xa tc gi hin ti,
o Chn Khng tr v mn hnh xem danh sch
-
Lp trnh cho thit b di ng
Trang 47
- Khi chn chc nng qun l sch mn hnh chnh chng trnh s hin th:
o Load danh sch Tc gi vo Spinner
o S dng DatePickerDialog ch ngy xut bn
o Chn Thm sch lu vo CSDL ng vi tc gi chn trong Spinner, ng thi
cp nhp vo ListView bn di.
Hng dn: - Xem hng dn cch s dung SQLite trong slide 5468 phn x l tp tin
Bi tp 7: Mc ch:
- Thc hnh v hiu v Content Provider:
o S dng c Built in Content Provier
o T xy dng c Content Provider ring
Yu cu: - Vit chng trnh s dng mt s Content Provider ph bin, thit k giao din ging
nh hnh bn di:
-
Lp trnh cho thit b di ng
Trang 48
- Khi chn Show All Contact, chng trnh s hin th danh sch cc Contact c lu
trong in thoi:
- Tng t nh vy vit chng trnh s dng Content Provider c sn s dng Call
Log, Media Store, Book Marks
Hng dn: - Xem hng dn chi tit slide 7380 phn x l tp tin
Bi tp 8 (***): Mc ch:
- Thc hnh v hiu v Content Provider:
o S dng c Built in Content Provier
o T xy dng c Content Provider ring
Yu cu: - T xy dng mt Content Provider cho php tng tc vi Movie Object, thit k giao
din nh bn di:
Hng dn:
- Lm li slide hng dn t 8397, dnh cho sinh vin kh gii
-
Lp trnh cho thit b di ng
Trang 49
Module 4: X l a tin trnh v dch v
Ni dung kin thc thc hnh:
- Thc hnh v a tin trnh: Cch thc lp trnh vi Handler class v AsyncTask
- Thc hnh v Intent Filter
- Thc hnh v BroadCast Receiver: Cch ng k broadcast Receiver trong coding v
trong Manifest XML, thao tc vi mt s chc nng trong Broadcast Receiver
- Thc hnh v Android Service: cch thc giao tip vi Service thng qua Broadcast,
Binder, Messenger.
- Thc hnh v System Service: Pending Intent, Alarm Manager, NotificationManager
- Thc hnh v .Net Webservice: Cch to .net webservice, cch cu hnh IIS, cch thc
tng tc d liu gia Android v .Net Webservice: KSOAP Api
Bi 1:
Mc ch:
- Thc hnh v hiu c k thut lp trnh a tin trnh
o Cch tip cn bng Handler
o Cch tip cn bng AsyncTask
Yu cu:
- Vit chng trnh sau di dng a tin trnh:
- Yu cu thc hin vi nhiu cch (thc hin bi ny vi 3 cch khc nhau):
o Handler using sendMessage
o Handler using post
o Dng AsyncTask
- Khi bm Start chng trnh s cp nht thng s t 1% 100% ng thi ProgressBar
cng c thc thi theo (xem hnh trn)
- Khi t 100% chng trnh t ng ng.
- Th c gng chn nt Start tht nhiu ln, quan st v gii thch hin tng sy ra.
Hng dn: - Bi qu tm thng, t lm.
-
Lp trnh cho thit b di ng
Trang 50
Bi tp 2: Mc ch:
- Thc hnh v hiu c k thut lp trnh a tin trnh
o Cch tip cn bng Handler
o Cch tip cn bng AsyncTask
Yu cu: - Vit chng trnh cho php v cc Button t ng lc Runtime:
- Yu cu thc hin vi nhiu cch (thc hin bi ny vi 3 cch khc nhau):
o Handler using sendMessage
o Handler using post
o Dng AsyncTask
- Khi ngi s dng nhp s lng cc Button cn v vo EditText v chn chc nng
Draw Button th c 100 miliseconds mi Button s c v ra (xem hnh), ng thi vit
s kin ng cho cc Button ny. Mi ln chn cc Button mi v th dng Toast Thng
bo l chn hay l.
- Ch nn dng ScrollView cha cc Button v c th s lng Button ln, vt qu
chiu di ca mn hnh
Hng dn:
- llbutton l mt View no (do logic lp trnh ca mi ngi chn)
- gn s kin ging nh cch vit bnh thng
-
Lp trnh cho thit b di ng
Trang 51
Bi tp 3 (*): Mc ch:
- Thc hnh v hiu c k thut lp trnh a tin trnh
o Cch tip cn bng Handler
o Cch tip cn bng AsyncTask
o Kt hp nhun nhuyn gia Handler v AsyncTask
Yu cu: - Kt hp Handler v AsyncTask, vit chng trnh nh hnh di y:
o Mn hnh c chia ra lm 2 Layout (suy ngh cch dng Layout cho ti u),
o Layout 1 v cc Button vi cc s ngu nhin
o Layout 2 v cc Button l cc s nguyn t (ch rng cc s nguyn t ny l kt
qu sau khi AsyncTask thc hin cng vic v cc Button ngu nhin Layout 1)
Hng dn:
- Xem hng dn slide 3137 phn x l a tin trnh v dch v
-
Lp trnh cho thit b di ng
Trang 52
Bi tp 4: Mc ch:
- Thc hnh v hiu v Intent filter, Broadcast Receiver
o Cch khai bo v s dng Intent filter
o Cch ng k/ g b Broadcast Receiver
o Cch x l Broadcast Receiver trong coding
o Cch x l Broadcast Receiver trong Manifest XML
Yu cu: - Vit ng dng Android x l tin nhn rc.
- Hin nay rt nhiu tin nhn qung co gi v ti v, ci Al ca bn phi nhn rt nhiu
tin nhn nh th gy phin h v mt thi gian cho bn.
- Hy vit chng trnh gii quyt vn ny, yu cu nh sau:
o Chng trnh c giao din thm, sa, xa cc u s m bn cho l u s rc.
Nh vy nn dng SQLite hoc XML lu cc u s rc.
o Chng trnh phi t ng nhn tin nhn v pht hin ra c tin nhn no l gi
i t cc u s rc .
o Nu pht hin ra l u s rc th xa n khi inbox ca messaging ng thi
pht ra Audio l y l tin nhn rc, b x ngi s dng khng phi m
in thoi ln xem.
- Yu cu vit theo 2 cch (tc l bi tp ny lm thnh 2 Project khc nhau):
o ng k Broadcast Receiver nhn tin nhn ti trong coding
o ng k Broadcast Receiver nhn tin nhn ti trong Manifest XML
- Sau khi lm xong theo 2 cch trn, hy so snh s khc bit gia chng. V kt lun
chng ta nn chn cch no?
- Chng trnh phi ci t v chy c trn in thoi Android thit.
- Khi nhn tht lu vo 1 u s trong ListView th s ny s t ng Remove khi CSDL
-
Lp trnh cho thit b di ng
Trang 53
Hng dn: - Phi s dng 2 permission sau thao tc vi SMS, Audio s xem trong Multimedia
- ng k BroadCast Receiver trong Manifest:
- Vi MySmsReceiver l class ta to ra k tha t BroadcastReceiver
- Cch broadcast mt SMS hng dn trong Slide 5260 phn x l a tin trnh
- m mt tp tin Audio, xem hng dn trong Multimedia APIs (phn k tip)
- Cch xa mt tin nhn trong in thoi nh sau (da vo y truy vn danh sch u
s rc trong CSDL x l), y Ti a ra 2 v d v xa tin nhn:
o Xa ton b tin nhn do 1 u s no gi ti (tc l xa lun trong inbox c)
private void XoaToanBoSms(Context con,
SmsMessage[] msgs,
String phoneNumber)
{
try
{
for (int i=0; i
-
Lp trnh cho thit b di ng
Trang 54
o Xa tin nhn mi gi ti tc th do 1 u s no gi ti (ch xa tin mi nht)
private void XoaSmsMoiNhat(Context con,
SmsMessage[] msgs,
String phoneNumber)
{
try {
for (int i=0; i
-
Lp trnh cho thit b di ng
Trang 55
Bi tp 5: Mc ch:
- Thc hnh v hiu c Android Service
o Hiu c cch to v khi ng Service
o Hiu c cch giao tip vi service thng qua:
Broadcast
Binder
Messenger
Yu cu: - Bi tp ny vit theo 3 cch: Broadcast, Binder, Messenger (nn to 3 Project ring)
- Hy vit mt dch v cho php thc hin 2 cng vic:
o Tr v danh sch cc tin nhn trong inbox (c 100 miliseconds tr v 1 tin nhn)
o Tr v danh sch cc Contacts trong in thoi (tr v 1 ln ht cc danh b)
- Nh vy service phi kt hp vi a tin trnh gi thng tin cho ng dng ( y Ti
yu cu dng AsyncTask)
- Ci t v chy c trn in thoi Android thit
- Thit k mt ng dng triu gi dch v trn, xem giao din bn di:
Hng dn:
- Xem slide hng dn 7681 phn x l a tin trnh v dch v
- Uri uri=Uri.parse("content://sms/inbox");uri c tin nhn SMS trong inbox
- Uri uri=Uri.parse("content://contacts/people");uri c danh b trong in thoi
-
Lp trnh cho thit b di ng
Trang 56
Bi tp 6: Mc ch:
- Thc hnh v hiu c Android Service
o Hiu c cch to v khi ng Service
o Hiu c cch giao tip vi service thng qua:
Broadcast
Binder
Messenger
Yu cu: - Nng cp bi tp 5 trn:
- Yu cu Service cung cp thm 2 chc nng
o Tr v danh sch cc tin nhn trong inbox (c 100 miliseconds tr v 1 tin nhn)
o Tr v danh sch cc Contacts trong in thoi (tr v 1 ln ht cc danh b)
o Xa mt tin nhn trong inbox
o Xa mt contact trong danh b
- Yu cu i vi giao din:
o Khi bm tht lu vo mt tin nhn th yu cu Service xa tin nhn ny
o Khi bm tht lu vo 1 contact th yu cu Service xa contact ny
Hng dn: - Lm c bi 5 th phi lm c bi 6.
Bi tp 7: Mc ch:
- Thc hnh v hiu c System Android Service
o Hiu c PendingIntent
o To v s dng c AlarmManager (dng getBroadCast v getService)
o To v s dng c NotificationManager
Yu cu: - Dng AlarmManager vit chng trnh nhc nh ngy sinh nht.
o Hin nay v phi vt ln vi mi lo toan cuc sng, lm cho con ngi chng ta
lc no cng bn rn, chng ta lc no cng ch c cng vic v cng vic. Chng
ta qun i nhng ngy k nim quan trng ca b m, anh em, bn b, i tc.
in thoi th sn trong ngi nhng t gi bt my ln hi han mt ai , hay l
ch nhn nhng li chc sinh nht m thm ti ngi thn cng khng nh. N
v tnh lm cho chng ta tch bit vi cuc sng m p hng ngy, n lm cho
chng ta tr ln kh khan ti mc v tnh.
-
Lp trnh cho thit b di ng
Trang 57
o V l do ny, yu cu cc sinh vin vit phn mm nhc nh ngy sinh nht.
Chng trnh phi c giao din cho php nhp vo danh sch cc Ni dung nhc
nh vi nhng ngy nhc quy nh trn giao din.
o Khi n ng ngy , gi th in thoi phi t ng thng bo. Hnh thc
thng bo ty sinh vin chn la, c th:
M mt audio ni ti ngy sinh nht
Hoc t ng m mt Activity ln mn hnh thng bo l ti ngy sinh
nht
Hoc hnh thc no ty
- Chng trnh phi ci t v chy c trn in thoi Android thit
- Xem giao din bn di:
- Khi ng ti ngy sinh nht, Ti cho hin th Activity vi mn hnh mu nh trn,
sinh vin c th ty chn hnh thc Nhc Nh khc
- S dng DatePickerDialog nhp Birthday
- Khi chn Thm nhc nh s a thng tin xung ListView
- Khi nhn rt lu vo 1 nhc nh no trong ListView th xa n ra khi ListView
Hng dn: - Xem slide hng dn s dng AlarmManager : slide 8390
- S dng phng thc set ca class Calendar thit lp thi gian active
cal.set(2013, 2, 25, 0, 0, 0);//nm, thng, ngy, gi, pht, giy
-
Lp trnh cho thit b di ng
Trang 58
Bi tp 8: Mc ch:
- Thc hnh v hiu c System Android Service
o Hiu c PendingIntent
o To v s dng c AlarmManager (dng getBroadCast v getService)
o To v s dng c NotificationManager
Yu cu: - Dng NotificationManager vit ng dng:
- Hy vit ng dng n gian c giao din nh bn di:
- Khi chn Start, ng dng s hin th Notification thng bo nh bn di
- Ko Notification xung, v chn n, mn hnh tm kim Google s xut hin nh di:
- Chn Stop ngng Notification
Hng dn: - Xem hng dn slide 9799
-
Lp trnh cho thit b di ng
Trang 59
Bi tp 9 (*): Mc ch:
- Thc hnh v hiu c cch tng tc d liu gia Android v .Net Webservice
o Bit to .Net Webservice
o Bit cch cu hnh IIS
o Tng tc Android vi .Net Webservice thng qua KSOAP API
Yu cu: - Hy xy dng .Net Webservice vi m t sau (CSDL l Sqlserver):
- Webservice ny s cung cp cc dch v:
o m tng s danh mc
o Tr v danh sch cc danh mc
o Thm danh mc vo CSDL
o Xa danh mc khi CSDL
o Tr v danh sch cc sn phm theo mt m danh mc no
o Tnh thnh tin, vi 2 i s truyn vo l s lng v n gi
o V mt s dch v pht sinh khc khi lm
- Cu hnh IIS chy Webservice ny
- Xy dng phn mm Android tng tc vi Webservice trn thng qua KSOAP API:
-
Lp trnh cho thit b di ng
Trang 60
- Khi chn Insert Cate: chng trnh s gi dch v thm 1 danh mc vo CSDL (ch ch
c nhp khng qu 10 danh mc)
- Khi chn Show List Catalog: chng trnh s hin th ton b danh sch danh mc vo
ListView nh hnh.
- Khi chn tht lu mt danh mc no trn ListView th cho php xa danh mc ny,
ch l nu kim tra thy danh mc c sn phm ri th dng AlertDialog hi xem
ngi s dng bit v hi xem h c chc chn mun xa hay khng.
Hng dn: - Xem slide hng dn 107114
- Bi tp ny rt quan trng, khi i lm thc t chng ta hay phi tng tc ti mt
WebService no
-
-
Lp trnh cho thit b di ng
Trang 61
Bi tp 10: Mc ch:
- Thc hnh v bit c cch tng tc gia thit b Android vi My ch (Laptop)
o Thit lp c kt ni gia in thoi v Laptop
o Tng tc Android vi .Net Webservice thng qua KSOAP API
Yu cu: - Yu cu tng tc c gia thit b Android thit vi Labtop
Hng dn:
- T trin khai:
o Gi dng chc nng Portable wifi hotspot ca thit b
o Hoc mt s phn mm gip Laptop pht WIFI (Win7, Win8)
o Ch cn xc nh c IP ca my Laptop, kt ni theo IP ny
-
Lp trnh cho thit b di ng
Trang 62
Module 5: Networking APIs v Multimedia APIs
Ni dung kin thc thc hnh:
- Thc hnh cch x l Strict Mode: Dng permitAll() v AsyncTask
- Thc hnh truy sut d liu thng qua giao thc HTTP: c Text File, c Binary File,
cch ly Network Status
- Thc hnh v Camera: cch x l hnh nh t Camera, thao tc vi cc Parameters, cch
thc Zoomin, cch thc chia s hnh nh, thit lp mn hnh nn t Camera
- Thc hnh v Video: Cch thc lu tr Video, cch play Video, lm vic vi nhn dng
khun mt
- Thc hnh v Audio: Cch thc lu tr audio, cch play audio, cch tm kim, chia s
audio v thit lp nhc chung in thoi.
- Nu my khng c internet th t cu hnh IIS local s dng website bnh thng
Bi 1:
Mc ch:
- Thc hnh v hiu c cch c 1 Text file t internet
o Bit x l Strict mode
permitAll()
AsyncTask
Phn bit c s khc bit gia 2 cch ny, nn chn cch no
o S dng c mt s class h tr c Text file t internet
Yu cu: - Vit chng trnh cho php c mt Text file (URL path), giao din nh hnh bn di:
- Cch 1- Kt ni trong Main Thread dng permitAll()
- Cch 2- Kt ni mt Thread khc (dng AsyncTask)
- Gii thch s khc bit gia 2 cch v kt lun nn s dng cch no
Hng dn: - Xem slide hng dn 1012 phn Networking APIs v Multimedia APIs
-
Lp trnh cho thit b di ng
Trang 63
Bi tp 2: Mc ch:
- Thc hnh v hiu c cch c 1 Binary file t internet
o Bit x l Strict mode
permitAll()
AsyncTask
Phn bit c s khc bit gia 2 cch ny, nn chn cch no
o S dng c mt s class h tr c Binary file t internet
Yu cu: - Vit ng dng cho php hin th mt hnh nh bt k t internet nh sau:
- Yu cu dng AsyncTask load hnh nh v in thoi
Hng dn: - Xem slide hng dn t 1416 phn Networking APIs v Multimedia APIs
Bi tp 3: Mc ch:
- Hiu thm cch c 1 Binary file t internet
Yu cu: - Ci tin bi tp 2 bng cch thm 1 Progressbar load hnh nh v, v bi tp 2 thng
gy ra tnh trng ging nh my khi m tp tin qu nng hoc internet chm
Hng dn:
-
Lp trnh cho thit b di ng
Trang 64
Bi tp 4: Mc ch:
- Thc hnh v hiu c cch kim tra trng thi mng ca thit b Android:
o Hiu v s dng c ConnectivityManager
Yu cu: - Vit chng trnh cho php kim tra tnh trng mng ca thit b di ng Android, giao
din nh hnh bn di:
- Yu cu dng AsyncTask
Hng dn: - Xem slide hng dn 1821 phn Networking APIs v Multimedia APIs
- ng dng bi tp ny sa li bi tp 1, 2, 3, . Kim tra nu my cha c Wifi hoc 3G
th yu cu m Wifi hoc ng k 3G trc khi thc hin kt ni internet.
Bi tp 5: Mc ch:
- Thc hnh v hiu v Camera:
o Cch chp hnh nh t Camera
o Cch s dng Camera Parameter
o Chia s hnh nh
o Thit lp mn hnh in thoi t hnh nh trong Camera
- Khng th c trn emulator, phi th trn in thoi Android thit
Yu cu: - Vit chng trnh cho php kch hot Camera v chp mt hnh nh t Camera ri lu
vo SD Card, xem giao din minh ha:
-
Lp trnh cho thit b di ng
Trang 65
- Khi chn View Camera, s cho php kch hot Camera
- Khi chn take Photo s cho php chp hnh nh hin ti trong Camera v lu vo th.
Hng dn: - Xem slide hng dn 2734 phn Networking APIs v Multimedia APIs
Bi tp 6 (*): Mc ch:
- Thc hnh v hiu v Camera:
o Cch chp hnh nh t Camera
o Cch s dng Camera Parameter
o Chia s hnh nh
o Thit lp mn hnh in thoi t hnh nh trong Camera
- Khng th c trn emulator, phi th trn in thoi Android thit
Yu cu: - Ci tin bi tp 5, thm cc chc nng :
o Zoom in, Zoom out
o Xoay Camera
o Chia s hnh nh
o Thit lp mn hnh nn
o Chc nng bt / tt n Flash (thay cho n Pin khi bui ti Cp in)
- Giao din sinh vin t sng to sao cho d s dng
Hng dn: - Xem cch to n flash trong Android, da vo y a vo bi tp 6.
-
Lp trnh cho thit b di ng
Trang 66
- Trong Manifest XML cu hnh permission:
- Coding trong Activity:
public class MainActivity extends Activity {
//Button bt n Flash Button btnflashlight;
//Bin c kim tr n Flash ang bt hay tt private boolean isFlashOn = false;
//to i tng camera truy sut Flash light private Camera camera;
//Parameter thit lp cho camera private Parameters params;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnflashlight=(Button)
findViewById(R.id.btnturnonoroffflash);
btnflashlight.setOnClickListener(new
View.OnClickListener() {
public void onClick(View arg0) {
doTouchtoOn();
}
});
}
public void doTouchtoOn()
{
//Nu n flash ang m if (isFlashOn) {
//Thit lp flashmode off cho parameter params.setFlashMode(Parameters.FLASH_MODE_OFF);
//thit lp parameter cho camera camera.setParameters(params);
//gn c kim tra bng flase
-
Lp trnh cho thit b di ng
Trang 67
isFlashOn = false;
//Thit lp ch cho button l Bt n btnflashlight.setText("Bt n"); }
//Nu n flash ang else {
//thit lp flashmode on cho parameter params.setFlashMode(Parameters.FLASH_MODE_TORCH);
//thit lp parameter cho camera camera.setParameters(params);
//gn c kim tra bng true isFlashOn = true;
//Thit lp ch cho Button l Tt n btnflashlight.setText("Tt n"); }
}
protected void onResume() {
super.onResume();
PackageManager pm = getPackageManager();
if(!pm.hasSystemFeature
(PackageManager.FEATURE_CAMERA)) {
Toast.makeText(getApplicationContext(),
"My khng c Camera!",
Toast.LENGTH_SHORT).show();
btnflashlight.setEnabled(false);
return;
}
camera = Camera.open();
if(camera!=null)
params = camera.getParameters();
}
protected void onStop() {
super.onStop();
if (camera != null) {
camera.release();
}
}
}
-
Lp trnh cho thit b di ng
Trang 68
Bi tp 7: Mc ch:
- Thc hnh v hiu v Video
o Cch ghi Video
o Cch chi Video
o Bit chc nng nhn din khun mt trong Android
Yu cu: - Vit ng dng cho php ghi v m Video, xem giao din:
- Khi chn Start Recording Video, chng trnh khi ng MediaRecord ln SurfaceView
v t ng quay phim lu vo SD Card
- Khi chn Stop th s ngng quay phim v m li phim va c ghi theo 2 cch:
o Dng Implicit Intent m
o Dng VideoView, MediaController m
Hng dn: - Xem slide hng dn 4148 phn Networking APIs v Multimedia APIs
- Trong Manifest thm cc permission:
-
Lp trnh cho thit b di ng
Trang 69
Bi tp 8: Mc ch:
- Thc hnh v hiu v Audio
o Cch ghi Audio
o Cch m Audio
o Cch tm kim Audio
o Cch thit lp nhc chung in thoi
Yu cu: - Hy vit chng trnh thc hin cc chc nng sau:
o Cho php ghi m cuc ni chuyn (lu vo SD Card)
o Cho php m cc tp tin ghi m
o H tr chc nng tm kim theo ngy, theo tn tp tin
o Cho php ly 1 tp tin ghi m no lm nhc chung in thoi
- Giao din sinh vin t thit k sao cho d s dng
- Yu cu ci t v chy c trn in thoi Android thit
Hng dn: - Xem slide hng dn 5160 phn Networking APIs v MultiMedia APIs
Bi tp 9 (*): Mc ch:
- Tng hp chc nng trong Networking v MultiMedia
Yu cu: - Hy gi lp chng trnh Music Player ca Android
o Cho php thc thi c cc tp tin Audio, Video
o Thc thi c cc tp tin Audio, Video qua mng internet
o V mt s tnh nng cn thit khc
Hng dn: - Xem cch thit k chng trnh Music Player ca Android
- Tm kim trn mng
- Dnh cho cc sinh vin kh gii
-
Lp trnh cho thit b di ng
Trang 70
Module 6: Telephony APIs v Location Base Service APIs
Ni dung kin thc thc hnh:
- Thc hnh v cc tin ch ca Telephony APIs: Kim tra Phone State, Service State, lm
vic vi Phone Number
- Thc hnh v SMS: Cch cp quyn nhn v gi SMS, cch gi/nhn SMS, cch c
cc tin nhn trong Inbox, ng k BroadCast Receiver thao tc vi cc SMS
- Thc hnh v cch to cuc gi, nhn cuc gi: cch cp quyn, s dng
ACTION_CALL, ACTION_DIAL, ACTION_ANSWER, ng k BroadCast Receiver
tng tc vi cc cuc gi n.
- Thc hnh v Call logs: Xem lch s cuc gi, xa lch s cuc gi
- Thc hnh v LBS APIs: Tm hiu GPS, Geocoding v Mapping location, thc hnh
Mapping Intent v Mapping View
Bi 1:
Mc ch:
- Thc hnh v hiu v Telephony APIs:
o Cch gi mt tin nhn SMS
o Cch nhn mt tin nhn SMS
o Cch thao tc vi tin nhn
Yu cu: - Hy vit ng dng thay th cho chng trnh Messaging ca Android:
o Cho php son tho v gi tin nhn
o Cho php nhn tin nhn
o Cho php thao tc tin nhn:
Xa tin nhn
Tm kim tin nhn
Sp xp tin nhn theo s in thoi, theo ngy gi, theo ngy nhn
- Ch chng trnh ch cn lu cc thng s sau ca mi tin nhn:
o a ch gi n
o Ni dung gi n
o Thi gian gi n
o Ni dung gi i
o Thi gian gi i
o (cc thng s khc khng cn lu)
- Dng SQLite lu tr thng tin ca mt tin nhn nh m t trn:
o Bng tin gi i (m t ng, s gi i, ni dung gi i, thi gian gi i)
o Bng tin nhn c (m t ng, s gi n, ni dung gi n, thi gian gi n)
-
Lp trnh cho thit b di ng
Trang 71
- Chng trnh nn ng k BroadCast Receiver trong Manifest XML t ng nhn cc
tin nhn gi n v lu vo c s d liu (cho d ng dng b tt)
- Xem giao din minh ha (dng Tabselector v include cc Layout vo ng v tr):
o C 4 tab nh trn
o Chn nt ly danh b hoc t nhp s vo EditText
o Khi chn tab no th x l theo tab , sinh vin hy thit k Layout ph hp.
Hng dn: - Hc cch gi 1 tin nhn slide 1315 phn Telephony APIs v LBS APIs
- Hc cch nhn 1 tin nhn slide 1619 ch ng k BroadCast Receiver trong Manifest
- Cch xa : xem li Sqlite cch xa nh th no
- Cch tm kim: ngh cch tm kim hp l
- Cch sp xp: xem Sqlite sp xp nh th no, nn dng ContextMenu gi lnh.
- Ch l CSDL ny c lp vi Messaging ca Android, ta thao tc SMS (xa, tm kim,
sp xp) u nm trn Sqlite do ta to, khng c ng chm ti SMS ca Android.
Tc l khi c 1 tin nhn bt k no gi ti th d nhin Tin nhn ny s c t ng
lu vo 2 ni:
o l Inbox thc t ca Android (Ta khng lin quan, t Android lm)
o v Sqlite m chng trnh chng ta to rata thao tc trn ci ny
- Cc tin gi i chng trnh ch lu khi ngi s dng dng phn mm ny gi tin
nhn, cn gi bng Messaging ca Android th khng lin quan.
-
Lp trnh cho thit b di ng
Trang 72
Bi tp 2: Mc ch:
- Thc hnh v hiu v Telephony APIs:
o X l cc trng thi ca in thoi (idle, in use, ringing)
o Cch to mt cuc gi i
o Cch nhn mt cuc gi ti
Yu cu: - Vit chng trnh qun l Blacklist
- Thit k giao din ph hp: cho php thm, xa, sa danh Blacklist
- Dng Sqlite lu danh sch Blacklist
- Khi no c cuc gi n nu kim tra s gi n c tn ti trong black list th tin hnh
hy cuc gi (nu c), cn khng th xut hin mt Activity thng bo.
Hng dn: - Xem hng dn x l cuc gi slide 2225 phn Telephony APIs v LBS APIs
Bi tp 3: Mc ch:
- Thc hnh v hiu v Telephony APIs:
o Thao tc vi Call log : xem, xa.
Yu cu: - Vit chng trnh cho php qun l Call log
- Thit k giao din cho php xem danh sch Call log, cho php xa call log:
- Khi m chng trnh s t ng c danh sch call log vo ListView nh trn
- ContextMenu c 2 item: Xa call log ang chn v Xa ton b Call log, mi thao tc
u dng AlertDialog xc nhn xem ngi dng c mun xa hay khng.
Hng dn: - T lm
-
Lp trnh cho thit b di ng
Trang 73
Bi tp 4 (*): Mc ch:
- Thc hnh v hiu v Location Base Service APIs
o Bit Android Google API
o Hiu v s dng Geocoding location
o Hiu v s dng Mapping Location: Mapping Intent, Mapping View
Yu cu: - Cng ty Bitis cn vit mt ng dng Android nh sau:
- Chng trnh cho php xem danh sch sn phm ca cng ty, cng nh cc chnh sch
khuyn mi, cc thng tin v sn phm mi. (Cng ty s cung cp 1 .Net Webservice
cho php ng dng Android xem danh sch sn phm, xem thng tin khuyn mi, sn
phm mi, . y l ta t lm .Net Webservice thay cho cng ty)
- Chng trnh ng thi cho php cp nht v tr cc i l ca cng ty v cho php tm
kim cc i l ln cn ca mt i l no m ta cn (hoc tm cc i l gn v tr m
ngi s dng ang ng)
- Sinh vin c th dng Mapping Intent hoc Mapping View x l tm a im.
Hng dn: - Dnh cho sinh vin kh gii
- Xem hng dn slide 2844 phn Telephony APIs v LBS APIs
- Ch yu tham kho trn mng internet
-
Lp trnh cho thit b di ng
Trang 74
Module 7: Thao tc vi thit b cm ng
Ni dung kin thc thc hnh:
- Thc hnh v SensorManager, Sensor, SenSorEventListener, SensorEvent: Cch thc
ng k Sensor, cch thc g b ng k, cch ly Sensor mc nh, cch ly danh sch
Sensors, cch ly cc gi tr trong SensorEvent
- Thc hnh v cc thit b cm bin c th: cm bin nhit , cm bin nh sng, cm
bin p sut, cm bin khong cch, cm bin gia tc, cm bin con quay hi chuyn,
cm bin nh hng
- Thc hnh v Pin in thoi: Cch ng k Broadcast Receiver c thng s Pin
- Phi th trn in thoi Android thit
Bi 1:
Mc ch:
- Thc hnh v hiu v Sensor Temperature:
o Cch to Sensor
o Cch ng k Sensor
o Cch g b ng k
o Ly cc thng tin trong SensorEvent
Yu cu:
- Vit ng dng bo ng chy n.
- Chng trnh c giao din quy nh nhit cao nht cho php ti mi trng, khi
nhit mi trng m vt qua nhit cho php th in thoi s m mt Audio
cnh bo C nguy c chy n
Hng dn: - Xem slide hng dn 11, 12
- Xem trn internet
Bi tp 2: Mc ch:
- Thc hnh v hiu v Sensor Light:
o Cch to Sensor
o Cch ng k Sensor
o Cch g b ng k
o Ly cc thng tin trong SensorEvent
-
Lp trnh cho thit b di ng
Trang 75
Yu cu: - Vit chng trnh cnh bo phng thiu nh sng
- ng dng cho php thit lp nh sng ti thiu trong phng, khi nh sng trong phng
m nh hn nh sng ti thiu cho php th in thoi s m Audio Phng qu ti, yu
cu bt n
Hng dn: - Xem slide hng dn 13, 14
- Xem trn internet
Bi tp 3: Mc ch:
- Thc hnh v hiu v Sensor Pressure:
o Cch to Sensor
o Cch ng k Sensor
o Cch g b ng k
o Ly cc thng tin trong SensorEvent
Yu cu: - Vit chng trnh cnh bo p sut mi trng qu ln
- ng dng cho php thit lp p sut ti a c th chp nhn, khi mi trng c p sut
vt qu thng s cho php th in thoi s m Audio p sut qu ln, nguy him!
Hng dn: - Xem slide hng dn 15, 16
- Xem trn internet
Bi tp 4: Mc ch:
- Thc hnh v hiu v Sensor Proximity:
o Cch to Sensor
o Cch ng k Sensor
o Cch g b ng k
o Ly cc thng tin trong SensorEvent
Yu cu: - Khi gi in thoi, ta thng p st in thoi vo tai nghe; nn i khi mn hnh cm
ng s chm vo tai lm hy cuc gi m ta khng mong mun.
- Do cn vit ng dng cho php thit lp khong cch ti thiu gia in thoi v i
tng, khi no vt qu gii hn ti thiu th t ng tt mn hnh in thoi.
-
Lp trnh cho thit b di ng
Trang 76
Hng dn: - Xem slide hng dn 1719
- Xem trn internet
Bi tp 5: Mc ch:
- Thc hnh v hiu v Sensor Accelerometer:
o Cch to Sensor
o Cch ng k Sensor
o Cch g b ng k
o Ly cc thng tin trong SensorEvent
Yu cu: - Vit ng dng nghe nhc c h tr chc nng Lc in thoi chuyn bi ht:
o Nu in thoi lc qua tri th m bi ht ng trc
o Nu in thoi lc qua phi th m bi ht ng sau
Hng dn: - Xem slide hng dn 2023
- Xem trn internet
Bi tp 6: Mc ch:
- Thc hnh v hiu v Pin in thoi:
o Ly cc thng tin trong Pin
Yu cu: - Vit chng trnh ly cc thng s ca Pin in thoi
Hng dn:
- Xem slide hng dn 3034
- Xem trn internet
-
Lp trnh cho thit b di ng
Trang 77
Module 8: Danh sch ti mn hc
ti 1:
- Vit chng trnh tra cu t in Anh Vit Vit Anh
ti 2:
- Vit chng trnh ng k hc phn tn ch bng SMS
ti 3:
- Vit chng trnh ng k hc chng ch tin hc A, B bng SMS
ti 4:
- Vit game bn bng s dng Sensor
ti 5:
- Vit chng trnh qun l Album nh
ti 6:
- Vit chng trnh g ting vit trong Android
ti 7:
- Vit chng trnh tm ng i
ti 8:
- Vit game caro (chi vi my)
ti 9:
- Vit game xp gch
ti 10:
-
Lp trnh cho thit b di ng
Trang 78
- Vit chng trnh chnh sa hnh nh trong Android
ti 11:
- Vit chng trnh qun l ti chnh c nhn
ti 12:
- Vit game phi thuyn bng Sensor
ti 13:
- M phng tr chi Line 98 trong Android
ti 14:
- Vit chng trnh nhn dng khun mt v d on trong vng 20 nm na th khun
mt s thay i nh th no
ti 15:
- Vit chng trnh v th ton hc trong Android
top related