Xây Dựng Ứng Dụng Đóng Học Phí Dựa Trên Nền Android

75
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG ỨNG DỤNG ĐÓNG HỌC PHÍ DỰA TRÊN NỀN ANDROID Sinh viên thực hiện : Lê Thiên Sơn Lớp cnpm – K51 Giáo viên hướng dẫn: Ths Đỗ Văn Uy

description

Xây Dựng Ứng Dụng Đóng Học Phí Dựa Trên Nền Android

Transcript of Xây Dựng Ứng Dụng Đóng Học Phí Dựa Trên Nền Android

TRNG I HC BCH KHOA H NI

TRNG I HC BCH KHOA H NIVIN CNG NGH THNG TIN V TRUYN THNG *

NTT NGHIP I HCNGNH CNG NGH THNG TIN

XY DNG NG DNG NG HC PH DA TRN NN ANDROID

Sinh vin thc hin : L Thin Sn Lp cnpm K51Gio vin hng dn: Ths Vn Uy

H NI 05-2011

PHIU GIAO NHIM V N TT NGHIP1. Thng tin v sinh vin H v tn sinh vin: L Thin Sn. in thoi lin lc 01656093689Email: [email protected]: Cng ngh phn mm B H o to: Chnh quy n tt nghip c thc hin ti: : B mn Cng ngh phn mm, Vin CNTT & Truyn thng, i hc Bch Khoa H NiThi gian lm ATN: T ngy 15/ 01/2011 n 27 /05/20112. Mc ch ni dung ca ATN

Tm hiu h iu hnh Android v xy dng ng dng ng hc ph qua in thoi di ng.

3. Cc nhim v c th ca ATN

- Tm hiu h iu hnh Android- Xy dng ng dng ng hc ph qua in thoi di ng- Bo mt h thng

4. Li cam oan ca sinh vin:Ti L Thin Sn cam kt ATN l cng trnh nghin cu ca bn thn ti di s hng dn ca Ths Vn Uy. Cc kt qu nu trong ATN l trung thc, khng phi l sao chp ton vn ca bt k cng trnh no khc.H Ni, ngy 27 thng 05 nm2011Tc gi ATN

L Thin Sn

5. Xc nhn ca gio vin hng dn v mc hon thnh ca ATN v cho php bo v:

H Ni, ngy 27 thng 05 nm 2011Gio vin hng dn

Ths Vn Uy

MC LC

PHIU GIAO NHIM V N TT NGHIP2TM TT NI DUNG N TT NGHIP6ABSTRACT OF THESIS7DANH MC CC HNH9DANH MC CC BNG10LI NI U11CHNG 1:TNG QUAN V ANDROID121.Tng quan v Android121.1Khi nim Android121.2Tnh nng c bn ca Android121.3Kin trc Android121.4Cc ng dng trn Android131.5Framwork ng dng131.6Th vin h tr ca Android141.7Thc thi ng dng Android141.8Nhn Linux ca Android142.Framework xy dng ng dng trn Android142.1Cc thnh phn ca mt ng dng142.2Mn hnh v tc v182.3Lung v tin trnh.192.4Vng i cc thnh phn193.Cng c pht trin24CHNG 2:BI TON NG HC PH QUA IN THOI DI NG DA TRN NN ANDROID I-TUITION261Pht biu bi ton261.1t vn 261.2M t nghip v262.c t yu cu phn mm272.1c t chc nng272.2Yu cu phi chc nng292.2.1Tnh tin dng292.2.2 tin cy292.2.3Giao din292.2.3Bo mt29CHNG 3:XY DNG NG DNG NG HC PH QUA IN THOI DI NG DA TRN NN ANDROID I-TUITION301.Phn tch h thng301.1Biu Use Case ca h thng301.1.1Biu Use Case trn client301.1.2c t UseCase trn Server311.2.Biu trng thi ca h thng321.3Biu tun t ca h thng331.3.1Chc nng ng k (Register)331.3.2Chc nng ng nhp (Login)331.3.3Chc nng ng hc ph (Paying tuition)341.3.4Chc nng kim tra hc ph (Tuition Checking)351.3.5Chc nng kim tra lch s hc ph (Tuition History)361.4.Biu lp cho cc chc nng trong h thng371.4.1Chc nng ng k (Register)381.4.2Chc nng ng nhp (Login)381.4.3Chc nng ng hc ph (Paying tuition)391.4.4 Chc nng kim tra hc ph (Tuition Checking)401.4.5 Chc nng kim tra lch s hc ph (Tuition History)402.Thit k h thng412.1.T chc d liu412.1.1Bng qun l ngi dung h thng412.1..2Bng qun l tin nhn h thng412.1..3Bng qun l ti khon ngn hang422.1..4Bng qun l vic ng hc ph ca sinh vin422.1..5Bng thi hn quy nh ng hc ph432.1..6Bng hc ph sinh vin432.2.Thit k cc module442.2.1Thit k module ng k442.2.2Thit k module ng nhp452.2.3Thit k module ng hc ph462.2.4Thit k module kim tra hc ph472.2.5Thit k module lch s hc ph482.3.Thit k giao din492.3.1Giao din chnh ca phn mm492.3.2Giao tip ng k (Signup) vi h thng502.3.3Giao din ng nhp (Login)512.3.4Menu hc ph512.3.5Giao din ng hc ph522.3.6Giao din kim tra hc ph532.3.7Giao din kim tra lch s hc ph532.4Bo mt trong h thng542.4.1L hng h thng v e da542.4.2Gii php543.Ci t ng dng554.Thit k kim th584.1Kim th Module ng k584.2Kim th module ng nhp594.3Kim th module ng hc ph604.4Kim th module kim tra hc ph v lch s hc ph60KT LUN62TI LIU THAM KHO63

TM TT NI DUNG N TT NGHIP

Ni dung n tt nghip gm ba chng ln:

Chng 1: Tng quan v Android Trnh by cc khi nim c bn, cc tnh nng ca Android Framework xy dng ng dng ca Android. Cng c dng pht trin cc ng dng AndroidChng 2: Ni dung bi ton ng hc ph qua in thoi di ng v cc yu cu ca n Pht biu bi ton M t qu trnh nghip v c t cc yu cu chc nng v phi chc nng ca chng trnhChng 3: Xy dng h thng Phn tch h thng Thit k h thng Ci t h thng Kim th h thng

ABSTRACT OF THESISThe content of this thesis is divided into three parts:

Part 1: Overview about Android Basic definitions and properties of Android Framework of building applications in Android Tools for developing applications in AndroidPart 2: Paying tuition problem and its specification Defining paying tuition problem Describing the business of paying tuition Funtionalitiy and non-funtionalitiy specificationsPart 3: Develop paying tuition system Analysizing this system Designing this system Coding this system Testing this system

DANH MC CC T VIT TT

STTVit tt/thut ngGii ngha

1CNTTCng ngh thng tin

2ITuitionH thng ng hc ph qua in thoi di ng

3Use caseTrng hp s dng/ca s dng

4CSDLC s d liu

5ModuleMt b phn ca chng trnh

5UserNgi dng trong h thng

DANH MC CC HNH

