You are on page 1of 106

TUN 1 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID

2 thng 2 2013 lc 11:23

BI 1: THIT LP MI TRNG LP TRNH V TO NG DNG U TIN Trong bi ny ti s hng dn cc bn ti v ci t cc cng c cn thit cho vic lp trnh di ng trn mi trng Android. Hai thnh phn c bn nht m chng ta cn phi c chnh l b Android SDK (Software Development Kit) cha cc phin bn Android, cc hm API cn thit cng nh cc cng c h tr lp trnh khc v JDK (Java Development Kit) dng to ra mi trng thc thi my o cho h iu hnh m chng ta ang s dng. Cc bn c th ti b Android SDK ti a ch http://developer.android.com/sdk/index.html. Khi ti v b Android SDK s c nh dng *.exe trn mi trng Windows v ZIP i vi Linux v Mac OS. Vic ci t chng ta c th ch nh ni lu tr trn cng thit b, lu

khng nn chn phn vng ci h iu hnh bi v b SDK s tng dung lng rt nhiu khi chng ta ti v cc phin bn khc. i vi JDK cc bn truy cp vo trang http://www.oracle.com/index.html ti v ci t phin bn mi nht tng tnh n nh v h tr tt nht. V tt nhin nu bn khng mun phi lp trnh trn phn mm son tho vn bn th mt cng c lp trnh IDE (Integrated development environment) s rt hu ch v tin li.Eclipse c xem l mt cng c h tr rt tt trong vic lp trnh ng dng Android. Truy cp vo trang http://eclipse.org/downloads/ tin hnh ti v chy trc tip Eclipse. Trong ti liu ny Eclipse c s dng l phin bn 4.2.1 (Juno Eclipse Classic). c th to cu ni cho Eclipse vi b Android SDK lm vic vi nhau, ta cn phi s dng thm plugin ADT (Android Development Tool) cho Eclipse. N cho php chng ta to Project Android, qun l cc my o, ng gi ng dng v nhiu th khc na.Vic ci t ADT n gin ch cn theo cc bc sau: 1. Chn Help trn thanh tc v ca Eclipse v chn Install New Software v bm vo ntAdd. 2. Trong hp thoi mi xut hin, in a ch truy cp ti v ADT trong Location:https://dl-ssl.google.com/android/eclipse/. 3. Nhn OK Eclipse bt u tm kim, sau khi hon thnh s hin ra cc plug-in. nh du vo nt gc Developer Tools v nhn Next. Eclipse s t ng ti v, ta tip tc nhn Next qua bc ci t. 4. c v chp nhn cc iu khon bn quyn, nhn Next v Finsh. 5. Sau khi ci xong cn thc hin khi ng li Eclipse v tham chiu n n b Android SDK ci t. Chn mc Preferences trong phn Windows trn thanh tc v caEclipse. 6. Chn mc Android trong cy th mc bng pha bn tri. 7. Nhn Browse, tr n th mc ci t b Android SDK v nhn Apply. Danh sch cc phin bn SDK s c lit k nh hnh. Nhn OK hon thnh ci t. Vy l cc bn thit lp xong mi trng lp trnh. Chng ta s tm hiu tip cch to ng dng v chy thc thi trn my o. Sau khi ci Plugin ADT, ta s thy xut hin 2 biu tng trn thanh cng c ca

Eclipse. Biu tng u tin l Android SDK Manager, qun l cc phin bn Android. ng vi tng phin bn l cc ti liu hng dn, cc v d minh ha v cc hm API...Nhn vo biu tng khi ng Android SDK Manager v ADT s tng ng cp nht cc gi mi, bn c th la chn phin bn Android hoc cc cng c cn thit v n Install Pakages .

Biu tng th 2 l Android Virtual Device Manager (AVD), cho php lp trnh vin to v qun l cc thit b o. to thit b o ta khi ng AVD, n New, mt hp thoi mi hin ra v in vo cc thng tin sau: 1. Name: tn thit o cn to (thng t tn theo phin bn). 2. Target: phin bn Android mun thc thi trn thit b o ny. 3. CPU/ABI: gi lp chip x l cho thit b o, mc nh l ARM (armeabi-v7a) hoc Intel Atom i vi tng phin bn khc nhau. 4. SD Card: cp pht b lu tr ngoi cho thit b hoc tr n tp tin nh c sn. 5. Snapshot: bt tt ch chp mn hnh. 6. Skin: nh ngha phn gii cng nh kch thc mn hnh cho thit b o. 7. Hardware: b sung cc thuc tnh ph v phn cng cho thit b. y ta cn b sung thm thuc tnh Keyboard Support c th nhp liu vo thit b o t bn phm my tnh c nhn.

