thuc_hanh_android_2013.pdf

Post on 12-Nov-2015

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

thuc hanh android

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