Hinh 1:Kin trc Android12Hinh 2:Vng i ca Activity20Hinh 3: Cch gi Service trong Android22Hinh 4: c t chc nng ng k26Hinh 5: c t chc nng ng nhp26Hinh 6: c t chc nng ng hc ph27Hinh 7: c t chc nng Kim tra hc ph27Hinh 8: c t chc nng Lch s hc ph27Hinh 9: c t Use Case cho client29Hinh 10: c t Use Case cho Server30Hinh 11: Biu trng thi cc chc nng31Hinh 12: Biu tun t chc nng ng k32Hinh 13: Biu tun t chc nng ng nhp33Hinh 14: Biu tun t chc nng ng hc ph34Hinh 15: Biu tun t chc nng kim tra hc ph35Hinh 16: Biu tun t chc nng kim tra lch s36Hinh 17: Biu lp chc nng ng k37Hinh 18: Biu lp chc nng ng nhp38Hinh 19: Biu lp chc nng ng hc ph38Hinh 20: Biu lp chc nng kim tra hc ph39Hinh 21: Biu lp module kim tra lch s hc ph40Hinh 22: MOCKUP Giao din chnh49Hinh 23: MOCKUP giao din ng k49Hinh 24: MOCKUP Giao din ng nhp50Hinh 25: Menu hc ph51Hinh 26: Giao din ng hc ph51Hinh 27:Giao din kim tra hc ph52Hinh 28:Giao din lch s hc ph52

DANH MC CC BNG

CSDL - Bng ti khon ngi dng41CSDL - bng lu tr tin nhn h thng41CSDL Bng ti khon ngn hang42CSDL Bng thng tin ti khon42CSDL Bng qun l ng hc ph43CSDL Bng lu tr thi hn ng hc ph43CSDL - Bng hc ph sinh vin44

LI NI U

Ngy nay, cng vi s pht trin mnh m ca cng ngh thng tin, th gii chng kin rt nhiu thnh tu to ln, cc cuc cch mng trong nhiu lnh vc m nhn t quan trng trong chnh l vic ng dng cng ngh thng tin. Song song vi cc phn mm dnh cho doanh nghip, cc phn mm dnh cho in thoi di ng cng c pht trin mt cch mnh m. Nhu cu ca con ngi i vi cc thit b di ng cng khng cn gii hn trong vic nghe gi v nhn tin nh trc, m vn cao hn ti cc tin ch ca cc dch v. Xut pht t nhu cu , h thng ng hc ph qua in thoi Ituition c ra i. H thng cung cp cc dch v nh: ng hc ph, kim tra hc ph, lch s hc ph d dng tin li cho ngi dng.Trong n ny, ti xin trnh by nhng cng ngh ti s dng, l thuyt chung v h iu hnh Androd cng nh cc bc xy dng phn mm: Phn tch, thit k, ci t v kim th h thng. Trong khong thi gian 3 thng lm n, vi s hn ch v kinh nghim, sn phm ca ti vn cha th hon thin, c bit trong vic ti u h thng t hiu sut cao cng nh c th dp ng c vi s lng kt ni ln. Ti hy vng s c th ci thin c sn phm cng nh tm hiu nhng cng ngh mi c th p ng c tt hn nhng nhu cu ca c h thng.

Ti xin c gi li cm n ti cc thy c trong vin Cng Ngh Thng Tin v Truyn Thng, Trng i Hc Hc Bch Khoa H Ni, c bit ti xin gi li cm n ti thy thy Vn Uy tn tnh hng dn v nh hng cho ti trong sut qu trnh thc hin n ny. ng thi ti xin c gi li cm n ti gia nh, bn b c v, ng vin, ng gp kin v gip rt nhiu trong thi gian qua.

CHNG 1:TNG QUAN V ANDROID

1.Tng quan v Android1.1Khi nim AndroidAndroid l mt nn tng m dnh cho thit b di ng ca Google, bao gm h iu hnh, middleware v mt s ng dng c bn. Android SDK cung cp cc cng c v API cn thit pht trin ng dng trn nn tng Android s dng ngn ng lp trnh Java.

1.2Tnh nng c bn ca Android ng dng framework cho php ti s dng v thay th cc thnh phn My o Dalvik c ti u ha cho thit b di ng. Tch hp trnh duyt da trn cng c m ngun m WebKit ha c ti u ha, h tr bi th vin ha ty chnh 2D, 3D da trn c im ca OpenGL ES 1,0 C s d liu SQLite lu tr d liu c cu trc H tr phng tin cho m thanh ph bin, video, v nh dng hnh nh (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) in thoi GSM (ph thuc phn cng) Bluetooth, EDGE, 3G, v WiFi (ty thuc phn cng) Camera, GPS, la bn, v gia tc (ty thuc phn cng) Mi trng pht trin a dng gm: 1 b m phng, cng c g li, plugin cho Eclipse IDE

1.3Kin trc AndroidS di y cho thy cc thnh phn chnh ca h iu hnh Android. Cc thnh phn ny c m t chi tit trong cc mc sau (d,e,f,g,h,i).

Hinh 1:Kin trc Android1.4Cc ng dng trn AndroidCc ng dng c bn bao gm: email, nhn tin SMS, lch, bn , trnh duyt, lin lc, ... Cc ng dng u c vit bng ngn ng Java.1.5Framwork ng dngBng cch cung cp mt nn tng pht trin m, Android cung cp cho cc nh pht trin kh nng xy dng cc ng dng cc k phong ph v sng to. Nh pht trin c t do tn dng li th ca phn cng, truy cp thng tin v a im, chy cc dch v trn background, bo thc, Nh pht trin c th truy cp vo cc API cng mt Framework s dng bi cc ng dng c bn. Kin trc ca ng dng c thit k n gin ha vic s dng li cc thnh phn; bt k ng dng no cng c th s dng li chc nng ca mt ng dng khc (nu cho php). C ch ny cho php cc thnh phn tng t s c s dng li. V c bn, tt c cc ng dng l mt tp cc dch v v h thng, bao gm: - Views: Mt tp phong ph cc i tng view, c th m rng, dng xy dng ng dng, bao gm danh sch, mng li, cc text box, button, v trnh duyt web nhng - Content Providers: cho php ng dng truy cp vo d liu ca cc ng dng khc hoc chia s d liu ca chnh n. - Resource Manager: qun l truy cp vo cc ti nguyn (khng phi m ngun) nh cc file strings, graphics, v layout- Notification Manager: cho php ng dng hin th thng bo ty chnh trong thanh trng thi - Activity Manager: qun l vng i ca ng dng, cung cp mt ngn xp ngc (backstack) iu hng thng thng

1.6Th vin h tr ca AndroidAndroid bao gm mt b th vin C / C + + s dng bi cc thnh phn khc nhau ca h thng. Cc nh pht trin s dng cc th vin ny thng qua cc framework ng dng ca Android. Mt s th vin c bn: - System C library (H thng th vin C): da trn BSD ca h thng th vin C chun, iu chnh thit b nhng da trn Linux - Media Libraries (Th vin cc phng tin): da trn PacketVideo's OpenCORE; th vin h tr pht, ghi li cc m thanh ph bin, nhiu nh dng video, cng nh cc tp tin hnh nh tnh, bao gm MPEG4, H.264, MP3, AAC, AMR, JPG, v PNG - Surface Manager (qun l b mt): qun l truy cp vo cc h thng ph hin th , ph hp cho truy cp vo cc lp ha 2D v 3D t nhiu ng dng - LibWebCore: mt trnh duyt web hin i, h tr trnh duyt Android v trnh duyt web nhng - SGL - cc cng c ha 2D c bn - Th vin 3D (3D libraries): da trn cc API ca OpenGL ES 1,0, s dng kh nng tng tc phn cng 3D (nu c) hoc phn mm ti u ha 3D mc cao- FreeType: font bitmap v vector- SQLite: h c s d liu quan h nh v mnh sn c cho tt c ng dng