Nhn Create AVD kt thc qu trnh to thit b o. Danh sch cc thit b o c lit k trn bng bn tay phi, ta c nhn chn khi ng (Start) hoc cc tu chnh (Edit), xo (Delete) v xem li thng s thit b (Details). Vic tip theo ta s thc hin to mt Project v chy th trn thit b o m ta to. to mi Project ta s dng cng c Android New Project Wizard theo cc bc sau: 1. T thanh tc v ca Eclipse chn File New Android Application Project. 2. Trong hp thoi mi xut hin in cc thng tin sau: a. Project Name: l tn ca n. b. Application Name: l tn ng dng m chng ta s to.

c. Package Name: l tn nh danh ca gi phn mm c h thng lu tr trn thit b khi ci t ng dng. Thng s c c theo tn ca mt t chc hoc c nhn to ra ng dng. Bt buc phi c 2 trng d liu tr ln v ngn nhau bi du chm. V d htsi.test.demoapplication. d. Build SDK: chnh l phin bn m lp trnh vin s pht trin ng dng, mc nhin cc hm h tr s c tch hp nhm ti u ho ng dng trn phin bn ny. e. Minimum Required SDK: phin bn thp nht c ch nh chy ng dng. Mt s cc hm API s c gi b sung trong phn th vin h tr. f. Create custom launcher icon: nh du vo phn ny thit lp biu tng cho ng dng. g. Mark this project as a library: nh du cho bit chng ta ang cn to ra mt Project mi dng th vin s dng. h. Location: ni dng lu Project. C th mc nh hoc to ra ni lu tr mi bng cch nh du hoc hu nh du phn Create Project in Workspace. 3. Nhn Next qua hp thoi tip theo s l ni chng ta to ra biu tng cho ng dng nu nh hp thoi trc chng ta c nh du vo phn Create custom launcher icon. 4. Tip tc nhn Next ta s qua hp thoi to Activity (c th tm hiu l mn hnh ng dng u tin). C hai la chn l BlankActivity cho mn hnh tt c cc phin bn Android v MasterDetailFlow cho cc phin bn t 3.0 (API 11) tr ln. 5. Trong hp thoi cui cng, ta s thit lp thm mt s cc thng s cho Activity nh tn (Activity Name), giao din s dng (Layout Name), cc iu hng trn mn hnh (Navigation - ch h tr t phin bn Android 4.0). Nhn Finish hon thnh vic to n. chy th Prject ny ta thc hin chut phi ln tn Project, chn Run As Android Application. V y s mn hnh ng dng u tin ca bn.

sMart (Trung Tm Tin Hc i Hc Khoa Hc T Nhin) "Bn vui lng Like Hi v Share nu bn thy b ch cho mi ngi v ghi r ngun Hi Yu Thch Lp Trnh Di ng khi pht hnh li thng tin/bi vit ny, xin cm n!"

TUN 2 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


5 thng 2 2013 lc 10:15

BI 2: XY DNG NG DNG A MN HNH V TRUYN D LIU Trong bi ny chng ta tm hiu cch xy dng giao din cho Activity v cc chuyn mn hnh n gin thng qua vic to ra mn hnh ng nhp cho ng dng. Tin hnh toProject, vo th mc res/layout m tp tin activity_main.xml s c giao din nh hnh:

Thc hin ko cc iu khin vo trong Layout nh hnh, chuyn qua ch XML ( mu xanh) sa thuc tnh ca cc iu khin nh sau:

Vo th mc res/values m tp tin strings.xml v b sung nh sau:

Trong hm onCreate ca tp tin MainActivity.java x l s kin nhn cho Button.

To lp SecondActivity trong th mc src vi ni dung nh sau:

M tp tin AndroidManifest.xml, trong cp th application b sung thm Activity cho ng dng.

Tin hnh chyProject, bm vo nt Go ng dng s chuyn qua mn hnhSecondActivity nh hnh, thc hin bm nt Back trn thit b o tr v MainActivity.

TUN 3 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


19 thng 2 2013 lc 10:05

BI 3: XY DNG NG DNG GHI CH BNG LISTVIEW Thit k giao din gm mt EditText v mt ListView, m tp tin activity_main.xml trongres/layout/ v chnh sa ging nh hnh.

To thm mt tp tin giao din cho mi dng trong ListView. Nhp chut phi vo th mcres/layout/

chn New Android XML File. Chn iu khin TextView. M tp tin MainActivity.java, to cc bin thnh vin trn hm onCreate

Trong hm onCreate khi to gi tr cho cc bin thnh vin ny.

X l s kin onKeyListener cho EditText

Chy ng dng th nhp liu vo EditText v nhn Enter

Ti m ngun ng dng ti https://www.dropbox.com/s/qw9c5h3njjfnuac/DemoListView.rar

