Android Exercise 2013

download Android Exercise 2013

of 78

description

Final Android Exercise 2013

Transcript of Android Exercise 2013

  • 5/28/2018 Android Exercise 2013

    1/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Khi: i Hc

    Nm 2013

    Hng dn:

    Bi tp thc hnh c chia theo Module Mi Module c thit kcho thi lng l 312 tit thc hnh ti l

    vi shng dn ca ging vin.

    Ty theo stit phn b, mi tun hc c ththc hin nhiu Module. Sinh vin phi lm tt ccc bi tp trong cc Module tun tng n

    Nhng sinh vin cha han tt phn bi tp ti lp c trch nhim tl

    tip tc nh.

    Cc bi c du (*) l cc bi tp nng cao dnh cho sinh vin kh gii.

  • 5/28/2018 Android Exercise 2013

    2/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    MC LC

    Module 1: Gii thiu mi trng pht trin in thoi di ng................................

    Module 2: Xl giao din ngi dng .......................................................................

    Module 3: Xl tp tin, lu trng thi, CSDL, Content Provider ...........................

    Module 4: Xl a tin trnh v dch v....................................................................

    Module 5: Networking APIs v Multimedia APIs ..................................................... Module 6: Telephony APIs v Location Base Service APIs ......................................

    Module 7: Thao tc vi thit bcm ng ....................................................................

    Module 8: Danh sch ti mn hc ..........................................................................

  • 5/28/2018 Android Exercise 2013

    3/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    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- Sdng Eclipse, DDMScch thc Debug- Cch ci t Android SDK, Update Android API, Upgrade Firmware- Sdng Android Virtual Device- Tm hiu cc thnh phn trong Android App- Tm hiu cc n vo 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 scha cc thnh phn:o Eclipse + ADT plugin

    o Android SDK Toolso Android Platform toolso Android API mi nhto Android system image mi nht cho Emulator

    - Cp nht ADT plugin mi nht cho Eclipse:1. Vo menu Help / chn Install New Software2. Nhp ng dn:https://dl-ssl.google.com/android/eclipse/v bm nt Add g

    bn phi3. Chn cc thng sthch 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 sc mn hnh nh di y:

    http://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.htmlhttps://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/http://developer.android.com/sdk/index.htmlhttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsp
  • 5/28/2018 Android Exercise 2013

    4/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - ng mn hnh Welcome bng cch click vo du cho kbn chAndroid IDE- tham chiu ti Android SDK, ta vo menu Windows/ Preferences/ chn Android v

    Browse ti SDK location m bn lu tr:

    - cp nht Android SDK, ta vo menu Windows/ Android SDK Manager (hoc bmvo biu tng trn thanh toolbar), chn cc gi cn cp nht v bm Install packages

  • 5/28/2018 Android Exercise 2013

    5/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- To v thao tc c vi Android Virtual Device- Sdng c DDMS

    - Cu hnh thit bdebug

    Yu cu:- To Android Virtual Device:

    o t tn cho thit bo Chn loi thit bo Chn Target APIo Cu hnh Keyboard, Skin, Camerao Thit lp internal storageo

    Thit lp SD Cardo Chc nng Snapshot

    - Khi ng AVD va mi to, tin hnh thc hin: quan st v thnghim cc chc nnbn trong AVD, thit lp USB Debugging

    - Thao tc trn DDMS:o Kim tra cu trc th mc, ko thmt stp tin vo AVD v quan st hin to Thc hin unmount v Mount SD Cardo Thc hin chc nng Gi in v gi tin nhn trong Emulator Control

    Hng dn:- Tmenu Windows/ chn Android Virtual Device Manager:

    - Ti mn hnh ny chn nt New

  • 5/28/2018 Android Exercise 2013

    6/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Chn cc thng skthut cn thit v bm OK

    - Mun khi ng AVD no th click chn AVD vbm nt Start, quan st:

  • 5/28/2018 Android Exercise 2013

    7/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 3:

    Mc ch:

    - Dalvik Virtual machine- Hiu c cc thnh phn bn trong ng dng Android:

    o Cch to Android Projecto Activity, Intent, Viewo Auto geno Android libso Resourceo Layout, menu, valueso Manifest XML

    Yu cu:

    - To mt Android Project, ng dng n gin chxut hin dng chHello World!- Kim tra tt ccu trc th mc ca ng dng, cho nhn xt- Chy ng dng ny trn Emulator/ trn in thoi tht c hiu hnh Android.- Gii thch c chm Android Project c thc hin trn thit bnh thno: cch th

    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 projectProperties 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 strng hp khng thy Package Explorer (mn hnh chnh lp trnh), t

    vo menu Windows/ chn Show View/ chn Package Explorer- C thhin thLogcat trong Windows/ show view/ logcat quan st thng tin qu trn

    ng dng thc thi

  • 5/28/2018 Android Exercise 2013

    8/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4:

    Mc ch:

    - Tm hiu vng i ca ng dng Android: cc skin sy ra theo trnh tnhthno

    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 chsdng Toast hin thtn hc thc thi.

    - Hy tm cch cho cc hm Override trn sy ra, cho nhn xt.

    Hng dn:- Cch sdng Toast:

    - chng trnh tthm cc Override method, ta lm nh sau: Bm chut phi vo mhnh son tho/ chn Source/ chn Override Implement methods:

    - Khi ca sImplement shin thln, ta chn cc hm mong mun ri bm nt Ok

  • 5/28/2018 Android Exercise 2013

    9/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 5:

    Mc ch:

    - Hiu c Activity Stack- Hiu su hn vvng 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 SubActivity1v SubActivity2

    (nh vy Project sc tng cng 3 Activity bao gm 2 ci va to v 1 MainActivity)- Ch rng cu hnh sao cho SubActivity1shin thdi dng Dialog (khi

    SubActivity1kch hot th n snm pha trn MainActivity, nhng m vn nhn thymn hnh MainActivitytc l ng thi nhn thy 2 Activity). Cn khi SubActivity2hin thth n schim ton bmn hnh, khng ththy c MainActivity.

    - Trong MainActivityto 2 Buttoncho php hin thSubActivity1, v SubActivity2Trong mi trng hp hy quan st skin sy ra trong MainActivityv cho nhn xt(ch l cc skin chc chn ssy ra khc nhau trong 2 trng hp ny).

    o Foreground Lifetime sy ra tonResume()onPause()o Visible Lifetime sy ra tonStart()onStop()

    Hng dn:- Project snh hnh sau:

    - Cu hnh SubActivity1hin thdi dng Dialog: Trong Manifest XML, thmandroid:theme= "@android:style/Theme.Dialog". Ta c thdng GUI trong Eclipse

    thay i thng scho ddng.

    - Cch mmt Activity trong Android: y tMainActivity ta mSubActivity1 vSubActivity2 khi ngi sdng chn Button1, Button2

  • 5/28/2018 Android Exercise 2013

    10/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Phng thc findViewByIdtrvView theo ng Id truyn vo, mi Control trong

    Android u ktha tView, y ta p kiu vcho ng kiu Button.- Dngphng thc startActivitymmt Activity, ch l Activity ny c a vmt Intent vi cch khai bo nh trn.

    - Cch chy SubActivity1v SubActivity2l hon ton ging nhau. Chkhc nhau lhin thln mn hnh in thoi (nh gii thch trn).

    - Ta shc r hn vIntent trong phn sau, tm thi phn ny cha cn phi hiu su vn. Chcn bit rng chy 1 Activity no th phi tin hnh nh vy.

  • 5/28/2018 Android Exercise 2013

    11/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 6:

    Mc ch:

    - Tm hiu Google Play

    Yu cu:

    - Vo tronghttps://play.google.com/store tin hnh ng k v upload .apk (c ng phhin ti l 25USD)

    - Xem hng dn cth: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 svi cng ngth nn lm bi tp ny.

    https://play.google.com/storehttps://play.google.com/storehttps://play.google.com/storehttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttp://support.google.com/googleplay/android-developer/answer/113469?hl=enhttps://play.google.com/store
  • 5/28/2018 Android Exercise 2013

    12/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 7 (*):

    Mc ch:

    - Bit c cch Upgrade Firmware cho mt sthit btht sdng hiu hnh Andro

    Yu cu:

    - Tm hiu Odin mode- Mt strang 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 kthng skthut 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 mctin)

    - i khi cc sinh vin phi mo him vi thit bca mnh khm ph (khuyn khch)

    http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/http://www.theandroidsoul.com/?s=Odinhttp://www.theandroidsoul.com/?s=Odinhttp://www.theandroidsoul.com/?s=Odinhttp://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/http://androidmuscle.com/how-to-update-your-galaxy-s2-i9100-to-jelly-bean-4-1-2-xxlsj-firmware-tutorial/
  • 5/28/2018 Android Exercise 2013

    13/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 2:Xl giao din ngi dng

    Ni dung kin thc thc hnh:

    - Thc hnh vXML LayoutXML Container- Cc kiu lp trnh skin trong Android- Thc hnh vToast & 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 vWebkit, Javascript- Thc hnh vIntent: cch mnhiu mn hnh (Activity) trong Android- Cch lp trnh chm n im v a im trong Android- Cch cu hnh a ngn ngtrong Android

    Bi tp 1:

    Mc ch:

    - To v hiu chnh XML Layout- Sdng XML Layout

    Yu cu:

    - To mt Android Project- To thm mt XML Layout (ty ) t tn l new_my_layout.xml- Ko thmt scontrol 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 shin thln, ti mn hnh ny Resource Typ

    chn l Layout, phn Root Elementchn loi Layout gisl LinearLayoutmc Filenhp tn l new_my_layoutri bm nt Finish (xem hnh trang bn).

  • 5/28/2018 Android Exercise 2013

    14/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

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

  • 5/28/2018 Android Exercise 2013

    15/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- Thc hnh v hiu vFrameLayout

    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 vvtr xut hin ca 2 ImageView trn

    Hng dn:

    Bi tp 3:

    Mc ch:- Thc hnh v hiu vLinearLayout:

    o Cch to LinearLayout (vertical, horizontal)o Orientationo Fill modelo Weighto Gravityo Paddingo Margin

    Yu cu:

    - To Android Project c cc control nh hnh bn di:

    - Thay i android:orientation="horizontal" v android:orientation="vertical" qu

    st cc control trn giao din sp xp khc nhau.- Trong mi control thay i android:layout_widthv android:layout_height: thit lp3 thng s(125dip, wrap_content, fill_parent), quan st sthay i

    - Thit lp TextView User Namec android:layout_weight="1", EditText thanhtrancandroid:layout_weight="2", Button OKc android:layout_weight="1", quan st sthay i ca cc control trn giao din

    - Thit lp thng sandroid:layout_gravity="right" cho Button OK, quan st sthay ca cc control c ging nh mn hnh bn di hay khng:

  • 5/28/2018 Android Exercise 2013

    16/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Thit lp thng sandroid:gravity="right" cho Button OK, quan st sthay i. Hycho nhn xt skhc nhau gia layout_gravityv gravity

    - Thit lp thng sandroid:padding="30dip" v android:layout_margin="10dip" chEditText, hy cho bit skhc bit gia padding v margin

    Hng dn:- thit lp cc thng scho control trn giao din, ta sdng GUI ca eclipse trong c

    Graphical Layout, hoc chnh sa trc tip trong file XML layout:

    ChGraphical Layout

    ChXML editor

  • 5/28/2018 Android Exercise 2013

    17/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4:

    Mc ch:- Thc hnh v hiu vTableLayout:

    o To v sdng c TableLayouto Hiu c TableRowo Hiu c android:layout_spano Hiu c android:column o Hiu c android:stretchColumns

    Yu cu:- To Android Project c kiu layout l TableLayout, thit kcc 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_columnv

    android:stretchColumns- Thm 2 Button na vo dng s4, chy ng dng v cho nhn xt

    Hng dn:- Lm theo outline layout sau:

    - Thit lp cc thng s:o android:stretchColumns="*" cho TableLayouto android:layout_span="2" cho TextView dng 1o android:layout_column="1"cho Button dng 4

  • 5/28/2018 Android Exercise 2013

    18/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 5:

    Mc ch:- Thc hnh v hiu vRelativeLayout

    o To v sdng c RelativeLayouto 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 kcc control ging nh trn, yu cu thit lp li Idcho EditTextduythanhcse, quan st hin tng sy ra i vi cc control cn li v cho nhn xt; Tmcch sa li cc parameter gic giao din thit kban 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 lblusernameo alignParentLeft="true", below="@+id/lblusername" cho editUserNameo alignParentRight="true", below="@+id/editUserName" cho btnOKo alignBaseline="@+id/btnOK", alignBottom="@+id/btnOK",

    toLeftOf="@+id/btnOK" cho btnCancel

  • 5/28/2018 Android Exercise 2013

    19/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 6:

    Mc ch:- Thc hnh v hiu vRelativeLayout (tip tc)

    Yu cu:- Dng RelativeLayout, thit kgiao din nh hnh bn di:

    Hng dn:

    Bi tp 7:

    Mc ch:- Kt hp nhiu loi Layout

    Yu cu:- Thit kgiao din nh hnh bn di:

    Hng dn:

  • 5/28/2018 Android Exercise 2013

    20/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 8:

    Mc ch:- Thc hnh v hiu c cc kiu lp trnh skin trong Android

    o Onclick in XMLo Inline anonymous listenero Activity is listenero Listener in variableo Explicit listener classo View Subclassing

    Yu cu:- Thit kgiao din nh hnh bn di v thc hin cc yu cu sau:

    - Mi ln click chut vo cc Button th sthc hin php ton tng ng: v dkhi clicchut vo Tng 2 sth kt qutrn l 113.

    - Ring nt Thot chng trnh: cho php ng chng trnh- Tng 2 svit theoOnclick In XML- Hiu 2 svit theoInline anonymous listener- Tch 2 svit theoActivity is listener- Thng 2 svit theoListener in variable

    - c schung ln nht vit theoExplicit listener class- V Thot chng trnh vit theoView Subclassing

    Hng dn:- ly sa: EditText edita=(EditText)findViewById(R.id.editsoa);

    inta=Integer.parseInt(edita.getText()+"");

    - thot chng trnh gi hm: finish();

  • 5/28/2018 Android Exercise 2013

    21/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 9:

    Mc ch:- Thc hnh vcc kiu lp trnh skin trong Android (tip tc)- Cng cthm kthut lp trnh skin trong Android

    Yu cu:- Vit chng trnh chuyn i nhit CF. Thit kgiao din v thc hin cc yu cnh bn di:

    - Khi bm Convert To Celsius schuyn i tFC- Khi bm Convert To Fahrenheit schuyn i tCF- Khi bm nt Clear sxa trng ton bdliu trong EditText

    Hng dn:

    - Kt hp LinearLayoutvertical v LinearLayouthorizontal thit kgiao din trn

    - Chn kiu lp trnh skin ty thch- Cng thc:

    V d:Chuyn t37Cti F : 37C x 9/5 + 32 = 98.6FChuyn t98.6F ti C : (98.6F - 32) x 5/9 = 37C

  • 5/28/2018 Android Exercise 2013

    22/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 10 (*):

    Mc ch:- Thc hnh vcc kiu lp trnh skin trong Android (tip tc)- Cng cthm kthut lp trnh skin trong Android- Cng cli Layout

    Yu cu:- Vit chng trnh my tnh bti n gin, kt hp mt skiu Layout thit kgiao

    din nh hnh bn di:

    - Chng trnh chcn thc hin php ton n (cha cn lng php ton)- Bm Delete : xa dliu hin hu trn EditText trn cng- Bm vo cc con shin thln EditText- Bm vo php ton: +, -, *, / hin thln EditText- Bm tip cc con shin thln 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, chl thay i mu nn v mu ch.- Khuyn khch cc sinh vin kh gii hon thnh y chc nng ca ng dng ny

  • 5/28/2018 Android Exercise 2013

    23/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    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 su tin ca Toast.makeTextkhi th sdng MainActivity.th

    khi chsdng thiskhng?Hng dn:

    - Toasttoast=Toast.makeText(MainActivity.this, " Hello Toast!" ,Toast.LENGTH_SHORT) .show();

    - Toast.LENGTH_SHORThin th2 giy, Toast.LENGTH_LONGhin th3.5 gi

    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 sdng bm nt ng nhp:o Nu ngi sdng checked vo Lu thng tin th Toast thng bo l cho m

    bn ng nhp hthng, bn lu thng tino Nu ngi sdng unchecked vo Lu thng tin th Toast thng bo l cho

    mng bn ng nhp hthng, bn khng lu thng tin- Khi ngi sdng bm nt Thot, chng trnh shin thAler Dialog nh bn di,

    chn Yes sng ng dng.

    Hng dn:- Xem trong slide bi ging (Slide 62xl giao din ngi dng)

  • 5/28/2018 Android Exercise 2013

    24/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 13:

    Mc ch:- Thc hnh v hiu c cc Control c bn trong Android:

    o TextView, EditText, ButtonYu cu:

    - Vit chng trnh i nm Dng lch qua nm m lch:

    - EditText nm dng lch chc nhp s>=1900- Khi bm nt Chuyn i, chng trnh schuyn tnm dng lch qua nm m lch,

    kt qusc hin thvo TextView mu vng.

    Hng dn:Nm m = Can + Chi;Can = Nm dng % 10 :

    Chi = Nm dng % 12 :

    String can,chi;switch(namduong%10){

    //ly cantrong ny da vo bng s1}switch(namduong%12){

    //ly chitrong ny da vo bng s2}Ghp canv chita c nm m lch

  • 5/28/2018 Android Exercise 2013

    25/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 14:

    Mc ch:- Thc hnh v hiu c cc Control c bn trong Android:

    o TextView, EditText, Button, Checkbox, RadioButtonYu cu:

    - Thit kgiao 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 chc nhp kiu sv phi c ng 9 chs- Bng cp mc nh schn l i hc- Sthch phi chn t nht 1 chn la

    - Thng tin bsung c thtrng- Khi bm gi thng tin, chng trnh shin thton bthng tin c nhn cho ngi s

    dng bit (dng Alert Dialog):

    Hng dn:- Dng RadioGroupxl bng cp.- Dng isChecked() kim tra RadioButton v CheckBox c c checked hay khng- Chi tit xem slide 69, 72 phn Xl giao din ngi dng.

  • 5/28/2018 Android Exercise 2013

    26/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 15:

    Mc ch:- Thc hnh v hiu c cc Control c bn trong Android:

    o TextView, EditText, Button, Checkbox, RadioButton, Image, ScrollViewYu cu:

    - Vit chng trnh tnh tin bn sch online, thit kgiao din nh hnh bn di v thhin cc chc nng theo yu cu (ch dng Scroll View v giao din c kch thc dhn chiu cao ca mn hnh):

    Dng chc nng ScrollView ln pha trn thy thm c dng tiu bche khut nhbn di:

    - Yu cu thc hin:o Khi bm nt Tnh Thnh Tin (Tnh TT) chng trnh stnh thnh tin bit rn

    mi cun sch c n gi l 20000, nu l khch hng VIP th gim 10%o Khi bm nt Tip, chng trnh slu thng tin ha nva tnh Thnh Tin v

    danh sch, ng thi xa trng dliu trong ha n v cho focus ti EditTextTn khch hng

    o Khi bm nt Thng k, chng trnh shin ththng tin vo mc Thng tinthng k: tng sKH, tng sKH VIP v tng doanh thu

    o Khi bm vo nt thot (dng ImageButton): hin thAlertDialog hi xem ngisdng 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 vcho chc nng thng k.

  • 5/28/2018 Android Exercise 2013

    27/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 16:

    Mc ch:- Thc hnh v hiu c cc control nng cao trong Android:

    o ListView- Hiu c cch sdng String-Array, ArrayAdapter

    Yu cu:- Thit kgiao din nh hnh bn di:

    - Giao din gm 1 TextView v 1 ListView- Trong res/values/strings.xml to mt String-Array: cha mt scc gi trnh hnhtr- Khi ng dng c khi ng, n stng c cc gi trtrong String-Array v hin

    thln ListView

    - Khi click chut vo tng phn ttrn ListView, shin thvtr v gi trphn tcclick 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 xl 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 sdng ArrayList, ArrayAdapter

    Yu cu:- Thit kgiao din nh yu cu:

  • 5/28/2018 Android Exercise 2013

    28/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Mi ln ngi sdng chn nt Nhp, chng trnh slu dliu trong mc Nhp tnvo ArrayList ng thi cp nhp danh sch vo ListView

    - Khi chn tng phn ttrong ListView, chng trnh shin thvtr v gi trca phntang chn vo TextView mu xanh

    Hng dn:- Sdng hm notifyDatasetChangedca ArrayAdaptertng cp nht li danh

    sch cho ListView khi ArrayList thay i dliu.- Chi tit xem slide 81, 82 phn xl 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 sdng ListActivity, ArrayAdapter

    Yu cu:- Thit kgiao din nh yu cu bn di (ktha tListActivitythay v Activity):

  • 5/28/2018 Android Exercise 2013

    29/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Hng dn:- Ktha tListActivity- t id cho ListView l @android:id/listChnh l tn mc nh trong Android- Chi tit xem slide 83, 84, 85, 86 phn Xl giao din

    Bi tp 19:

    Mc ch:- Thc hnh v hiu vcc control nng cao trong Android:

    o Hc cch to Custom ListViewo Cch ktha ArrayAdapter

    Yu cu:- Hy xy dng ng dng Android nh hnh bn di, yu cu hiu chnh li ListView

    c thhin ththeo mun ring

    - Mi phn ttrong ListView sc 1 hnh nh v 1 ni dung, nu ni dung c slng kt

  • 5/28/2018 Android Exercise 2013

    30/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Yu cu:- Thit kng dng nh mn hnh bn di:

    - Khi ng dng khi ng, Danh mc sn phm shin thvo trong Spinner nh hnh- Mi ln chn vo danh mc trong Spinner, chng trnh shin thdanh sch sn phm

    vo ListView theo danh mc tng ng:

    - ng vi mi sn phm l in thoi sc mi hnh nh ring- Khi chn tng sn phm trong ListView, chng trnh sdng Toast hin thchi ti

    Hng dn:- p dng Custom Layout thit kcho ListView- Gilp 2 ArrayList, ArrayList 1 cha danh sch Danh Mc Sn phm, ArrayList 2 ch

    danh sch sn phm theo danh mc- ng dng load tCSDL ln giao din cho phn hc ktip

  • 5/28/2018 Android Exercise 2013

    31/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 21 (*):

    Mc ch:- Thc hnh v hiu vcc control nng cao trong Android:

    o Hiu v sdng c AutoCompleTextViewo Hiu v sdng c GridView, kt hp vi Spinner

    Yu cu:- Thit kgiao din nm ngangnh hnh bn di v thc hin cc yu cu:

    - Khi khi ng chng trnh sload danh sch danh mc sn phm vo Spinner- Mi ln chn Danh mc sn phm, chng trnh shin thdanh sch sn phm ca da

    mc ang chn vo GridView (xem hnh)- Khi ngi sdng nhp 1 tn sn phm mi vo AutoCompleteTextView v chn ntNhp th chng trnh sa sn phm mi ny vo ng danh mc ang chn; cp nhvo AutoComplete v ng thi cp nht vo GridView (2 chcp nht)

    - Mi ln chn tng phn ttrong GridView, chng trnh sdng Alert Dialog hinththng tin chi tit cho tng phn t.

    Hng dn:- C3 i tng: Spinner, AutoCompleteTextView, GridView u sdng ArrayAdapte- Nh vy mi ln c sthay i dliu (List cha dliu tng ng thay i) th ta g

    hm notifyDatasetChangedca 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 trkhc nhau, Sny c ngha kchhot chc nng AutoComplete, nu thit lp l 1 th g 1 k tn skch hot, nu thilp l 3 th g 3 k tn skch hot

    - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE )thit lp ng dng nm ngang in thoi.

  • 5/28/2018 Android Exercise 2013

    32/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 22 (*):

    Mc ch:- Thc hnh v hiu vcc control nng cao trong Android:

    o Hiu cch a hnh nh vo GridView, bit cch sdng BaseAdapter

    Yu cu:- Vit ng dng trnh din hnh nh nh sau (sdng GridView):

    - Khi chn tng hnh nh trong GridView th smmt mn hnh mi hin ththngtin chi tit ca hnh ang chn (v dchn hnh ch Cu):

    - Chn nt Back trvmn hnh chnh

    Hng dn:- Xem hng dn chi tit slide 120, 121, 122, 123, 124 phn xl giao din ngi dng

    Bi tp 23:

  • 5/28/2018 Android Exercise 2013

    33/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Mc ch:- Thc hnh v hiu cc control nng cao trong Android:- Hiu v sdng c Time Selection:

    o AnalogClocko Chronometero TimePickerDialogo 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 ksy ra li nhy qua vic lmdcng vic c cha xong, khng theo quy trnh nsn dn n kt thc mt ngy m cui cng khng hon thnh c vic g c.

    - Thit kgiao din nhhnhbn di v thc hin mt schc nng:

    - Khi chn nt Date shin thDatePickerDialogcp nht Ngy hon thnh- Khi chn nt Time shin thTimePickerDialogcp nht gihon thnh- Khi chn nt Thm cng vic (Thm CV), chng trnh scp nhp vo ListView bn

    di mn hnhHng dn:

    - Xem hng dn cch sdng DatePickerDialog v TimePickerDialog slide 113, 114phn Xl giao din ngi dng

  • 5/28/2018 Android Exercise 2013

    34/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 24:

    Mc ch:- Thc hnh v hiu cc control nng cao trong Android:

    o Hiu v sdng c TabSelector

    Yu cu:- Thit kng dng nh yu cu bn di:

    - ng dng gm c 2 Tab: tab Login v tab Help- ng vi mi Tab sc giao din khc nhau, sinh vin tto giao din ty thch thao

    tc vi TabSelector

    Hng dn:- Xem Slide 128, 129, 130 phn Xl giao din ngi dng

    Bi tp 25:

    Mc ch:- Thc hnh v hiu cc control nng cao trong Android:- Hiu v sdng 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 thContextMenu): chnsa cho php sa cng vic, chn Xa cho php xa cng vic, v m sCV

    - Thit lp Menu cho ng dng (bm vo nt Menu ca emulator shin thMenu): Xemcng vic hon thnh, cha hon thnh v xa ton bcng vic

    Hng dn:- Xem hng dn slide 133140 phn xl giao din ngi dng

  • 5/28/2018 Android Exercise 2013

    35/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 26 (*):

    Mc ch:- Thc hnh v hiu vWebkit:

    o Thao tc c vi Webkit Browsero Cc Browser Commando Cch ng k i tng trong Android vo JavaScripto Tng tc Javascript v Android

    Yu cu:- Xy dng ng dng tm vtr (dng dliu 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 sly thng stAndroid v hin thln giao din HTML

    - Khi chn nt Talking to Android, chng trnh sgi thng strn HTML ti Androv Android dng Toast hin thnhng thng s ly c tHTML ny

    Hng dn:

    - Dng Microsoft Express Web hoc trnh son tho bt kthit kHTML nh trn

    - Ch ni dung tp tin HTML chc cha tag html ngoi cng, tuyt i khng cha cTag lkhc.

    - Ko thtp tin HTML vo th mc assets ca ng dng Android- Chi tit xem slide hng dn 161167 phn xl giao din ngi dng- Nhthit lp 3 thng sny vo Manifest XML

  • 5/28/2018 Android Exercise 2013

    36/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 27:

    Mc ch:- Thc hnh v hiu c vIntent (phi lm ht bi tp ny, rt quan trng):

    o Explicit Intento Implicit Intento Cch ly kt ququa li gia cc Activity thng qua Intent

    Yu cu:- Vit chng trnh qun l bi ht, thit kgiao din nh hnhbn di:

    - Phi to Album trc khi vo chc nng qun l bi ht- Khi chn chc nng thm Album, chng trnh sxut hin mn hnh di y(ch

    mdi dng Dialog):

    o Chn lu album ny lu, chn xa trng xa dliu va nhp, focus tm.

    - Khi chn xem danh sch album, chng trnh smmt mn hnh mi hin th

    danh sch Album toch dng CustomLayout cho ListView:

  • 5/28/2018 Android Exercise 2013

    37/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn tng Album trong danh sch, shin thmn 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 shin

    thAlert Dialog hi xem c mun xa Album ny hay khng?

    - Chn C xa album mun xa, chn Khng trvmn hnh xem danh sch

    - Khi chn chc nng qun l bi ht mn hnh chnh chng trnh shin th:

    o Load danh sch album vo Spinnero Sdng DatePickerDialog chngy ra ao Chn Thm bi ht a bi ht mi vo ListView bn di.

    Hng dn:- Xem hng dn sdng Intent, get result trong slide 170180; 191205 phn xl

    giao din ngi dng.

  • 5/28/2018 Android Exercise 2013

    38/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 28:

    Mc ch:- Thc hnh v hiu c vIntent:

    o Explicit Intento Implicit Intento Cch ly kt ququa li gia cc Activity thng qua Intent

    Yu cu:- Vit chng trnh qun l nhn s nh bn di (sdng 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

  • 5/28/2018 Android Exercise 2013

    39/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn Xa, chng trnh shin thAlert Dialog xc nhn xem c xa hay khng?

    Hng dn:

    - Xem hng dn sdng Intent, get result trong slide 170

    180; 191

    205 phn xlgiao din ngi dng.

    Bi tp 29:

    Mc ch:- Thc hnh v hiu vchm a im trong Android

    Yu cu:

    - Vit mt ng dng kim tra nu nh c 3 ngn tay ca ngi sdng lt trn mn hnth chuyn mu nn sang Mu

    - Nu c 5 ngn tay ca ngi sdng lt trn mn hnh th mmt bi nhc bt kn(dng Implicit Intent).

    Hng dn:- Xem slide hng dn Multitouch 207212 phn xl giao din ngi dng

    Bi tp 30:

    Mc ch:- Thc hnh v hiu va ngn ngtrong Android

    Yu cu:- Vit mt ng dng cho php xl a ngn ngtrong Android (ng dng bt k)

    Hng dn:- Xem hng dn a ngn ng215218 phn xl giao din ngi dng

  • 5/28/2018 Android Exercise 2013

    40/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 3:Xl 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 file- Thc hnh vXML Parser: DOM, SAX- Thc hnh vlu trng thi ng dng: Share Preferences- Thc hnh vSqlite: cch to/ xa CSDL, to bng, truy vn, thm, sa, xa dliu- Thc hnh vContent 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 chlu tp tin trong Android:o Internal Storageo External Storageo Cache files

    Yu cu:- Vit chng trnh cho php c / ghi mt TextFile bt ktng dng:

    - Khi bm Write Data, chng trnh slu ton bthng tin trong EditText xung tp tin- Khi bm Read Data, chng trnh sc thng tin ttp tin v hin thln EditText- Ch thtrn 2 trng hp: Internal v SD card, quan st ni lu trtp tin trong File

    Explorer ca DDMS

    Hng dn:- Xem slide 8 , 9 phn xl tp tin

  • 5/28/2018 Android Exercise 2013

    41/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- Thc hnh v hiu c c chlu tp tin trong Android:

    o Internal Storageo External Storageo Cache files

    Yu cu:- Vit chng trnh cho php load ton bdanh sch Cache files ln giao din, mi ln

    chn vo tng Cache scho php c thng tin tcache. Chng trnh cn htrchcnng Xa tng Cache v xa ton bCache

    Hng dn:- Sdng Intent mActivity xem chi tit ni dung ca tng cache chn trn ListView- Sdng lnh sau ly ton bCache:

    File cachDir=getCacheDir();File listCache[]=cachDir.listFiles();

  • 5/28/2018 Android Exercise 2013

    42/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 3:

    Mc ch:- Thc hnh v hiu c XML Parser:

    o Kthut dng DOMo Kthut dng SAX

    Yu cu:- Cho cu trc XML sau:

    - Hy dng 2 kthut DOM v SAX (vit 2 cch ) thc hin c file XML trn v ln giao din nh hnh bn di:

    - Chng trnh sc danh sch Title vo Spinner (ch khng c trng lp)- Chn Title no th shin thdanh sach nhn vin tng ng vo ListView theo Title

    Hng dn:- Xem kthut DOM, SAX trong slide 2733 phn xl tp tin

  • 5/28/2018 Android Exercise 2013

    43/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4:

    Mc ch:- Thc hnh v hiu c Share Preferences:

    o Cch to v sdng Share Preferenceso Cch sdng 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 sdng chn ng nhp th ng ng dng ny li. Ch nu

    checkbox Lu thng tin c checked th chng trnh slu ton bthng tin(user, password). Nu checked =false th xa ton bthng tin lu trc .

    o Khi khi ng li ng dng, chng trnh stm xem thng tin c c lu haykhng, nu c lu th hin thli ln mn hnh cho ngi sdng

    Hng dn:- Xem slide hng dn 38 , 39 phn xl tp tin

  • 5/28/2018 Android Exercise 2013

    44/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 5:

    Mc ch:- Thc hnh v hiu c Share Preferences:

    o Cch to v sdng Share Preferenceso Cch sdng 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 shin thmn hnh Setting:

    o Nu checked mn hnh chnh sc mu o Nu unchecked mn hnh chnh sc mu xanh

    - Ch l mn hnh chnh phi ng k Share Preferences Listener th mi tng btc nhng sthay i trong Setting Activity

    Hng dn:- Xem hng dn trong slide 4853 phn xl tp tin.

  • 5/28/2018 Android Exercise 2013

    45/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 6:

    Mc ch:- Thc hnh v hiu vSQLite

    o To c CSDLo Thao tc vi bng dliu: thm, sa , xao V mt stnh nng khc c cung cp bi SQLite

    Yu cu:- Vit chng trnh qun l sch c m tnh sau:

    o Mt tc gisc nhiu cun sch, thng tin tc gigm: m , tno Mi cun sch thuc vmt nh tc gino , thng tin mi cun sch gm: m

    sch, tn sch, ngy xut bno Hy chn kiu dliu hp l to c sdliu (sdng SQLite) cho ng v

    m ttrn

    - Thit kgiao 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 sxut hin mn hnh di y (ch

    mdi dng Dialog):

    o Chn Lu tc gi lu, chn xa trng xa dliu va nhp, focus ti m- Khi chn xem danh sch Tc gi, chng trnh smmt mn hnh mi hin th

    danh sch Tc gi toch dng CustomLayout cho ListView:

  • 5/28/2018 Android Exercise 2013

    46/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn tng tc gitrong danh sch, shin thmn hnh cho php chnh sa tc gi

    o Chn Update cp nht li Tc gi- Khi nhn Tht Lu (Long time) vo tng tc gitrong danh sch, chng trnh shin

    Alert Dialog hi xem c mun xa Tc giny hay khng?

    o Chn C xa tc gihin ti,o Chn Khng trvmn hnh xem danh sch

  • 5/28/2018 Android Exercise 2013

    47/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn chc nng qun l sch mn hnh chnh chng trnh shin th:

    o Load danh sch Tc givo Spinner

    o Sdng DatePickerDialog chngy xut bno Chn Thm sch lu vo CSDLng vi tc gichn trong Spinner, ng th

    cp nhp vo ListView bn di.

    Hng dn:- Xem hng dn cch sdung SQLite trong slide 5468 phn xl tp tin

    Bi tp 7:

    Mc ch:- Thc hnh v hiu vContent Provider:

    o Sdng c Builtin Content Proviero Txy dng c Content Provider ring

    Yu cu:- Vit chng trnh sdng mt sContent Provider phbin, thit kgiao din gin

    nh hnh bn di:

  • 5/28/2018 Android Exercise 2013

    48/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn Show All Contact, chng trnh shin thdanh sch cc Contact c lutrong in thoi:

    - Tng tnh vy vit chng trnh sdng Content Provider c sn sdng CallLog, Media Store, Book Marks

    Hng dn:- Xem hng dn chi tit slide 7380 phn xl tp tin

    Bi tp 8 (***):

    Mc ch:- Thc hnh v hiu vContent Provider:

    o Sdng c Builtin Content Provier

    o Txy dng c Content Provider ring

    Yu cu:- Txy dng mt Content Provider cho php tng tc vi Movie Object, thit kgiao

    din nh bn di:

    Hng dn:- Lm li slide hng dn t8397, dnh cho sinh vin kh gii

  • 5/28/2018 Android Exercise 2013

    49/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 4:Xl a tin trnh v dch v

    Ni dung kin thc thc hnh:

    - Thc hnh va tin trnh: Cch thc lp trnh vi Handler class v AsyncTask- Thc hnh vIntent Filter- Thc hnh vBroadCast Receiver: Cch ng kbroadcast Receiver trong coding v

    trong Manifest XML, thao tc vi mt schc nng trong Broadcast Receiver- Thc hnh vAndroid Service: cch thc giao tip vi Service thng qua Broadcast,

    Binder, Messenger.- Thc hnh vSystem Service: Pending Intent, Alarm Manager, NotificationManager- Thc hnh v.Net Webservice: Cch to .net webservice, cch cu hnh IIS, cch thc

    tng tc dliu gia Android v .Net Webservice: KSOAP Api

    Bi 1:

    Mc ch:- Thc hnh v hiu c kthut lp trnh a tin trnh

    o Cch tip cn bng Handlero 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 Handlerusing sendMessageo Handlerusing posto Dng AsyncTask

    - Khi bm Start chng trnh scp nht thng st1%100% ng thi ProgressBarcng c thc thi theo (xem hnh trn)

    - Khi t 100% chng trnh tng ng.- Thcgng chn nt Start tht nhiu ln, quan st v gii thch hin tng sy ra.

    Hng dn:

  • 5/28/2018 Android Exercise 2013

    50/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- Thc hnh v hiu c kthut lp trnh a tin trnh

    o Cch tip cn bng Handlero Cch tip cn bng AsyncTask

    Yu cu:- Vit chng trnh cho php vcc Button tng lc Runtime:

    - Yu cu thc hin vi nhiu cch (thc hin bi ny vi 3 cch khc nhau):o Handlerusing sendMessageo Handlerusing posto Dng AsyncTask

    - Khi ngi sdng nhp slng cc Button cn vvo EditText v chn chc nng

    Draw Button th c100 miliseconds mi Button sc vra (xem hnh), ng thi viskin ng cho cc Button ny. Mi ln chn cc Button mi vth dng Toast Thnbo l chn hay l.

    - Ch nn dng ScrollView cha cc Button v c thslng Button ln, vt quchiu di ca mn hnh

    Hng dn:

    - llbuttonl mt View no (do logic lp trnh ca mi ngi chn)- gn skin ging nh cch vit bnh thng

  • 5/28/2018 Android Exercise 2013

    51/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 3 (*):

    Mc ch:- Thc hnh v hiu c kthut lp trnh a tin trnh

    o Cch tip cn bng Handlero Cch tip cn bng AsyncTasko 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 vcc Button vi cc sngu nhino Layout 2 vcc Button l cc snguyn t(ch rng cc snguyn tny l k

    qusau khi AsyncTask thc hin cng vic vcc Button ngu nhin Layout

    Hng dn:

    - Xem hng dn slide 3137 phn xl a tin trnh v dch v

  • 5/28/2018 Android Exercise 2013

    52/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4:

    Mc ch:- Thc hnh v hiu vIntent filter, Broadcast Receiver

    o Cch khai bo v sdng Intent filtero Cch ng k/ gbBroadcast Receivero Cch xl Broadcast Receiver trong codingo Cch xl Broadcast Receiver trong Manifest XML

    Yu cu:- Vit ng dng Android xl tin nhn rc.- Hin nay rt nhiu tin nhn qung co gi v ti v, ci Al ca bn phi nhn rt nhi

    tin nhn nh thgy 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 sm bn cho l u src.

    Nh vy nn dng SQLite hoc XML lu cc u src.o Chng trnh phi tng nhn tin nhn v pht hin ra c tin nhn no l g

    i tcc u src .o Nu pht hin ra l u src th xa n khi inbox ca messaging ng th

    pht ra Audio l y l tin nhn rc, bx ngi sdng khng phi min 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 codingo ng k Broadcast Receiver nhn tin nhn ti trong Manifest XML

    - Sau khi lm xong theo 2 cch trn, hy so snh skhc bit gia chng. V kt lunchng 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 strong ListView th sny stng Remove khi CSD

  • 5/28/2018 Android Exercise 2013

    53/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Hng dn:- Phi sdng 2 permission sau thao tc vi SMS, Audio sxem trong Multimedia

    - ng k BroadCast Receiver trong Manifest:

    - Vi MySmsReceiverl class ta to ra ktha tBroadcastReceiver- Cch broadcast mt SMS hng dn trong Slide 5260 phn xl a tin trnh- mmt tp tin Audio, xem hng dn trong Multimedia APIs (phn ktip)- Cch xa mt tin nhn trong in thoi nh sau (da vo y truy vn danh sch u

    src trong CSDL xl), di y c 2 v dvxa tin nhn:o Xa ton btin nhn do 1 u sno gi ti (tc l xa lun trong inbox c)

    privatevoidXoaToanBoSms(Context con,SmsMessage[] msgs,String phoneNumber)

    {try{

    for(inti=0; i

  • 5/28/2018 Android Exercise 2013

    54/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    o Xa tin nhn mi gi ti tc th do 1 u sno gi ti (chxa tin mi nht

    privatevoidXoaSmsMoiNhat(Context con,SmsMessage[] msgs,String phoneNumber)

    {try

    {for(inti=0; i

  • 5/28/2018 Android Exercise 2013

    55/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 5:

    Mc ch:- Thc hnh v hiu c Android Service

    o Hiu c cch to v khi ng Serviceo 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 vcho php thc hin 2 cng vic:

    o Trvdanh sch cc tin nhn trong inbox (c100 miliseconds trv1 tin nhn)o Trvdanh sch cc Contacts trong in thoi (trv1 ln ht cc danh b)

    - Nh vy service phi kt hp vi a tin trnh gi thng tin cho ng dng (yu cudng AsyncTask)- Ci t v chy c trn in thoi Android thit- Thit kmt ng dng triu gi dch vtrn, xem giao din bn di:

    Hng dn:- Xem slide hng dn 7681 phn xl 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 btrong in thoi

  • 5/28/2018 Android Exercise 2013

    56/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 6:

    Mc ch:- Thc hnh v hiu c Android Service

    o Hiu c cch to v khi ng Serviceo 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 Trvdanh sch cc tin nhn trong inbox (c100 miliseconds trv1 tin nhn)o Trvdanh sch cc Contacts trong in thoi (trv1 ln ht cc danh b)

    o Xa mt tin nhn trong inboxo 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 nyo 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 PendingIntento To v sdng c AlarmManager (dng getBroadCast v getService)o To v sdng c NotificationManager

    Yu cu:- Dng AlarmManagervit chng trnh nhc nhngy sinh nht.

    o

    Hin nay v phi vt ln vi mi lo toan cuc sng, lm cho con ngi chng talc no cng bn rn, chng ta lc no cng chc cng vic v cng vic. Chnta qun i nhng ngy knim quan trng ca bm, anh em, bn b, i tcin thoi th sn trong ngi nhng t gi bt my ln hi han mt ai , hay lchnhn nhng li chc sinh nht m thm ti ngi thn cng khng nh. Nv tnh lm cho chng ta tch bit vi cuc sng m p hng ngy, n lm chochng ta trln kh khan ti mc v tnh.

  • 5/28/2018 Android Exercise 2013

    57/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    o V l do ny, yu cu cc sinh vin vit phn mm nhc nhngy sinh nht.Chng trnh phi c giao din cho php nhp vo danh sch cc Ni dung nhcnhvi nhng ngy nhc quy nh trn giao din.

    o Khi n ng ngy , gi th in thoi phi tng thng bo. Hnh thcthng bo ty sinh vin chn la, c th: Mmt audio ni ti ngy sinh nht

    Hoc tng mmt Activity ln mn hnh thng bo l ti ngy sinhnht

    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, hin thActivity vi mn hnh mu nh trn, sinh vin thty chn hnh thc Nhc Nhkhc

    - Sdng DatePickerDialog nhp Birthday- Khi chn Thm nhc nhsa thng tin xung ListView- Khi nhn rt lu vo 1 nhc nhno trong ListView th xa n ra khi ListView

    Hng dn:- Xem slide hng dn sdng AlarmManager : slide 8390- Sdng 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

  • 5/28/2018 Android Exercise 2013

    58/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 8:

    Mc ch:- Thc hnh v hiu c System Android Service

    o Hiu c PendingIntento To v sdng c AlarmManager (dng getBroadCast v getService)o To v sdng c NotificationManager

    Yu cu:- Dng NotificationManagervit ng dng:- Hy vit ng dng n gian c giao din nh bn di:

    - Khi chn Start, ng dng shin thNotification thng bo nh bn di

    - Ko Notification xung, v chn n, mn hnh tm kim Google sxut hin nh di:

    - Chn Stop ngng Notification

    Hng dn:- Xem hng dn slide 9799

  • 5/28/2018 Android Exercise 2013

    59/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 9 (*):

    Mc ch:- Thc hnh v hiu c cch tng tc dliu gia Android v .Net Webservice

    o Bit to .Net Webserviceo Bit cch cu hnh IISo Tng tc Android vi .Net Webservice thng qua KSOAP API

    Yu cu:- Hy xy dng .Net Webservice vi m tsau (CSDL l Sqlserver):

    - Webservice ny scung cp cc dch v:o m tng sdanh mco Trvdanh sch cc danh mco Thm danh mc vo CSDLo Xa danh mc khi CSDLo Trvdanh sch cc sn phm theo mt m danh mc no o Tnh thnh tin, vi 2 i struyn vo l slng v n gio V mt sdch vpht sinh khc khi lm

    - Cu hnh IIS chy Webservice ny

    - Xy dng phn mm Android tng tc vi Webservice trn thng qua KSOAP AP

  • 5/28/2018 Android Exercise 2013

    60/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn Insert Cate: chng trnh sgi dch vthm 1 danh mc vo CSDL (ch cc nhp khng qu 10 danh mc)

    - Khi chn Show List Catalog: chng trnh shin thton bdanh sch danh mc voListView 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 xemngi sdng bit v hi xem hc chc chn mun xa hay khng.

    Hng dn:- Xem slide hng dn 107114- Bi tp ny rt quan trng, khi i lm thc tchng ta hay phi tng tc ti mt

    WebService no -

  • 5/28/2018 Android Exercise 2013

    61/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 10:

    Mc ch:- Thc hnh v bit c cch tng tc gia thit bAndroid vi My ch(Laptop)

    o Thit lp c kt ni gia in thoi v Laptopo Tng tc Android vi .Net Webservice thng qua KSOAP API

    Yu cu:- Yu cu tngtc c gia thit bAndroid thit vi Labtop

    Hng dn:

    - Ttrin khai:o Gi dng chc nng Portable wifi hotspotca thit bo Hoc mt sphn mm gip Laptop pht WIFI (Win7, Win8)o Chcn xc nh c IP ca my Laptop, kt ni theo IP ny

  • 5/28/2018 Android Exercise 2013

    62/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 5:Networking APIs v Multimedia APIs

    Ni dung kin thc thc hnh:

    - Thc hnh cch xl Strict Mode: Dng permitAll() v AsyncTask- Thc hnh truy sut dliu thng qua giao thc HTTP: c Text File, c Binary File,

    cch ly Network Status- Thc hnh vCamera: cch xl hnh nh tCamera, thao tc vi cc Parameters, cc

    thc Zoomin, cch thc chia shnh nh, thit lp mn hnh nn tCamera- Thc hnh vVideo: Cch thc lu trVideo, cch play Video, lm vic vi nhn dn

    khun mt- Thc hnh vAudio: Cch thc lu traudio, cch play audio, cch tm kim, chia s

    audio v thit lp nhc chung in thoi.- Nu my khng c internet th tcu hnh IIS local sdng website bnh th

    Bi 1:

    Mc ch:- Thc hnh v hiu c cch c 1 Text file tinternet

    o Bit xl Strict mode permitAll() AsyncTask Phn bit c skhc bit gia 2 cch ny, nn chn cch no

    o Sdng c mt sclass htrc Text file tinternet

    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 skhc bit gia 2 cch v kt lun nn sdng cch no

    Hng dn:- Xem slide hng dn 1012 phn Networking APIs v Multimedia APIs

  • 5/28/2018 Android Exercise 2013

    63/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- Thc hnh v hiu c cch c 1 Binary file tinternet

    o Bit xl Strict mode permitAll()

    AsyncTask Phn bit c skhc bit gia 2 cch ny, nn chn cch no

    o Sdng c mt sclass htrc Binary file tinternetYu cu:

    - Vit ng dng cho php hin thmt hnh nh bt ktinternet nh sau:

    - Yu cu dng AsyncTask load hnh nh vin thoi

    Hng dn:- Xem slide hng dn t1416 phn Networking APIs v Multimedia APIs

    Bi tp 3:

    Mc ch:- Hiu thm cch c 1 Binary file tinternet

    Yu cu:- Ci tin bi tp 2 bng cch thm 1 Progressbar load hnh nh v, v bi tp 2 thn

    gy ra tnh trng ging nh my khi m tp tin qu nng hoc internet chm

    Hng dn:

  • 5/28/2018 Android Exercise 2013

    64/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4:

    Mc ch:- Thc hnh v hiu c cch kim tra trng thi mng ca thit bAndroid:

    o Hiu v sdng c ConnectivityManager

    Yu cu:- Vit chng trnh cho php kim tra tnh trng mng ca thit bdi ng Android, giaodin 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 3

    th yu cu mWifi hoc ng k 3G trc khi thc hin kt ni internet.

    Bi tp 5:

    Mc ch:- Thc hnh v hiu vCamera:

    o Cch chp hnh nh tCamerao Cch sdng Camera Parametero Chia shnh nho Thit lp mn hnh in thoi thnh nh trong Camera

    - Khng thc trn emulator, phi thtrn in thoi Android thit

    Yu cu:- Vit chngtrnh cho php kch hot Camera v chp mt hnh nh tCamera ri lu

    vo SD Card, xem giao din minh ha:

  • 5/28/2018 Android Exercise 2013

    65/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Khi chn View Camera, scho php kch hot Camera- Khi chn take Photo scho 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 vCamera:

    o Cch chp hnh nh tCamerao Cch sdng Camera Parametero Chia shnh nho Thit lp mn hnh in thoi thnh nh trong Camera

    - Khng thc trn emulator, phi thtrn in thoi Android thit

    Yu cu:- Ci tin bi tp 5, thm cc chc nng :

    o Zoomin, Zoomouto Xoay Camerao Chia shnh nh

    o Thit lp mn hnh nno Chc nng bt / tt n Flash (thay cho n Pin khibui ti Cp in)

    - Giao din sinh vin tsng to sao cho dsdng

    Hng dn:- Xem cch to n flash trong Android, da vo y a vo bi tp 6.

  • 5/28/2018 Android Exercise 2013

    66/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Trong Manifest XML cu hnh permission:

    - Coding trong Activity:

    publicclassMainActivity extendsActivity {//Button bt nFlashButtonbtnflashlight;//Bin ckim trnFlash angbt hay ttprivatebooleanisFlashOn= false;//to i tng camera truy sut Flash lightprivateCamera camera;//Parameter thit lp cho cameraprivateParametersparams;protectedvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnflashlight=(Button)

    findViewById(R.id.btnturnonoroffflash);btnflashlight.setOnClickListener(new

    View.OnClickListener() {publicvoidonClick(View arg0) {

    doTouchtoOn();}

    });

    }publicvoiddoTouchtoOn(){

    //Nu nflash angmif(isFlashOn) {

    //Thit lp flashmode off cho parameterparams.setFlashMode(Parameters.FLASH_MODE_OFF);//thit lp parameter cho cameracamera.setParameters(params);//gn ckim tra bng flase

  • 5/28/2018 Android Exercise 2013

    67/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    isFlashOn= false;//Thit lp chcho button l Bt n

    btnflashlight.setText("Bt n");}//Nu nflash angelse{

    //thit lp flashmode on cho parameter

    params.setFlashMode(Parameters.FLASH_MODE_TORCH);//thit lp parameter cho cameracamera.setParameters(params);//gn ckim tra bng trueisFlashOn= true;//Thit lp chcho Button l Tt n

    btnflashlight.setText("Tt n");}

    }protectedvoidonResume() {

    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();

    }protectedvoidonStop() {

    super.onStop();if(camera!= null) {

    camera.release();}

    }

    }

  • 5/28/2018 Android Exercise 2013

    68/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 7:

    Mc ch:- Thc hnh v hiu vVideo

    o Cch ghi Videoo Cch chi Videoo Bit chc nng nhn din khun mt trong Android

    Yu cu:- Vit ng dng cho php ghi v mVideo, xem giao din:

    - Khi chn Start Recording Video, chng trnh khi ng MediaRecord ln SurfaceViev tng quay phim lu vo SD Card

    - Khi chn Stop th sngng quay phim v mli phim va c ghi theo 2 cch:o Dng Implicit Intent mo Dng VideoView, MediaController m

    Hng dn:- Xem slide hng dn 4148 phn Networking APIs v Multimedia APIs

    - Trong Manifest thm cc permission:

  • 5/28/2018 Android Exercise 2013

    69/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 8:

    Mc ch:- Thc hnh v hiu vAudio

    o Cch ghi Audioo Cch mAudioo Cch tm kim Audioo 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 mcc tp tin ghi mo Htrchc nng tm kim theo ngy, theo tn tp tino Cho php ly 1 tp tin ghi m no lm nhc chung in thoi

    - Giao din sinh vin tthit ksao cho dsdng- 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 gilp chng trnh Music Player ca Android

    o Cho php thc thi c cc tp tin Audio, Videoo Thc thi c cc tp tin Audio, Video qua mng interneto V mt stnh nng cn thit khc

    Hng dn:- Xem cch thit kchng trnh Music Player ca Android

    - Tm kim trn mng- Dnh cho cc sinh vin kh gii

  • 5/28/2018 Android Exercise 2013

    70/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 6:Telephony APIs v Location Base Service APIs

    Ni dung kin thc thc hnh:

    - Thc hnh vcc tin ch ca Telephony APIs: Kim tra Phone State, Service State, lmvic vi Phone Number

    - Thc hnh vSMS: Cch cp quyn nhn v gi SMS, cch gi/nhn SMS, cch cc tin nhn trong Inbox, ng k BroadCast Receiver thao tc vi cc SMS

    - Thc hnh vcch to cuc gi, nhn cuc gi: cch cp quyn, sdngACTION_CALL, ACTION_DIAL, ACTION_ANSWER, ng k BroadCast Receivertng tc vi cc cuc gi n.

    - Thc hnh vCall logs: Xem lch scuc gi, xa lch scuc gi- Thc hnh vLBS APIs: Tm hiu GPS, Geocoding v Mapping location, thc hnh

    Mapping Intent v Mapping View

    Bi 1:

    Mc ch:- Thc hnh v hiu vTelephony APIs:

    o Cch gi mt tin nhn SMSo Cch nhn mt tin nhn SMSo Cch thao tc vi tin nhn

    Yu cu:

    - Hy vit ng dng thay thcho chng trnh Messaging ca Android:o Cho php son tho v gi tin nhno Cho php nhn tin nhno Cho php thao tc tin nhn:

    Xa tin nhn Tm kim tin nhn Sp xp tin nhn theo sin thoi, theo ngy gi, theo ngy nhn

    - Ch chng trnh chcn lu cc thng ssau ca mi tin nhn:o a chgi no Ni dung gi no Thi gian gi no Ni dung gi io Thi gian gi io (cc thng skhc khng cn lu)

    - Dng SQLite lu trthng tin ca mt tin nhn nh m ttrn:o Bng tin gi i (m tng, sgi i, ni dung gi i, thi gian gi i)o Bng tin nhn c (m tng, sgi n, ni dung gi n, thi gian gi n

  • 5/28/2018 Android Exercise 2013

    71/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    - Chng trnh nn ng k BroadCast Receiver trong Manifest XML tng nhn ctin nhn gi n v lu vo c sdliu (cho d ng dng btt)

    - Xem giao din minh ha (dng Tabselector v include cc Layout vo ng vtr):

    o C 4 tab nh trno Chn nt ly danh bhoc tnhp svo EditTexto Khi chn tab no th xl theo tab , sinh vin hy thit kLayout 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 Manif- Cch xa : xem li Sqlite cch xa nh thno- Cch tm kim: ngh cch tm kim hp l- Cch sp xp: xem Sqlite sp xp nh thno, 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 kno gi ti th d nhin Tin nhn ny sc tnglu vo 2 ni:

    o l Inbox thc tca Android (Ta khng lin quan, tAndroid lm)o v Sqlite m chng trnh chng ta to rata thao tc trn ci ny

    - Cc tin gi i chng trnh chlu khi ngi sdng dng phn mm ny gi tinnhn, cn gi bng Messaging ca Android th khng lin quan.

  • 5/28/2018 Android Exercise 2013

    72/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 2:

    Mc ch:- Thc hnh v hiu vTelephony APIs:

    o Xl cc trng thi ca in thoi (idle, in use, ringing)o Cch to mt cuc gi io Cch nhn mt cuc gi ti

    Yu cu:- Vit chng trnh qun l Blacklist- Thit kgiao 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 sgi 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 xl cuc gi slide 2225 phn Telephony APIs v LBS APIs

    Bi tp 3:

    Mc ch:- Thc hnh v hiu vTelephony APIs:

    o Thao tc vi Call log : xem, xa.

    Yu cu:- Vit chng trnh cho php qun l Call log- Thit kgiao din cho php xem danh sch Call log, cho php xa call log:

    - Khi mchng trnh stng c danh sch call log vo ListView nh trn- ContextMenu c 2 item: Xa call log ang chn v Xa ton bCall log, mi thao tc

    u dng AlertDialog xc nhn xem ngi dng c mun xa hay khng.

    Hng dn:- Tlm

  • 5/28/2018 Android Exercise 2013

    73/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Bi tp 4 (*):

    Mc ch:- Thc hnh v hiu vLocation Base Service APIs

    o Bit Android Google APIo Hiu v sdng Geocoding locationo Hiu v sdng 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 vsn phm mi. (Cng ty scung 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 tlm .Net Webservice thay cho cng ty)- Chng trnh ng thi cho php cp nht vtr 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 vtr mngi sdng ang ng)- Sinh vin c thdng Mapping Intent hoc Mapping View xl tm a im.

    Hng dn:- Dnh cho sinh vin kh gii- Xem hng dn slide 2844 phn Telephony APIs v LBS APIs- Chyu tham kho trn mng internet

  • 5/28/2018 Android Exercise 2013

    74/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 7:Thao tc vi thit bcm ng

    Ni dung kin thc thc hnh:

    - Thc hnh vSensorManager, Sensor, SenSorEventListener, SensorEvent: Cch thcng k Sensor, cch thc gbng k, cch ly Sensor mc nh, cch ly danh schSensors, cch ly cc gi trtrong SensorEvent

    - Thc hnh vcc thit bcm bin cth: cm bin nhit , cm bin nh sng, cmbin p sut, cm bin khong cch, cm bin gia tc, cm bin con quay hi chuyn,cm bin nh hng

    - Thc hnh vPin in thoi: Cch ng k Broadcast Receiver c thng sPin- Phi thtrn in thoi Android thit

    Bi 1:

    Mc ch:- Thc hnh v hiu vSensor Temperature:

    o Cch to Sensoro Cch ng k Sensoro Cch gbng ko 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 smmt Audiocnh 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 vSensor Light:

    o Cch to Sensoro Cch ng k Sensoro Cch gbng ko Ly cc thng tin trong SensorEvent

  • 5/28/2018 Android Exercise 2013

    75/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    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 nhhn nh sng ti thiu cho php th in thoi smAudio Phng qu ti, yucu bt n

    Hng dn:- Xem slide hng dn 13, 14- Xem trn internet

    Bi tp 3:

    Mc ch:- Thc hnh v hiu vSensor Pressure:

    o Cch to Sensoro Cch ng k Sensoro Cch gbng ko 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 thchp nhn, khi mi trng c p sut

    vt qu thng scho php th in thoi smAudio 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 vSensor Proximity:

    o Cch to Sensor

    o Cch ng k Sensoro Cch gbng ko 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 c

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

    tng, khi no vt qu gii hn ti thiu th tng tt mn hnh in thoi.

  • 5/28/2018 Android Exercise 2013

    76/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Hng dn:- Xem slide hng dn 1719- Xem trn internet

    Bi tp 5:

    Mc ch:- Thc hnh v hiu vSensor Accelerometer:o Cch to Sensoro Cch ng k Sensoro Cch gbng ko Ly cc thng tin trong SensorEvent

    Yu cu:- Vit ng dng nghe nhc c htrchc nng Lc in thoi chuyn bi ht:

    o Nu in thoi lc qua tri th mbi ht ng trco Nu in thoi lc qua phi th mbi ht ng sau

    Hng dn:- Xem slide hng dn 2023- Xem trn internet

    Bi tp 6:

    Mc ch:- Thc hnh v hiu vPin in thoi:

    o Ly cc thng tin trong PinYu cu:

    - Vit chng trnh ly cc thng sca Pin in thoi

    Hng dn:- Xem slide hng dn 3034- Xem trn internet

  • 5/28/2018 Android Exercise 2013

    77/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    Trang

    Module 8:Danh sch ti mn hc

    ti 1:

    - Vit chng trnh tra cu tin Anh VitVit Anh

    ti 2:

    - Vit chng trnh ng k hc phn tn chbng SMS

    ti 3:

    - Vit chng trnh ng k hc chng chtin hc A, B bng SMS

    ti 4:

    - Vit game bn bng sdng Sensor

    ti 5:

    - Vit chng trnh qun l Album nh

    ti 6:

    - Vit chng trnh g ting vit trong Android

    ti 7:

    - Vit chng trnhtm ng i

    ti 8:

    - Vit game caro (chi vi my)

    ti 9:

    - Vit game xp gch

    ti 10:

  • 5/28/2018 Android Exercise 2013

    78/78

    i Hc Cng Nghng Nai Khoa Cng NghThng T

    - 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 don trong vng 20 nm na th khunmt sthay i nh thno

    ti 15:

    - Vit chng trnh vthton hc trong Android