1.7Thc thi ng dng AndroidAndroid bao gm mt tp cc th vin c bn cung cp hu ht cc chc nng sn c trong cc th vin c bn ca Java. Mi ng dng Android chy trong tin trnh ring (trn my o Dalvik). Mi thit b c th chy nhiu my o ti mt thi im. My o Dalvik thc thi cc file trong nh dng .dex (c ti u ha cho b nh ti thiu). Cc lp ban u c bin son bi trnh bin dch ngn ng Java khi thc thi c chuyn i thnh cc nh dng .dex ( bi cng c dx). My o Dalvik da trn nn ht nhn Linux, h tr cc chc nng c bn nh qun l lung v b nh mc thp.1.8Nhn Linux ca AndroidAndroid da trn nn Linux phin bn 2.6, cung cp cc dch v c bn cho h thng nh bo mt, qun l b nh, qun l tin trnh, network stack, v m hnh iu khin. Ht nhn cng hot ng nh mt lp tru tng gia phn cng v phn mm.

2.Framework xy dng ng dng trn Android2.1Cc thnh phn ca mt ng dngMt c trng trng tm ca Android l mi ng dng c th s dng li cc thnh phn ca cc ng dng khc (nu cho php). c nh vy, h thng phi khi to mt tin trnh bt c khi no ng dng cn n, ng thi khi to cc i tng Java cho phn . V vy, khng ging nh ng dng trn hu ht cc h thng khc, ng dng Android khng c im vo duy nht cho ng dng (khng c hm main ()). Thay vo , ng dng c cc thnh phn m h thng c th to ra v thc thi khi cn thit. C bn thnh phn ca mt ng dng: 2.1.1 Activities:Miactivity to ra mt giao din trc quan tng tc vi ngi dng. Cc activity c th thc thi cng nhau to mt giao din ngi dng c kt, nhng cc activity ny c lp vi nhau. Mi activity l mt lp con ca lp c s Activity. Mt ng dng c th gm mt hay nhiu activity. Cc activity l g, s lng bao nhiu ph thuc vo vic thit k ng dng. Thng thng, activity u tin to ra cho ngi dng l khi ng dng c khi chy. C th bt u activity k tip t activity hin ti. Mi activity c 1 ca s mc nh hin th. Thng thng, ca s ny lp y mn hnh, cng c th nh hn v ni trn ca s khc. Activity cng c th tn dng cc ca s b sung .Ni dung hin th trn ca s ny th hin qua cy phn cp cc i tng view - dn xut t lp c s View. Mi i tng view chim mt khng gian c th (hnh ch nht) trong ca s. Khng gian hin th ca i tng cha l tng hp khng gian ca cc i tng con. Cc i tng l ca cy hin th trong khng gian n kim sot v p li yu cu ca ngi dng trn khng gian . V vy, view l i tng trung gian trong tng tc gia ngi dng vi thnh phn activity ca ng dng. Android cung cp mt s i tng view sn c s dng - bao gm buttons, cc trng text, thanh cun, menu, check box,i tng view hin th trong ca s ca activity bi phng thc Activity.setContentView (). Ca s hin th l khng gian kim sot ca i tng View ti gc ca cy phn cp trn.

2.1.2Service Service khng c giao din ngi dng, m chy nn trong mt khong thi gian khng gii hn. V d: 1 service c th bt nhc nn khi ngi dng quan tm n cc vn khc, hoc c th ly d liu qua mng hay tnh ton mt ci g v cung cp kt qu cho cc activity cn n. Mi service l m rng ca lp c s Service. C th kt ni mt service ang din ra (v bt u service nu n cha c). Trong khi kt ni, c th giao tip vi service thng qua giao din m n h tr. i vi service m nhc, giao din ny cho php ngi dng tm dng, tua, dng li, khi ng, hay pht li. Cng ging nh activity v thnh phn khc, service chy trong lung chnh ca tin trnh ng dng. V vy, khng chn cc thnh phn khc hay chn giao din ngi dng, chng thng sinh ra cc lung (cho cc nhim v tiu tn thi gian)

2.1.3Broadcast receivers Thnh phn receivers thc hin nhn v pht i cc thng bo. Nhiu chng trnh receivers c tch hp trong m ngun h thng - v d, thng bo cc mi gi thay i, pin thp, hnh nh c chp, hoc ngi s dng thay i tu chn ngn ng. ng dng cng c th khi to trnh receivers - v d, bo cho cc ng dng khc bit rng mt s d liu c ti v cho thit b v sn c cho h s dng. Mi ng dng c s lng thnh phn receivers ty (p ng cc thng bo quan trng). Lp receiver l m rng ca lp c s BroadcastReceiver. Thnh phnreceiver khng c giao din vi ngi dng. Tuy vy, thnh phn ny c th bt u mt activity p ng thng tin m n nhn c, hoc c th s dng NotificationManager cnh bo ngi s dng. Cc thng bo gy s ch ca ngi dng bng nhiu cch khc nhau - nhp nhy n nn, rung thit b, to mt m thanh, vv. V thng t mt biu tng trn thanh trng thi, ngi dng c th m nhn thng bo.

2.1.4Content providers Thnh phn Content providers to mt b d liu ca ng dng sn c cho cc ng dng khc. D liu c th lu tr trong h thng tp, c s d liu SQLite, ... Lp content provider l m rng ca lp c s ContentProvider, thc thi tp cc phng thc chun, cc ng dng khc c th ly, lu tr d liu theo cch ring. Tuy vy, cc ng dng khng gi cc phng thc trc tip. N s dng i tng ContentResolver gi. i tng ContentResolver c th giao tip vi bt k lp content provider no, n cng vi lp Provider thc thi qun l bt k giao tip no bn trong tin trnh no n tham gia.

Bt c khi no c yu cu cn c x l bi mt thnh phn c bit, Android m bo tin trnh ng dng ca thnh phn ang thc thi (hoc khi to n nu cn thit), v cc i tng thch hp ca thnh phn l sn c (hoc to ra i tng nu cn thit).

Kch hot cc thnh phn: intents Cc thnh phn content provider c kch hot khi nhn yu cu t ContentResolver. Ba thnh phn khc - activity, service v Broadcast receivers - c kch hot bi cc thng ip khng ng b intents. Mi intent l mt i tng cha ni dung thng ip. i vi service v activity, n ch nh activity c yu cu v nh r URI ca d liu thao tc trn . Vi thnh phn Broadcast receivers, i tng Intent ch nh hnh ng ang c thng bo.

C nhiu phng php kch hot ring cho tng loi thnh phn: - Mt activity c khi to bng cch truyn mt i tng Intent vo phng thc Context.startActivity () hoc Activity.startActivityForResult ().Phng thc getIntent() ca 1 hot ng tr v i tng intent kch hot hot ng .Android gi phng thc onNewIntent () ca hot ng v truyn cho n bt k i tng intents no tip theo. - Mt activity thng bt u cc activity k tip. Nu activity k tip l ly kt qu t activity trc , n gi startActivityForResult () thay v startActivity (). Kt qu tr v l i tng Intent qua li gi phng thc onActivityResult()- Mt service c bt u bng cch truyn mt i tng Intent vo phng thc Context.startService (). Android gi phng thc onStart () ca service thng qua i tng Intent. Tng t, i tng intent c th c truyn vo phng thc Context.bindService () thit lp mt kt ni lin tc gia cc thnh phn ang gi v service mc tiu. Service ny nhn c i tng intent qua li gi onBind()- Mt ng dng c th khi to Broadcast receivers bng cch truyn mt i tng Intent vo cc phng thc nh Context.sendBroadcast (), Context.sendOrderedBroadcast (), v Context.sendStickyBroadcast (). Android phn pht i tng intent cho tt c cc lp thu pht lin quan bng cch gi phng thc onReceive()