TUN 4 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


26 thng 2 2013 lc 9:44

BI 4: XEM NH VI GRIDVIEW Thit k giao din cha GridView, m tp tin activity_main.xml trong res/layout/ v chnh sa ging nh sau:

Thc hin copy cc hnh nh vo th mc res/drawable-hdpi (Lu cc file nh khng nn vit hoa hoc c cha k t s). To lp ImageAdapter k tha t lp BaseAdapter v khai bo cc bin thnh vin

Thc thi cc phng thc c bt buc ca lp k tha. Hai phng thc getCount tr v s lng item GridView cn th hin chnh l di mng hnh v phng thc getPosition tr v v tr ca mi item. Phng thc getView to i tng ImageView th hin hnh nh cho mi item

Khai bo cc bo thnh vin trong lp MainActivity v thc hin tham chiu trong hm onCreate:

Chy ng dng v xem ng dng th hin cc hnh nh. Ti m ngun ng dng ti: https://www.dropbox.com/s/qw9c5h3njjfnuac/DemoListView.rar

TUN 5 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


5 thng 3 2013 lc 14:56

BI 5: NNG CP NG DNG XEM NH VI VIEWFLIPER

K tha bi trc, trong lp MainActivity b sung bin sau:

Trong phng thc onCreate ca MainActivity b sung on m sau

T th mc res/layout ca Project, to tp tin show_image_layout.xml vi ni dung sau

To thm lp ShowImage k tha t lp Activity v thc thi Inteface OnTouchListener

Thc hin x l ngi dng thc chm v ko trn mn hnh

Cui cng khai bo activity ShowImage trong tp tin Manifest (trong cp th application)

Chy ng dng, bm vo biu tng bt k s hin th nh sau:

Ti m ngun ng dng ti:https://www.dropbox.com/s/qu4obiw6zjmli0p/DemoGridView(2).rar

TUN 6 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


13 thng 3 2013 lc 8:58

BI 6 : S DNG SPINNER M tp tin activity_main.xml v chnh sa nh sau:

Khai bo bin Spinner, TextView v mng Size trong lp MainActivity

Trong hm onCreate tin hnh to Adapter v tin hnh x l s kin khi ngi dng chn mt item trong Spinner.

Tin hnh chy ng dng v bm vo Spinner chn item xem s thay i ca ch Hello World! Ti m ngun ng dng ti:https://www.dropbox.com/s/suijhp254umacv8/DemoSpinner.rar

TUN 7 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


26 thng 3 2013 lc 17:05

BI 7: S DNG AutoCompleteTextView V MultiAutoCompleteTextView Hai iu khin ny s gip chng ta c th h tr ngi dng kh nhiu trong qu trnh nhp liu. V d khi ngi dng nhp mt t, iu khin s t ng tm d liu tng ng hon thnh t m khng cn ngi dng nhp ht. u tin m tp tin activity_main.xml thm on code sau:

Trong th mc res/layout to thm tp tin item_layout.xml c ni dung nh sau:

Trong lp MainActivity khai bo mng String lm d liu:

Trong hm onCreate khai bo tham chiu cc i tng v Adapter d liu nh sau

Chy ng dng th g vo hai iu khin ta s thy cc d liu t ng hin th nh hnh. Lu i vi AutoCompleteTextView ta ch c th s dng c mt ln t ng in d liu, cn MultiAutoCompleteTextView cc d liu c t ng in nhiu ln v cch nhau bng du phy.

Ti m ngun ng dng ti:https://www.dropbox.com/s/uxunt0tccqkmprz/DemoAutoCompleteTextView.rar

TUN 8 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


3 thng 4 2013 lc 15:15

BI 8: S DNG TABHOST Ging nh trn Windows, Android cng c c iu khin dng th Tab cho php ngi dng c th chuyn i cc khung nhn vi cc ni dung khc nhau trong cng mt giao din ca s (Activity).

u tin ta m tp tin activity_main.xml trong th mc res/layout v chnh sa ni dung nh sau:

M tp tin MainActivity trong mc src, cho lp MainActivity k tha t lp TabActivity thay v lp Activity nh sau:

Trong hm onCreate khai bo cc bin TabHost nh sau:

Chy ng dng v di chuyn qua cc th khc bng cch bm vo Tab. Ti m ngun ng dng ti: https://www.dropbox.com/s/9nqb3lbryz7mftd/DemoTabActivity.rar

TUN 9 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


11 thng 4 2013 lc 14:56

Bi 9: NG DNG H TR A NGN NG V MN HNH XOAY NGANG To project mi, trong th mc res to cc th mc nh sau:

M tp tin strings.xml trong th mc values b sung cc bin string nh sau:

M tp tin trong activity_main.xml trong th mc layout thit k nh sau, lu thuc tnh text ca cc Button phi tr n cc bin string trn (v d android:text = @string/left_top):

Thc hin chy ng dng, khi ng dng hin trn mn hnh my o, thc hin t hp phm Ctrl+F12 xoay mn hnh, ta s thy v tr cc nt s b sai. Thc hin chp tp tin activity_main.xml trong th mc layout vo th mc layout-land, chnh sa li v tr cc nt nh sau:

ng thi chp tp tin strings.xml vo th mc values-vi chnh sa nh sau:

Chy ng dng xoay mn hnh thy giao din nm ngang. Xem giao din ting Vit ca ng dng bng cch trn my o vo Setting Language & Input phn language chn ngn ng l ting Vit. Ti m ngun ng dng ti:https://www.dropbox.com/s/rbntt70x33tifxc/DemoMultiLangagues.zip

TUN 10 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


16 thng 4 2013 lc 10:43

BI 10: NG DNG S DNG FRAGMENT V VIEWPAGER T phin Android 3.0 tr ln, b SDK b sung Fragment cho php ngi dng xy dng giao din ng dng bng cch ti s dng cc tp tin Layout. To project mi, trong th mc res/layout b sung tp tin giao din fragment_layout.xml ni dung nh sau:

M tp tin trings.xml trong th mc values b sung cc bin string nh sau:

M tp tin activity_main.xml khai bo i tng ViewPager (lu iu khin ny c xy dng trong gi android.support.v4.view do ta khng th ko th t giao din m phi chnh sa trong code xml) nh sau:

Trong tp tin MainActivity.java ta khai bo mt inner class (lp con) k tha t lp FragmentPageAdapter.

Sau chnh s hm onCreate nh sau:

Thc hin chy ng dng, dng thao tc ko mn hnh t tri sng phi thy hiu ng ca View Pager. Ti m ngun ng dng ti:https://www.dropbox.com/s/ogksq2v4bgcy3da/DemoViewPager.zip

TUN 11 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


25 thng 4 2013 lc 16:06

BI 11: NG DNG C GHI TP TIN KT HP S DNG BROADCAST RECEIVER

Trong bi ny,ti s hng dn cc bn vit ng dng cho php lu tr tp tin, tt nhinkhng nht thit phi s dng Broadcast Receiver mi c th c ghi tp tin, tach s dng lp ny tng tnh tin li. u tin, m tptin activity_main.xml v thit k giao din nh sau:

Trong lpMainActivity.java khai bo cc bin cn thit bao gm 2 Button, mt EditText vlp MyReceiver k tha t lp tBroadcastReceiver c ni dung nh sau:

Dihm onReceive khai bo hai phng thc readFile v writeFile nh sau:

Cho phpMainActivity thc hin Interface OnClickListener v vo phng thc onCreatetham chiu n cc bin khai bo v thc hin ng k Receiver.

Cui cng thc hinhm onClick nh sau:

thc hin lutr tp tin trn sdCard bn phi xin quyn trong tp tin AndroidManifest.xml (di cng Project) nh sau:

Thc hin chy ngdng v thao tc vi cc nt c v ghi tp tin.

TUN 12 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


4 thng 5 2013 lc 10:56

BI 12: TY CHNH HIN TH LISTVIEW

Trong bi 3 ti c hng dn cc bn cc hin th d liu theodng danh sch ListView,tuy nhin nhc im ca cch ny l ch c th hin th 1 dng d liu. Nhngtrong trng hp ta cnth hin nhiu dng d liu phc tp hn nh v d sau:

Ta c th th trong ngdng Gmail c kh nhiu cho d liu cho mt dng d liu nh tiu , tn ngigi, ngy thng gido ta cn thc hin ty chnh Listview c th hin thnh trn. u tin ta cn xc nhc bao nhiu d liu trn mt dng v tin hnh xy dng lp tng ng. V d y ti cn hin th cho 3 d liu trn 1 dng thng tin v mt quc gia bao gmc, tn ting anh, tn ting vit. Ta xy dng lp Country i din nh sau:

c th hin th d liu nh mong mun ta cnxy dng layout cho mi dng trn Listview

Tip theo ta cn xy dng lp Adapter cho php a dliu ln ListView. y ti xy dng lpMyAdapter.

Ngay trong lp ny ta s b sung thm phng thcgetView cho php nh dng cho tng

dng d liu

Tip theo ta xy dng cc i tng tng ng vcc d liu cn thit trong lp MainActivity. Lu nh chp ccfile hnh vo th mc res/drawable.

Cui cng trong hm onCreate khi to d liu vsetAdapter cho Listview.