Tt cc thnh phn :-Mt hot ng c th c tt bng cch gi phong thc finish() ca n. Mt activity c th tt cc activity khc bng cch gi finishActivity (). - Service c th c ngng li bng cch gi phng thc stopSelf(), hoc gi Context.stopService ().

Cc thnh phn cng c th c tt bi h thng khi khng cn c s dng hoc ly b nh cho nhiu thnh phn khc ang hot ng. Cc tp tin manifest :Cc ng dng khai bo cc thnh phn ca n trong tp tin manifest t trong gi Android. Cc file. apk cha code, cc file v ti nguyn ca ng dng. Tp tin manifest l mt cu trc file XML c tn AndroidManifest.xml trong mi ng dng. Nhim v chnh ca file manifest l khai bo thnh phn ng dng ca Android. Mt hot ng c th c khai bo nh sau:

. . .

Thuc tnh name ca ch nh lp con thc thi hot ngThnh phn khai bo cho cc service, cc yu t cho Broadcast receivers, v yu t cho content provider. B lc Intent:B lc Intent ca mt thnh phn cho Android bit cc loi intents m thnh phn c kh nng x l. Chng c khai bo trong tp tin manifest. V d sau thm hai b lc vo hot ng:

. . .

2.2Mn hnh v tc v Cc stack cha cc i tng, v vy nu mt task c nhiu i tng ca cng mt lp con ca Activity, stack c tng vng ring bit cho mi Activity. Cc activity trong stack khng bao gi sp xp li, ch push v pop. Tc v (Task) l mt ngn xp cc activity. V vy, khng c cch no thit lp gi tr cho mt task c lp vi activity ca n. Gi tr ca task c thit lp trong activity gc. Cc activity trong mt task thng nht vi nhau nh mt n v. Tp hp hot ng, nhim v, v hnh vi ca mt activity trong Task, c iu khin bi s tng tc gia c t trong i tng Intent bt u hot ng v cc thuc tnh thit lp th trong file manifest. C Intent ch yu l:

FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_RESET_TASK_IF_NEEDED FLAG_ACTIVITY_SINGLE_TOP

Thuc tnh :

taskAffinity launchMode allowTaskReparenting clearTaskOnLaunch alwaysRetainTaskState finishOnTaskLaunch

2.3Lung v tin trnh.Khi cn chy thnh phn u tin ca mt ng dng, Android khi to mt tin trnh Linux cho n vi mt lung n thc thi. Theo mc nh, tt c cc thnh phn ca ng dng chy trn lung v tin trnh .

Tin trnh:Tin trnh c kim sot bi tp tin manifest. Cc thnh phn: , , , v u c mt thuc tnh process ch nh tin trnh ph hp. Thuc tnh ny c thit lp mi thnh phn chy trong tin trnh ring, chia s tin trnh, hay chy cc thnh phn ca cc ng dng khc nhau trong cng mt tin trnh. c thuc tnh process, thit lp gi tr mc nh p dng cho tt c cc thnh phn. Tt c cc thnh phn c to ra trong lung chnh ca tin trnh ch nh. Cc thnh phn khng nn thc thi cc hot ng ko di hoc ngn chn khi c gi bi h thng. C th sinh cc lung ring bit cho cc hot ng ko di.Android c th quyt nh tt i mt tin trnh ti mt s im, khi dung lng b nh thp v yu cu ca tin trnh khc phc v ngay lp tc. Thnh phn ng dng ang chy trong tin trnh s b hy. Tin trnh c khi to li cho cc thnh phn khi c yu cu.

Lung:Mt lung c to ra thc thi mt s cng vic. Bt c hot ng no tn thi gian c t trong mt lung ring. Lung c to ra trong m ngun bng cch s dng i tng chun Thread ca Java. Android cung cp mt s lp thun tin cho vic qun l lung Looper: chy mt vng lp thong ip bn trong 1 lung, Handler: x l cc thng ip, v HandlerThread : lp mt lung vi mt vng lp thng ip.

2.4Vng i cc thnh phnVng i ca thnh phn ng dng: t khi Android khi to chng n kt thc khi hy cc i tng. Vng i ca activity Mi activity c 3 trng thi c bn: -active or running: khi ang trong mt trc mn hnh ( u ngn xp cc hot ng cho nhim v hin hnh). y l trng thi activity tp trung cc hnh ng ca ngi dng. - paused: tm dng, nhng vn hin th cho ngi dng. Activity b tm dng l cn sng (n duy tr tt c cc trng thi, thng tin thnh phn v vn thuc ca s qun l), c th b hy trong trng hp b nh vc k thp. -stopped : dng li (nu b che khut bi cc hot ng khc). N vn gi li tt c cc trng thi v thng tin thnh phn. N khng cn hin th cho ngi s dng (ca s n), thng b hy bi h thng khi c yu cu cn thit v b nh. Qu trnh chuyn i trng thi hot ng thc hin qua li gi cc phng thc protected sau:

void onCreate (Bundle savedInstanceState) void onStart () void onRestart () void onResume () void onPause () void onStop () void onDestroy () Mi activity phi thc hin onCreate () khi to i tng u tin,thc hin onPause () thay i d liu v chn tng tc vi ngi dng. 7 phng thc trn nh ngha ton b vng i ca mt activity S minh ha vng i ca activity

Hinh 2:Vng i ca ActivityTrong phng thc : - onCreate(): c gi l khi activity to ra ln u tin. Phng php ny c truyn vo mt i tng Bundle c cha trng thi trc ca activity. Lun theo sau bi onStart(). - onRestart (): c gi sau khi activity dng li (stopped), bt u li. Lun theo sau bi onStart () - onStart (): c gi ngay trc khi activity tr nn r rng cho ngi dng. Theo sau bi onResume() hoc onStop()- onResume(): c gi ngay trc khi bt u activity tng tc vi ngi s dngLun theo sau bi onPause (). - onPause(): c gi khi h thng chun b bt u khi phc activity khc. Phng thc ny thng c dng xc nhn nhng thay i cha c lu vo d liu n nh, dng hnh nh ng ...Cc activity tip theo s khng c tip tc cho n khi n quay li. Theo sau bi onResume() nu tr v activity trc , hoc onStop () nu n n vi ngi dng. - onStop(): c gi khi activity khng cn nhn thy c. iu ny xy ra bi n ang b hu, hay v activity khc c tip tc v bao ph n. Theo sau bi onRestart() hoc onDestroy ()- onDestroy(): c gi trc khi activity b hy. y l li gi cui cng vi mt activity. N c th c gi v activity hon thnh (finish()) hoc do h thng tm thi hy i tng ca activity tit kim khng gian. Vng i ca service :Hai cch s dung service : - Khi to v chy, n khi mt ngi dng dng hay t dng li. Bt u bng cch gi Context.startService() v dng li bng cch gi Context.stopService(). C th t dng li bng cch gi Service.stopSelf() hoc Service.stopSelfResult().- Hot ng bng cch s dng mt giao din t nh ngha v thit lp. Client thit lp kt ni n cc i tng service v s dng kt ni gi service. Kt ni c thit lp bng cch gi Context.bindService(), v ng li bng cch gi Context.unbindService(). Nhiu client c th kt ni vi cng service. Nu cha c service, bindService() s khi to service.