Lu ta sa tp tin activity_main.xml nh sau:

Ti m ngun ng dng ti: https://www.dropbox.com/s/6osqs4ehmtvkvx2/DemoCustomListView.rar

TUN 13 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


7 thng 5 2013 lc 10:47

BI 13: S DNG OPTION MENU

Trong ng dng trn thit b di ng do hn ch v kch thc mn hnh nncc thao tc c tn s s dng nhiu mi c thit k ngay trn mn hnh ng dng.Cc thao tc khc s c thu gn trong Menu ca ng dng, gi Menu ny ngidng phi bm phm Menu trn thit b. Trong bi ny, ti s hng dn cc bnthit k Option Menu cho ng dng ca mnh km theo cch chnh sa phng v much.. Thit k mn hnh ng dng gm mt TextView v mt Spinner, trong tp tinactivity_main.xml ta sa thnh nh sau:

Vo lp MainActivity b sung cc bin sau

Trong hm onCrate b sung on code sau:

B sung cc bin chui s dng trong tp tin strings.xml:

Trong th mc res/menu to tp tin option_menu_font.xml voption_menu_color.xml vi ni dung nh sau: option_menu_font.xml

option_menu_color.xml

Thc hin copy cc phng ch c nh dng *.ttf vo th mc asset caProject (v d: comic.ttf hoc arial.ttf). B sung phng thc khi to Option Menu cho ng dng khi ngi dng nhnphm Menu

chuyn i gia 2 menu ta chnh sa li phng thc onPrepareOPtionMenunh sau:

Trong th mc res/values to tp tin colors.xml vi ni dung sau:

Cui cng thc hin bt s kin khi ngi dng chn mtitem trn Menu:

Chy ng dng, chn Fonts hoc Colors trong Spinner sao bm phm Menutrn thit b, khi giao din Menu hin th chn mt item thy hiu ng. Ti mngun ng dng ti: https://www.dropbox.com/s/o25zin5p0ld2v7u/DemoOptionMenu.rar

TUN 14 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


14 thng 5 2013 lc 17:26

BI 14: S DNG CONTEXT MENU i vi hu ht cc ng dng hin nay, bao gm ng dng c sn trn thit b ln ng dng t hng th ba pht trin c th nhn thy iu khin c s dng nhiu nht chnh l ListView (hng dn c bn bi 3 v nng cao bi 12). Dng iu khin danh sch cho php chng ta lu tr c nhiu trng d liu trn cng mt mn hnh, tuy nhin vic thao tc vi tng mc s kh hn nu khng c s h tr t Context Menu, mt dng menu ging nh chut phi trn Windows vy. To project trong th mc res/values b sung vo tp tin strings.xml on m sau:

T th mc res/menu to tp tin context_menu.xml, y l tp tin s cu hnh ni dung cho menu, c ni dung nh sau:

Trong bi ny ta s dng Listview tng tc nn cn xy dng mt layout cho tng mc trn . Chut phi vo th mc res/layout New Android XML File Phn File ta t tn tp tin l item_layout, phn Root Element ta chn TextView. Chnh sa ni dung ging nh sau:

Ko iu khin ListView vo trong tp tin activity_main.xml v b sung on m sau vo tp tin MainActivity.xml:

Khi chy ng dng, nhn v gi mt mc bt k trn ListView ta s thy mt pop-up xut hin, tuy nhin lc ny ta vn cha x l cho cc mc trn menu.

thc hin x l ta cn Override li phng thc OnContextItemSelected, y c ba thao tc (Delete-Update-Share) nhng ti ch thc hin phn Delete, hai thao tc cn li cc bn lm tng t.

Ti m ngun ng dng ti: https://www.dropbox.com/s/17uuxnpntug3vsb/DemoContextMenu.rar

TUN 15 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


21 thng 5 2013 lc 15:59

BI 15: (PHN 1) ACTION BAR & ACTION MODE bi trc ta lm vic vi Option Menu, tuy nhin t phin bn Android 3.0 tr ln Action Bar c s dng thay th mang li cc thao tc d dng hn cho ngi dng. Trong bi ny ti s hng dn cc bn thao tc Action Bar vi ListView. To project, trong th mc res/layout to tp tin item_layout.xml c ni dung nh sau:

Trong lp MainActivity to mi lp tn Item t chc d liu cho mt dng trn Listview

Trn hm onCreate() khai bo cc bin cn thit thao tc d liu:

Tip tc to thm lp MyAdapter cho php a d liu ln ListView:

Chnh sa tp tin main.xml trong th mc res/menu nh sau:

B sung cc on code cn thit trong onCreate() khi chy ng dng.

Khi chy ng dng ln ta s thy nt Add nm gc phi mn hnh. x l tng tc ta cn thc thi phng thc onOptionItemSelected.

Thc thi chy vo thao tc thm d liu, phn xa chng ta s thc hnh trong phn ActionMode k sau. Ti m ngun ng dng ti: https://www.dropbox.com/s/kfiqls4pm7roqgi/DemoActionBar.rar

TUN 16 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


30 thng 5 2013 lc 10:40

BI 16: (PHN 2) ACTION BAR & ACTION MODE Trong bi ny chng ta s tip tc thc hnh vi Action Mode mt phn khng th thiu trn Action Bar. T Project, m tp tin MainActivity.java b sung cc bin sau:

Trong th mc res/menu to tp tin action_bar_menu.xml vi ni dung nh sau:

Vo phng thc onCreate khi to interface ActionMode.Callback, interface s t ng pht sinh ra 4 phng thc h tr chng ta thao tc vi Action Mode nh khi to, tng tc hoc hy.

Trong hm onCreateActionMode chnh sa on code khi to giao din menu nh sau:

Vo phng thc getView ca lp MyAdapter b sung on code khi ngi dng bm chn trn checkbox ca mt Item. (B sung ngay trn cu lnh return v;)

Lc ny khi bm chn vo mt Item ta s thy xut hin Menu cho xa, tuy nhin x l vic xa ta cn b sung thm on code trong hm onActionItemClicked sau:

Ti m ngun ng dng ti: https://www.dropbox.com/s/zvv4n4oc24h5uki/DemoActionBar2.rar

TUN 17 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


4 thng 6 2013 lc 11:17

BI 17: S DNG WEBVIEW TI TRANG HTML Trong bi ny ti s hng dn cc bn thc hnh to webview load cc thng tin t mt trang web bt k, tt nhin ng dng cn phi c php truy cp internet. To project, m tp tin AndroidManifest.xml b sung on code sau (ngay trc cp th application).

Tip theo ta s xy dng layout, c th load mt trang html iu cn thit l phi c iu khin Webview, y ta b sung thm mt EditText cho php ngi dng c th linh hot in cc a ch URL khc nhau v mt Button xc nhn. M tp tin values/strings.xml b sung 2 bin sau:

Vo th mc res/layout m tp tin activity_main.xml chnh sa nh sau:

Xong phn giao din, gi ta qua phn x l khi ngi dng nhp mt a ch URL vo EditText. M tp tin MainActivity.java b sung cc bin ton cc sau:

Vit phng thc openBrowser cho php load a ch URL vo Webview

Sau trong hm onCreate ta tin hnh khi to cc bin c lin quan v bt s kin khi ngi dng in a ch URL v nhn phmEnter.

B sung thm on code khi ngi dng nhn phm GO thay v nhn phm Enter.

Thc hin build ng dng v nhp a ch vo EditText, nhn phm Enter hoc bm phm GO xem kt qu. Ti m ngun ng dng ti: https://www.dropbox.com/s/atro9t9xwu4q4bv/DemoWebView.zip

TUN 18 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


11 thng 6 2013 lc 16:36

BI 18: S DNG DIALOG FRAGMENT Dialog l dng ca s nh cho php ngi dng c th nhp thng tin hoc a ra cc quyt nh cui cng trong mt chui x l s kin. V d khi ngi dng thot ng dng hoc xa d liu ta cn a ra mt ca s nh xc nhn thng tin li ln cui. Trong bi ny ti s hng dn cc bn to Dialog Fragment (mt dng API mi) cho php ngi dng nhp liu. To Project trong th mc res/layout to tp tin fragment_edit_layout.xml vi ni dung nh sau, tp tin ny s c dng lm layout cho Dialog:

M tp tin activity_main.xml thm nt bm vo hin thi Dialog. Tip theo to lp EditNameDialog k tha t lp FragmentActivity v nhn s kin onEditorActionListener (bt li s kin khi ngi dng thao tc vi bn phm). Trong lp ny ta cng to ra interface EditNameDialogListener nhn d liu ngi dng nhp.

Lu lp DialogFragment nn nm trong gi android.support.v4.app.DialogFragment tin cho cc vic tng thch ngc trn cc dng my c phin bn h iu hnh thp hn 3.0.

Thc hin build ng dng, nhn nt Input hin Dialog sau nhp liu vo EditText ri nhn phm Done trn bn phm xem kt qu. Ti m ngun ng dng ti: https://www.dropbox.com/s/2c5l92uwzr7mt6t/DemoDialogFragment.rar

TUN 19 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


18 thng 6 2013 lc 16:49