Cc phng thc: - void onCreate () - void onStart (Intent nh) - void onDestroy () Cc phng thc onCreate() v onDestroy() c gi cho tt c cc service, cho d bt u bi Context.startService () hay Context.bindService(). Tuy nhin, onStart() c gi ch vi cc service bt u bi startService (). Mt service lin kt vi cc service khc bng nhiu phng thc: - IBinder onBind(Intent intent) - boolean onUnbind(Intent intent) - void onRebind(Intent intent) S sau minh ha phng thc gi mt service:

Hinh 3: Cch gi Service trong AndroidVng i ca receiver: Phng thc duy nht: void onReceive(Context curContext, Intent broadcastMsg)Khi mt thng ip qung b n cho receiver, Android gi phng thc onReceive()v truyn vo cc i tng Intent c cha thng ip. Receiver ang hot ng ch khi n ang thc hin phng thc ny.

Tin trnh vi receiver ang hot ng s khng b hy. Vng i ca tin trnh: H thng Android s duy tr mt tin trnh ng dng cng lu cng tt, v loi b cc tin trnh c khi b nh mc thp. xc nh lu gi, hay hy mt tin trnh, Android thc hin phn cp cc tin trnh theo tm quan trng da trn cc thnh phn ang chy trong n v trng thi ca cc thnh phn. u tin l cc tin trnh c tm quan trng thp nht, tip cc mc quan trng tng dn. C nm mc trong h thng. Danh sch sau trnh by cc tin trnh theo th t mc quan trng: Foreground process (tin trnh tin cnh) yu cu cho nhng g ngi dng hin ti ang lm. Cc iu kin : - ang chy mt activity m ngi dng ang tng tc- C mt service lin kt vi activity m ngi dng ang tng tc.- C mt i tng service gi li phng thc (onCreate(), onStart(), onDestroy(). - C mt i tng BroadcastReceiver gi phng thc onReceive(). Visible process (tin trnh c th nhn thy): Mt tin trnh c th nhn thy tha mn cc iu kin sau: -C mt activity trc , vn cn hin th cho ngi s dng (onPause()).- C mt service lien kt vi mt activity nhn thy c. Service process (tin trnh dch v): chy mt service bt u vi phng thc startService() v khng thuc mt trong hai loi trn. Background process ( tin trnh nn): mang mt activity khng hin hin th cho ngi dng (onStop()). Cc tin trnh ny khng c tc ng trc tip n ngi dng, v c th b hy bt c lc no c yu cu ly li b nh. C rt nhiu tin trnh chy nn, chng c gi trong mt danh sch LRU. Empty process ( tin trnh rng): khng gi thnh phn ng dng no ang hot ng. H thng thng hy cc tin trnh ny cn i ti nguyn tng th ca h thng gia vng nh tin trnh v cng nh ht nhn c bn. 3.Cng c pht trinAndroid SDK bao gm nhiu cng c pht trin ng dng di ng trn nn tng Android. Quan trng nht l Android Emulator (B m phng) v Android Development Tools plugin (plugin ADT) cho Eclipse. SDK cng bao gm nhiu cng c khc g li, ng gi, v ci t ng dng trn Emulator. Android Development Tools Plugin (cho Eclipse IDE): Thm cc m rng mnh m vo Eclipse : tch hp mi trng, to v g li cc ng dng Android d dng v nhanh chng. Android Emulator: cng c m phng thit b da trn QEMU, s dng thit k, g li, v kim th cc ng dng trong mi trng thc chy Android. Android Virtual Devices (AVDs): cu hnh thit b o dng m hnh ha tnh nng thit b trong Android Emulator. Trong mi cu hnh, c th ch nh cc nn tng Android chy, ty chn phn cng, skin m phng s dng.Hierarchy Viewer (h thng phn cp Viewer): cho php g li, ti u ha giao din ngi dng, cung cp hnh nh h thng phn cp Views v kim tra phng i ca mn hnh hin ti vi mt li pixel. layoutopt: cho php nhanh chng trnh by ng dng hiu qu. Draw 9-patch: cho php d dng to ra mt hnh nh NinePatch s dng mt trnh son tho WYSIWYG. Dalvik Debug Monitor Service (ddms): Tch hp Dalvik (my o ty chnh trn nn tng Android ), cho php qun l cc tin trnh trn b m phng hay thit b tht, h tr g li. C th s dng hy cc tin trnh, la chn mt tin trnh c th g li, nh du d liu, xem thng tin v heap v lung, chp mn hnh ca b m phng hoc thit b, ... Android Debug Bridge (adb): cho php bn ci t cc file .apk ca ng dng trn b m phng hay thit b tht v truy cp vo b m phng, thit b t ca s command line, lin kt mt trnh sa li chun vi m ng dng ang chy trn b m phng Android hoc thit b tht. Android Asset Packaging Tool (aapt): cho php to ra cc file .apk cha m nh phn v ti nguyn ca ng dng Android. Android Interface Description Language (aidl): Cho php to m code cho mt giao din bn trong tin trnh (interprocess) sqlite3 : Cho php truy cp vo cc tp tin d liu SQLite - c to ra v s dng bi cc ng dng Android. Traceview: To ra cc views phn tch ha ca d liu trace log c th to ra t cc ng dng Android.mksdcard: To mt a nh c th s dng vi b m phng, m phng s hin din ca mt th lu tr ngoi (chng hn th SD). Dx:Cho php ghi bytecode .class ln bytecode Android (cha trong file .dex). UI/Application Exerciser Monkey: Chng trnh chy trn b m phng hay thit b tht, to ra cc dng gi ngu nhin ca cc s kin nh ngi dng nhp chut, chm vo, kim tra cc ng dng ang pht trin, mt cch ngu nhin nhng vn lp li. Android: on m cho php qun l AVDs v to ra file buid Ant, c th dng bin dch cc ng dng Android. Zipalign: Mt cng c ti u ha file .apk quan trng. Cng c ny m bo tt c cc d liu khng nn bt u vi mt lin kt c th lin quan n phn u ca file, thng dng chnh cc tp tin .apk sau khi chng c nh du..

CHNG 2:BI TON NG HC PH QUA INTHOI DI NG DA TRN NN ANDROID I-TUITION

1Pht biu bi ton1.1t vn Thc trng ng hc ph ti trng HBK H Ni: i vi sinh vin hc theo hnh thc nin ch, thng tin hc ph s c thng bo gia k. Vic ng hc ph th c rt nhiu tr ngi v tn thi gian, cng vic c thc hin mt cch th cng. Mi ln sinh vin ng hc ph th nhn vin phng o to phi r sot li trong s sau vit bin lai thu nhn tin bng tay. Ngoi ra thng thng sinh vin s tp trung vo cc ngy cui ng hc ph. iu ny lm cho cng vic ca phng o to qu ti, hiu qu lm vic thp ng thi tn thi gian ca sinh vin. C ch ng hc ph mi thong qua hnh thc thanh ton th ATM c nhiu tin li hn. Sinh vin thay v lm vic vi phng o to, th c chuyn qua ngn hang. Vic ng hc ph ca sinh vin c chia thnh 3 t mi t thu 1/3 hc ph. Vic thanh ton hc ph thong qua th ATM c nhiu im u th nh: Thanh ton mt cch t ng Qut th do hiu qu tng ln nhng nhc im ca hnh thc ny l sinh vin khng ch ng trong vic ng hc ph, ngoi ra kim tra tnh trng hc ph ca mnh sinh vin phi lien h vi ngn hang. Li ch ca vic ng hc ph qua di ng: Do ngy nay mng in thoi c ph sng rt nhiu ni do sinh vin hon ton ch ng trong vic ng hc ph ca mnh. Vic kim tra ti khon, lch s ng hc ph ca mnh rt tin li. n gin ch cn s dng in thoi nhn tin n dch v thanh ton hc ph ca ngn hang.

Yu cu chung i vi h thng ng hc ph qua mng di ng nh sau:Cc c nhn phi bit c thng tin hc ph Dng in thoi nhn tin ng hc phNgi dng phi nhn c thng tin phn hi1.2M t nghip vTrc ht sinh vin phi m ti khon ti ngn hang. Ti khon ny cha thong tin ca sinh vin: S hiu sinh vin, Thng tin lien lc. ng thi ti khon ny dung thanh ton hc ph khi sinh vin gi tin vo.Cch thc tnh hc ph: Trng s tng hp thong tin hc tp ca sinh vin: S mn hc, s tn ch hc phn, s tn ch thc tp, s tn ch t hc.T trng s tng hp a ra mc hc ph cho tng sinh vin. ng thi trng s gi thng tin ny cho ngn hng, do ngn hng s da vo mc hc ph ny thu tin hc ph ca sinh vin.Np hc ph: Vic ng hc ph ca sinh vin c chia lm ba t khc nhau, mi t thu 1/3 hc ph ca sinh vin. Nu t 1 sinh vin cha ng th hc ph s c dn vo ln 2. Tng t ln 2 cha ng s c dn vo ln 3.X l thng tin sau ng hc ph: Sau khi thu hc ph ngn hang s gi thng tin ng hc ph cho trng. Trng s cn c vo kt qu ny x l hc tp tip theo. 2.c t yu cu phn mm2.1c t chc nngChng trnh yu cu phi c y cc chc nng sau:

Chc nng ng k (Register)Thuc tnhM t

Tng qutTrng thi: proposed u tin: LowStereotype: > kh : MediumPhm vi: Public Chc nng ny cho php ngi dung ng k mt ti khon trong h thng

Ni dung

Hinh 4: c t chc nng ng k

Chc nng ng nhp (Login)Thuc tnhM t

Tng qutTrng thi: proposed u tin: Mediumtype: > kh : Medium Phm vi: Public

Chc nng ny cho php ngi dng ng nhp vo h thng thc hin cc dch v ng hc ph.

Ni dung

Hinh 5: c t chc nng ng nhp

Chc nng ng hc ph (Paying Tuition)Thuc tnhM t

Tng qutTrng thi: proposed u tin: Hightype: > kh : High Phm vi: Public

Chc nng ny cho php ngi dng ng hc ph thong qua h thng lin kt vi ngn hng.

Ni dung

Hinh 6: c t chc nng ng hc ph

Chc nng kim tra hc ph (Tuition Checking) Thuc tnhM t

Tng qutTrng thi: proposed u tin: Hightype: > kh : High Phm vi: Public

Chc nng ny cho php ngi dng kim tra s hc ph cn li.

Ni dung

Hinh 7: c t chc nng Kim tra hc ph

Chc nng kim tra lch s ong hc ph (Tuition History)Thuc tnhM t

Tng qutTrng thi: proposed u tin: Hightype: > kh : High Phm vi: Public

Chc nng ny cho php ngi dng kim tra lch s ng hc ph ca mnh: Ngy, gi, s tin

Ni dung

Hinh 8: c t chc nng Lch s hc ph2.2Yu cu phi chc nng2.2.1Tnh tin dngChng trnh phi d dng s dng i vi sinh vin, p ng cc yu cu ti thiu ca dch v ng hc ph: ng hc ph, kim tra ti khon, kim tra lch s giao dch.2.2.2 tin cyChng trnh phi p ng tin cy hon ton trong cc giao dch2.2.3Giao dinGiao din ca chng trnh phi d dng s dng, ph hp vi sinh vin. 2.2.3Bo mtChng trnh phi p ng cc yu cu bo mt v thng tin ngi dng, thng tin ti khon v thng tin giao dch.

CHNG 3:XY DNG NG DNG NG HC PH QUA IN THOI DI NG DA TRN NN ANDROID I-TUITION 1.Phn tch h thng1.1Biu Use Case ca h thng1.1.1Biu Use Case trn client

Hinh 9: c t Use Case cho client

1.1.2c t UseCase trn Server

Hinh 10: c t Use Case cho Server

1.2.Biu trng thi ca h thng

Hinh 11: Biu trng thi cc chc nng

1.3Biu tun t ca h thng1.3.1Chc nng ng k (Register)

Hinh 12: Biu tun t chc nng ng kChc nng ng k cho php khch ng k mt ti khon vi h thng. Ti khon ny phi c t nht 6 ch ci, khng cha k t c bit, khng cha du cch.

1.3.2Chc nng ng nhp (Login)

Hinh 13: Biu tun t chc nng ng nhpChc nng ng nhp ch dnh cho ngi dung ng k vi h thng. Sau khi ngi dung ng nhp, ca s cha cc dch v ng hc ph c hin th.

1.3.3Chc nng ng hc ph (Paying tuition)

Hinh 14: Biu tun t chc nng ng hc phChc nng ng hc ph cho php sinh vin thanh ton hc ph thng qua vic chuyn khon ngn hang.

1.3.4Chc nng kim tra hc ph (Tuition Checking)

Hinh 15: Biu tun t chc nng kim tra hc phChc nng kim tra hc ph cho php ngi dung kim tra s hc ph cn li ca mnh.

1.3.5Chc nng kim tra lch s hc ph (Tuition History)

Hinh 16: Biu tun t chc nng kim tra lch sChc nng kim tra lch s cho php ngi dung kim tra thng tin cc ln ng hc ph ca mnh: Ngy, gi, s tin1.4.Biu lp cho cc chc nng trong h thng

1.4.1Chc nng ng k (Register)

Hinh 17: Biu lp chc nng ng k1.4.2Chc nng ng nhp (Login)

Hinh 18: Biu lp chc nng ng nhp

1.4.3Chc nng ng hc ph (Paying tuition)

Hinh 19: Biu lp chc nng ng hc ph

1.4.4 Chc nng kim tra hc ph (Tuition Checking)

Hinh 20: Biu lp chc nng kim tra hc ph1.4.5 Chc nng kim tra lch s hc ph (Tuition History)

Hinh 21: Biu lp module kim tra lch s hc ph2.Thit k h thng2.1.T chc d liu 2.1.1Bng qun l ngi dung h thngBng qun l ngi dung h thng dung truy xut, ghi d liu vo khi ng nhp, ng k ngi dung mi.

Tn bngTbl_user_account Ti khon ngi dng

nghaLu d cc thng tin v ti khon ngi dng

Tn trngKiu d liuKch thcCho php rng ngha

USERNAMEvarchar30KhngTn ti khon ng nhp

PASSWORDvarchar50KhngMt khu m ha md5

CSDL - Bng ti khon ngi dng2.1..2Bng qun l tin nhn h thng

Tn bngTbl_mesage

nghaLu tr cc tin nhn ca h thng

Tn trngKiu d liuKch thcCho php rng ngha

MESSAGE_IDBigint4KhngM ti khon -> Kha chnh , s t ng c to ra trong SQL

TOVarchar30Khnga ch n

MESSAGEVarchar100CNi dung tin nhn

DATEDATEKhngNgy tin nhn gi i

TIMETIMEKhngGi tin nhn gi i

CSDL - bng lu tr tin nhn h thng

2.1..3Bng qun l ti khon ngn hang

Bng ny dung truy xut thong tin, kim tra trong qu trnh ng hc ph, kim tra lch s Tn bngTbl_bank_account Ti khon ngn hng

nghaLu d cc thng tin chnh v ti khon ngn hng

Tn trngKiu d liuKch thcCho php rng ngha

BANK_IDvarchar30KhngTn ti khon ng nhp

PASSWORDvarchar50KhngMt khu m ha md5

MONEYFloatS tin ngi dung np vo ngn hng

CSDL Bng ti khon ngn hang

Tn bngTbl_profile

nghaLu tr cc thong tin ca ti khon ngn hng

Tn trngKiu d liuKch thcCho php rng ngha

BANK_IDVarchar30KhngM ti khon -> Kha chnh , s t ng c to ra trong SQL

STUDENT_IDVarchar30KhngS hiu sinh vin

MOBILEVarchar100CS in thoi ngi dung

FIELDVarchar50CTrng thng tin

FIELDNAMEVarchar50CTn hin th ca trng thong tin

VALUEVarchar50CGi tr trng thong tin

CSDL Bng thng tin ti khon

2.1..4Bng qun l vic ng hc ph ca sinh vin

Tn bngTbl_student_history

nghaLu tr thong tin lch s cc ln ng hc ph

Tn trngKiu d liuKch thcCho php rng ngha

HISTORY_IDINT3KhngM lch s -> Kha chnh , s t ng c to ra trong MYSQL

BANK_IDVarchar30KhngTi khon ngn hang

TIMESVarchar100cS ln ng hc ph

TUITION_FEEFLOAT50CS tin ng hc ph

DATEDATE50CNgy ng hc ph

TIMETIME50CGi ng hc ph

CSDL Bng qun l ng hc ph

2.1..5Bng thi hn quy nh ng hc ph

Tn bngTbl_tuition_time

nghaLu tr cc thi hn ng hc ph ca sinh vin

Tn trngKiu d liuKch thcCho php rng ngha

TIME_IDINT3KhngM thi gian -> Kha chnh , s t ng c to ra trong MYSQL

TIMEVarchar30KhngTi khon ngn hang

CSDL Bng lu tr thi hn ng hc ph

2.1..6Bng hc ph sinh vin

Tn bngTbl_student_tuition

nghaLu tr thong tin hc phi sinh vin phi ng

Tn trngKiu d liuKch thcCho php rng ngha

TUITION_IDINT3KhngM hc ph -> Kha chnh , s t ng c to ra trong MYSQL

BANK_IDVARCHAR30KhngTi khon ca sinh vin

FEEFLOATCS tin hc ph phi thanh ton

YEARDATEKhngThi gian ca nm hc

CSDL - Bng hc ph sinh vin2.2.Thit k cc module 2.2.1Thit k module ng kc trng ngoi: u vo: Thng tin ngi dung, mt khuu ra: ng k thnh cng hoc khng

c trng trong:

2.2.2Thit k module ng nhpc trng ngoi: u vo: Tn ng nhp, mt khuu ra: ng Nhp thnh cng hoc khng

c trng trong:

2.2.3Thit k module ng hc phc trng ngoi: u vo: Tn ti khon ngn hng v mt khuu ra: ng hc ph thnh cng hoc khng

c trng trong:

2.2.4Thit k module kim tra hc phc trng ngoi: u vo: Tn ti khon ngn hng v mt khuu ra: Thng tin hc ph cn li

c trng trong:

2.2.5Thit k module lch s hc phc trng ngoi: u vo: Tn ti khon ngn hng v mt khuu ra: Thng tin hc ph cn li

c trng trong:

2.3.Thit k giao din2.3.1Giao din chnh ca phn mmKhi s dng chng trnh ban u phn mm ITuition s hin th cc menu cho ngi dung la chn: ng k, ng nhp hoc thot.

Hinh 22: MOCKUP Giao din chnh2.3.2Giao tip ng k (Signup) vi h thng

Ngi dung thc hin cc thao tc sau:- Chn button signup trong giao din chnh- in cc trng thong tin trong editText- Click submit nu hon thnh, Cancel nu mun hy thao tc

Hinh 23: MOCKUP giao din ng k2.3.3Giao din ng nhp (Login)

Ngi dung thc hin cc thao tc sau:- Chn nt login trong giao din chnh- in cc trng thong tinh ca ti khon: Usename, Password- Click vo nt login nu mun ng nhp, Cancel nu mun hy thao tc

Hinh 24: MOCKUP Giao din ng nhp

2.3.4Menu hc phSauk hi ng nhp mn hnh hc ph c hin thi cha cc chc nng nh: ng hc ph, kim tra hc ph

Hinh 25: Menu hc ph2.3.5Giao din ng hc phNgi dng thc hin cc thao tc sau:-Nhp s ti khon ngn hang-Nhp mt khu ti khon-Click chut vo nt paying

Hinh 26: Giao din ng hc ph2.3.6Giao din kim tra hc phNgi dung click vo nt Tuition checking trn menu hc ph.

Hinh 27:Giao din kim tra hc ph2.3.7Giao din kim tra lch s hc phNgi dung click vo nt Tuition History trn menu hc ph:

Hinh 28:Giao din lch s hc ph

2.4Bo mt trong h thng 2.4.1L hng h thng v e daH thng ng hc ph yu cu tnh chnh xc v bo mt thng tin. c hai l hng nghim trng d khai thc:- Vn xc thc ngi dung: Vic truyn tn ng nhp v mt khu trong h thng ng hc ph c thc hin theo giao thc nh sau: Ngi dng gi (ID, P) cho Host, trong P l plaintext password ca ngi dng Cn c vo ID, Host ly t database ra A, l mt bin th ca password ca ngi dng v salt, l mt chui ngu nhin gn lin vi ID ca user. Host thc hin mt php tnh trn P (thng thng l B = H(P, salt), trong H l mt hm bm MD5 mt chiu no ) tnh ra B, ri so snh A vi B, nu bng nhau th tip theo bc 3, khng th tip theo bc 4. User c Host xc thc v cp cho mt session_id. Host thng bo li cho User, v yu cu lm li t bc 1.Trong giao thc ny vn ln nht l plaintext password ca User b truyn i m khng c bt k s bo v. Vic tn cng vo h thng rt d dng nh: Man-In-The-Middle hay replay attack...Bng vic tn cng ny k tn cng c th gi mo ly thng tin ca ngi dng, mt khu. Vic ny s lm cho tnh bo mt thng tin ca ngi dng b ph hy.- Vn quyn s dng cc APITrong h thng ng hc ph qua di ng th vic truyn thng tin gia Client-Server c thc hin thng qua cc API h tr. Cc API ny b li trong vic phn quyn s dng. Gi s:Ngi dng gi (ID=1, P) cho host. Nhng nu bng cch no chng ta thay i ID=2 gi ln server. Nu Server khng c c ch phn quyn API s tr v thng tin ca ngi dng c ID=2 thay v tr v thng tin ca ngi dng c ID=1.Bng vic tn cng ny k tn cng c th v hiu ha cc phin ng hc ph, hoc gi mo ng hc ph2.4.2Gii php- Xc thc ngi dng khc phc vn ny, gii php xut l: Cc thng tin trc khi c gi i c m ha bng hm bm mt chiu MD5. Phng thc thc hin nh sau: Ngi dng gi MD5(ID, P) cho Host, trong P l plaintext password ca ngi dng Trn server chng ta kim tra c ngi dng no c MD5(ID, P) trng vi thng tin gi ln khng. Nu bng nhau th tip theo bc 3, khng th tip theo bc 4. User c Host xc thc v cp cho mt session_id. Host thng bo li cho User, v yu cu lm li t bc 1.

- Vn quyn s dng cc API khc phc li phn quyn ca cc API, phi c c ch lm cho cc API t kim tra quyn ca mnh. lm iu ny chng ta c th thm tham s cho cc API: Thm mt string ngu nhin kh on cho mi ngi dng. Trong h thng ng hc ph ny mt khu ca ngi dng s dng kim tra cho cc API.

3.Ci t ng dng ci t ng dng trn in thoi di ng, yu cu in thoi s dng h iu hnh Android v c kt ni c vi internet bi v tt c cc giao dch u thng qua mi trng internet. Di y l cc cch ci t ng dng:Cch 1: Android MarketCch ny l n gin nht, ch cn kt ni in thoi vo mng (GPRS, WiFi), chy ng dng Market v cht vo ng dng cn ci, cht vo Install ci.

Cch 2: Ci t thng qua AppsInstaller- Trn in thoi Android vo Market tm v ci ng dng AppsInstaller.- Chp file ITuition.apk vo th nh.- Trn in thoi chy ng dng AppsInstaller, chng trnh ny s t tm cc file ITuition.apk v ngh bn ci vo. Chn install sau hon tt.

Cch 3: Ci t thng qua chng trnh qun l fileCch ny tng t cch 2 c iu mnh s dng chng trnh qun l file thay cho AppInstaller.- Trn in thoi Android vo Market tm v ci ng dng OI File Manager (Free).- chp sn file ITuition.apk vo th nh.- Trn in thoi chy ng dng OI File Mangager, tm n ng dn cha file .apk, click vo n l xong.Lu : phi vo Setting -> Applications -> check vo Unknown sources (cho php ci t cc ng dng khng trong Market)Cch 4: Ci cc ng dng Java di ng- Trn in thoi Android vo Market tm v ci ng dng J2Me MIDP Runner.- Chy ng dng J2Me MIDP Runner ln.- Trong Add jad url ta nhp vo a ch chng trnh java di ng cn ci vo. m nt Add jad url, ch t, cht Install na l xong.

4.Thit k kim th

4.1Kim th Module ng k

Mu vou raKt qu mong i

DK01Tn ng nhp =123456Mt khu = 1234567Hon tt MK =1234567

ng k thnh cngng k thnh cng

DK02Tn ng nhp =123@ 456Mt khu = 1234567Hon tt MK =1234567

ng k khng thnh cng (Tn ng nhp khng cha k t c bit)ng k khng thnh cng

DK03Tn ng nhp =123456Mt khu = 1234567Hon tt MK =12345678

ng k khng thnh cng (Mt khu v hon tt MK phi ging nhau)ng k khng thnh cng

DK04Tn ng nhp =123456Mt khu = 1234567Hon tt MK =1234567(Tn ng nhp tn ti)ng k khng thnh cng (Tn ng nhp tn ti)ng k khng thnh cng

4.2Kim th module ng nhp

Mu vou raKt qu mong i

DN01Tn ng nhp =123456Mt khu = 1234567

ng nhp thnh cngng nhp thnh cng

DN02Tn ng nhp =12345689Mt khu = 1234567

ng nhp khng thnh cng (Khng tn ti ngi dng ny)

4.3Kim th module ng hc ph

Mu vou raKt qu mong i

DP01Tn ti khon =thiensonMt khu = 1234567

ng hc ph khng thnh cng (Mt khu sai)ng nhp thnh cng

DP02Tn ti khon = thiensonMt khu = lethiensonS tin hin c: 3e6Tng hc ph: 3e6Ln ng: 1

ng hc ph thnh cngng hc ph thnh cng

DP03Tn ti khon = thiensonMt khu = lethiensonS tin hin c: 3e5Tng hc ph: 2e6Ln ng: 1

ng hc ph khng thnh cng (Khng tin)ng hc ph khng thnh cng

DP04Tn ti khon = thiensonMt khu = lethiensonS tin hin c: 2e6Tng hc ph: 3e6Ln ng: 2Ln 1 cha ng

ng hc ph thnh cngng hc ph thnh cng

DP05Tn ti khon = thiensonMt khu = lethiensonS tin hin c: 2e6Tng hc ph: 3e6Ln ng: 3Ln 1,2 cha ng

ng hc ph khng thnh cng (Khng tin)ng hc ph khng thnh cng (Khng tin)

4.4Kim th module kim tra hc ph v lch s hc ph

Mu vou raKt qu mong i

DN01Tn ti khon =thiensonMt khu = 1234567

Sai mt khu ti khonSai mt khu ti khon

DN02Tn ti khon = thiensonMt khu = lethienson

Thng tin hc phThng tin hc ph

KT LUN

Sau mt qu trnh nghin cu v tm hiu, n xut ra mt gii php cho vn ng hc ph qua in thoi di ng da trn nn tng Android. Trong qu trnh trin khai, bc u cho kt qu ng n v cc chc nng ca h thng. Cc kt qu c th m n t c:-Tm hiu v h iu hnh Android-Xy dng ng dng demo ng hc ph qua in thoi di ng: Phn tch, thit k, ci t, kim th chng trnh.-Gii quyt hai vn bo mt: Xc thc ngi dng v li API ca serviceTuy nhin do trong khun kh n v thi gian c hn nn c mt s vn em lm cha tt:-Vic trin khai bo mt cho h thng cn hn ch: C ch xc thc ngi dng cn n gin-Vic trin khai h thng tht vi nhiu ngi dng cha c tin hnhHng pht trin ca n:-Xy dng c ch bo mt wireless-Xy dng c s h tng kha cng khai PKI vi cc chc nng: To v xc nhn ch k in t, ng k v xc nhn ngi dng mi, cp chng nhn cho ngi dng mi.

TI LIU THAM KHO

1.Bertrand Meyer: Object-Oriented Software Construction, second edition, Prentice Hall, January 1997.2.Bertrand Meyer: Eiffel: The Language, Prentice Hall, 1991.3.Bertrand Meyer: Object-Oriented Software Construction, second edition, Prentice Hall, January 1997.4.Bertrand Meyer. Sequential and Concurrent Object-Oriented Programming, in TOOLS 2, (Technology of Object-Oriented Languages and Systems, Paris, 23-26 June 1990.5.Collins-Sussman B., Fitzpatrick B. W., Michael Pilato C.: Version Control with Subversion.6.Carmel, E. Global Software Teams. Prentice Hall, 1999.7.E. Carmel and R. Agarwal. Tactical approaches for alleviating distance in global software development. IEEE Software, 18(2), 2001.8. Information Technology Promotion Agency. Skill Standards for IT Professionals 3.0. 20099.Ed Burnette, Hello Android, 2009.