BI 19: THNG BO BNG STATUS NOTIFICATION bi trc chng ta thc hin thng bo cho ngi bng Dialog, tuy nhin cch ny ch s hiu qu khi ngi dng tng tc vi ng dng. Trong cc trng hp bo m thng bo mt cch hp l n ngi dng m khng ngt ngang tng tc vi ng dng khc ta s s dng Status Notification, cho d ngi dng c m ng dng hoc khng. C th thy iu ny thng qua mt s ng dng c sn trong thit b nh Message, Gmail... To mi Project, thit k layout c giao din bao gm mt EditText, TextView v Button nh sau (nn thit k vo tp tin activity_main.xml):

Vo MainActivity khai bo cc bin cn thit trong hm onCreate:

B sung phng thc createNotification, trong phng thc ny ta s nh ngha giao din cho mt thng bo bao gm cc thng tin nh ni dung, tiu , biu tng, thi gian gi...nhng quan trng nht l d liu nh km trong intent.

Tin hnh xy dng activity NotificationDetails nhn d liu khi ngi dng nhn vo thng bo:

Thc hin build ng dng, in d liu vo EditText v nhn nt To thng bo. Ta s nhn c thng bo nh sau:

Bm vo thng bo xem ni dung in trong EditText. https://www.dropbox.com/s/dodydcskqrdny1l/DemoNotification.rar

TUN 20 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID

25 thng 6 2013 lc 16:52

BI 20: TCH HP SEARCHVIEW VO NG DNG Trong ng dng khi thc hin thao tc vi khi d liu ln, hoc mun truy xut ngay tc thi mt tp tin no ngi dng thng hay bi ri v mt nhiu thi gian tm ra chng. bi ny ti s hng dn cc bn tch hp iu khin SearchView vo ng dng cho php tm kim mt dng d liu trong ListView. To Project, thc hin ko ListView vo tp tin activity_main.xml

sau trong th mc res/menu/ to tp tin search_view.xml thc hin khai bo nh sau:

M tp tin MainActivity.java, cho lp MainActivity thc thi giao din onQueryTextListener v tin hnh khai bo cc bin cn thit.

Vo hm onCreate thc hin khi to v tham chiu gi tr cho cc bin khai bo trn.

Override phng thc onCreateOptionMenu thc hin thm SearchView vo thanh ActionBar.

Cui cng thc thi hai phng thc truy vn d liu khi ngi dng nhp khung SeachView, y n gin ta gi phng thc filter Adapter t sp xp d liu.

Thc hin chy ng dng bm vo biu tng tm kim, mt EditText s xut hin, tin hnh nhp liu ListView s t ng tm kim v sp xp d liu cho chng ta. Ti m ngun ng dng ti:https://www.dropbox.com/s/yppdw828tfde3wm/DemoSearchView.rar

TUN 21 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


2 thng 7 2013 lc 15:12

BI 21: CUSTOM WINDOWS Trong nhng bi hng dn trc chng ta thc hnh kh nhiu giao din bng cch xy dng layout cho Activity. Nhng tht ra c th qun l Activity pha bn di chng ta cn mt i tng khc na, chnh l Windows. Trong bi ny, ti s hng dn cc bn xy dng layout cho Activity m khng cn dng n hm setContentView quen thuc na. u tin xy dng layout row.xml vi ni dung nh sau:

Tip theo chnh sa tp tin activity_main.xml xy dng giao din ch

Trog tp tin MainActivity.java ta tin hnh tham chiu n cc iu khin khai bo trong XML v thc hin x l hm onClick cho hai nt bm. Lu tt c vit trong hm onCreate.

Thc hin build ng dng, bm vo 2 nt thy kt qu. Ti m ngun ng dng y: https://www.dropbox.com/s/de2f1k5qjncl3ss/DemoCustomWindows.rar

TUN 22 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


10 thng 7 2013 lc 8:37

BI 22: VELOCITYTRACKER V NG DNG TRONG LP TRNH GAME Trong bi v ViewFlipper ti c hng dn cc bn s dng onTouchListener bt li s kin cm ng trn mn hnh thit b. Ngoi cch ny Android cn cung cp cho chng ta lp VelocityTracker cho php ta ghi li vn tc di chuyn ca mt i tng trn mn hnh, do minh ha ny s rt hu ch cho cc bn yu thch lp trnh Game. To Project, thc hin to mt i tng custom bng Java code nh sau:

Sau ty chnh tp tin giao din activity_main.xml n gin ch bao gm mt i tng DotView v hai TextView dng ghi nhn d liu gia tc nh sau:

M tp tin MainActivity.java, cho lp MainActivity thc thi phng thc onTouchEvent ng thi khai bo tham chiu n i tng custom s dng phng thc ny c th di chuyn. Trong lp ny ta cng s dng lp Velocitytracker ghi nhn vn tc khi ta di chuyn i tng.

Chy ng dng thc hin ko v th i tng thy hiu ng, tuy n gin nhng cc bn c th s dng trong nhiu trng hp khc nhau khi cn thit. Ti m ngun ng dng ti:https://www.dropbox.com/s/0a62mwha8qwzu33/DemoVelocityTracker.rar

TUN 23 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


16 thng 7 2013 lc 11:25

BI 23: XY DNG NG DNG CHP NH VI CAMERA API Android cung cp cho chng ta hu nh cc API tng tc vi tt c cc thit b phn cng, tuy nhin c th ni trong s Camera l phn kh hp dn v l th. Trong bi ny ti s hng dn s lc v cch xy dng ng dng chp nh c bn nht. Phn hon thin v hiu ng s cp nht trong bi sau. bt u lm chng ta s khng xy dng giao din, m vic u tin l tp tin Manifest v xin hai quyn sau:

Nh vy l chng ta c quyn truy cp vo Camera ca thit b. Tip theo ta s xy dng giao din bao gm mt SurfaceView, ImageButton v HorizontalScrollView.

M tp tin MainActivity. Java khai bo 2 bin ton cc l Camera v Layout cha cc tm hnh chp c, sau tham chiu cc i tng trong hm onCreate.

Thc hin truy xut d liu t Camera bng cc thc thi cc hm trong Interface Callback ca i tng SurfaceHolder.

Cui cng x l cho nt chp hnh, ng k hm onClickListener v cho php thc thi hm PictureCallback trong lp Camera.

Thc hin build ng dng v tri nghim vi Camera API. Ti m ngun ng dng ti: https://www.dropbox.com/s/6cihm93wwmwj6gj/DemoCamera.rar

TUN 24 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


23 thng 7 2013 lc 11:05

BI 24: VIEW ANIMATION Trong ng dng Android, Animation (cc chuyn hot) nh mt thnh phn ct yu tng thm tri nghim cho ngi dng trong qu trnh s dng. Trong lot bi tip theo, ti s hng dn cc bn lm quen vi cc Animation API. Bi u tin chng ta s lm quen vi View Animation. ViewAnimation c s dng rng ri trong hu ht cc phin bn Android, tnh tin dng cao cng nh d dng khai bo. Nu nh cc chuyn hot khng qu phc tp th ViewAnimation nn l la chn u tin. Trong ViewAnimation bao gm cc chuyn hot sau: scale (phng to hoc thu nh), alpha ( trong sut), translate (thay i v tr) v rotate (quay). To Project, trong th mc res to th mc anim, sau ln lt to cc tp tin sau:

Khai bo cho tng tp tin tng ng: + alpha_anim.xml

+ rotate_anim.xml

+ scale_anim.xml

+ translate_anim.xml

+ set_anim.xml

M tp tin activity_main.xml, thit k giao din vi cc iu khin nh sau:

Vo trong tp tin MainActivity tin hnh khai bo v khi to cc thnh phn trong giao din v thit lp Animation thng qua cc lp tng ng. Vit phng thc setUpAnimation x l chung cho cc tt c Animation.

X l v gi phng thc trong hm onCreate.

Thc hin ci ng dng ln thit b, bm cc nt Animation xem hiu ng. Ti m ngun ng dng ti:https://www.dropbox.com/s/kf8nznnnwyw2o7q/DemoViewAnimations.rar

TUN 25 - HC NHANH LP TRNH DI NG TRN MI TRNG ANDROID


31 thng 7 2013 lc 13:42

BI 25: PROPERTY ANIMATION Trong bi trc ti hng dn cc bn cch s dng View Animation, tuy nhin t phin bn Android 3.0 tr ln b SDK c b sung thm mt cch thc na lm vic vi cc chuyn hot c gi l Property Animation. V bn cht c hai nh nhau, tuy nhin i vi Property Animation ta s ch nh thuc tnh m chng ta mun thc hin chuyn hot. To Project, trong th mc res to th mc animator, sau ln lt to cc tp tin sau:

Khai bo cho tng tp tin tng ng: + fade.xml

+ move.xml

+ scale.xml

+ spin.xml

+ combo.xml

M tp tin activity_main.xml, thit k giao din vi cc iu khin nh sau:

Vo trong tp tin MainActivity tin hnh khai bo v khi to cc thnh phn trong giao din v gi phng thc loadAnimator t lp AnimatorInflater truyn cc thng s t tp tin xml vo i tng Animator . Vit phng thc setUpAnimation x l chung cho cc tt c Animatior .

Thc hin ci ng dng ln thit b, bm cc nt Animation xem hiu ng. Ti m ngun ng dng ti: https://www.dropbox.com/s/kf8nznnnwyw2o7q/DemoViewAnimations.rar

You might also like