Professional Documents
Culture Documents
MC LC
CHNG 1: C S L THUYT..................................................................... 4
1. LCH S ANDROID .................................................................................. 4
2. DELVING VI MY O DALVIK ........................................................... 5
3. KIN TRC CA ANDROID .................................................................... 5
3.1. Tng ng dng .................................................................................... 6
3.2. Application framework........................................................................ 6
3.3. Library ................................................................................................ 7
3.4. Android Runtime................................................................................. 7
3.5. Linux kernel ........................................................................................ 8
4. ANDROID EMULATOR ........................................................................... 8
5. CC THNH PHN TRONG MT ANDROID PROJECT ....................... 9
5.1. AndroidManifest.xml .......................................................................... 9
5.2. File R.java ......................................................................................... 10
6. CHU K NG DNG ANDROID ........................................................... 11
6.1. Chu k sng thnh phn .................................................................... 12
6.2. Activity Stack .................................................................................... 12
6.3. Cc trng thi ca chu k sng .......................................................... 13
6.4. Chu k sng ca ng dng ................................................................ 13
6.5. Cc s kin trong chu k sng ca ng dng ..................................... 14
6.6. Thi gian sng ca ng dng............................................................. 14
6.7. Thi gian hin th ca Activity .......................................................... 14
6.8. Cc phng thc ca chu k sng ..................................................... 14
7. CC THNH PHN GIAO DIN TRONG ANDROID ........................... 16
7.1. View.................................................................................................. 16
7.2. ViewGroup........................................................................................ 16
7.2.1. LinearLayout ............................................................................. 16
7.2.2. FrameLayout ............................................................................. 17
7.2.3. AbsoluteLayout ......................................................................... 17
7.2.4. RetaliveLayout .......................................................................... 18
7.2.5. TableLayout .............................................................................. 18
7.3. Button ............................................................................................... 18
7.4. ImageButton ...................................................................................... 19
7.5. ImageView ........................................................................................ 20
7.6. ListView ........................................................................................... 20
7.7. TextView .......................................................................................... 21
Page | 1
Sinh vin: Trn Hu Phc
Page | 3
Sinh vin: Trn Hu Phc
CHNG 1: C S L THUYT
1. LCH S ANDROID
Ban u, Android l h iu hnh cho cc thit b cm tay da trn li Linux do
cng ty Android Inc. (California, M) thit k. Cng ty ny sau c Google mua
li vo nm 2005 v bt u xy dng Android Platform. Cc thnh vin ch cht ti
Android Inc. gm c: Andy Rubin, Rich Miner, Nick Sears, and Chris White.
V sau tip, vo cui nm 2007, thuc v Lin minh Thit b Cm tay M Ngun
m (Open Handset Alliance) gm cc thnh vin ni bt trong ngnh vin thng v
thit b cm tay nh:
Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint
Nextel, T-Mobile, ARM Holdings, Atheros Communications, Asustek Computer Inc,
Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group,
Mc tiu ca Lin minh ny l nhanh chng i mi p ng tt hn cho nhu
cu ngi tiu dng v kt qu u tin ca n chnh l nn tng Android. Android
c thit k phc v nhu cu ca cc nh sn xut thit, cc nh khai thc v cc
lp trnh vin thit b cm tay.
Phin bn SDK ln u tin pht hnh vo thng 11 nm 2007, hng T-Mobile
cng cng b chic in thoi Android u tin l chic T-Mobile G1, chic
smartphone u tin da trn nn tng Android. Mt vi ngy sau , Google li tip
tc cng b s ra mt phin bn Android SDK release Candidate 1.0. Trong thng 10
nm 2008, Google c cp giy php m ngun m cho Android Platform.
Khi Android c pht hnh th mt trong s cc mc tiu trong kin trc ca n
l cho php cc ng dng c th tng tc c vi nhau v c th s dng li cc
thnh phn t nhng ng dng khc. Vic ti s dng khng ch c p dng cho
Page | 4
Sinh vin: Trn Hu Phc
Page | 5
Sinh vin: Trn Hu Phc
3.1.
Tng ng dng
Application framework
Page | 6
Sinh vin: Trn Hu Phc
Library
Android Runtime
Linux kernel
Page | 8
Sinh vin: Trn Hu Phc
AndroidManifest.xml
Application
Th <application>, bn trong th ny cha cc thuc tnh c nh ngha cho
ng dng Android nh:
Page | 9
Sinh vin: Trn Hu Phc
SDK version
Th xc nh phin bn SDK c khai bo nh sau:
<uses-sdk android:minSdkVersion="7" />.
y ch ra phin bn SDK nh nht m ng dng hin ang s dng.
5.2.
File R.java
AUTO-GENERATED FILE.
DO NOT MODIFY.
Page | 10
Sinh vin: Trn Hu Phc
6.1.
Hnh 1-4
6.2.
Activity Stack
Page | 12
Sinh vin: Trn Hu Phc
6.3.
receiver. C ngha l nhng thnh phn khng tng tc ngi dng c th chy
background di s gim st ca h iu hnh cho n khi ngi dng t tt chng.
6.5.
Hnh 1-7
By phng thc chuyn tip nh ngha trong chu k sng ca mt Activity. Thi
gian sng ca mt Activity din ra gia ln u tin gi onCreate() n trng thi cui
cng gi onDestroy(). Mt Activity khi to ton b trng thi ton cc trong
onCreate(), v gii phng cc ti nguyn ang tn ti trong onDestroy().
6.7.
View
7.2.
ViewGroup
Page | 16
Sinh vin: Trn Hu Phc
7.2.2. FrameLayout
FrameLayout c dng b tr cc i tng theo kiu ging nh l cc Layer
trong Photoshop. Nhng i tng no thuc Layer bn di th s b che khut bi
cc i tng thuc Layer nm trn. FrameLayer thng c s dng khi mun to
ra cc i tng c khung hnh bn ngoi chng hn nh contact image button.
ImageV
LearnAndroid.co
m
TextVi
7.2.3. AbsoluteLayout
Layout ny c s dng b tr cc widget vo mt v tr bt k trong layout
da vo 2 thuc tnh to x, y. Tuy nhin, kiu layout ny rt t khi c dng bi v
to ca cc i tng lun c nh v s khng t iu chnh c t l khong
cch gia cc i tng. Khi chuyn ng dng sang mt mn hnh c kch thc vi
mn hnh thit k ban u th v tr ca cc i tng s khng cn c chnh xc
nh ban u.
Page | 17
Sinh vin: Trn Hu Phc
7.2.4. RetaliveLayout
Layout ny cho php b tr cc widget theo mt trc i xng ngang hoc dc.
t c ng v tr th cc widget cn c xc nh mt mi rng buc no vi
cc widget khc. Cc rng buc ny l cc rng buc tri, phi, trn, di so vi mt
widget hoc so vi layout parent. Da vo nhng mi rng buc m
RetaliveLayout cng khng ph thuc vo kch thc ca screen thit b. Ngoi ra, n
cn c u im l gip tit kim layout s dng nhm mc ch gim lng ti
nguyn s dng khi load ng thi y nhanh qu trnh x l.
7.2.5. TableLayout
Layout ny c s dng khi cn thit k mt table cha d liu hoc cn b tr
cc widget theo cc row v column. Chng hn nh, giao din ca mt chic my tnh
n gin hoc mt danh sch d liu.
7.3.
Button
ImageButton
7.5.
ImageView
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cmdButton1"
7.6.
ListView
c s dng th hin mt danh sch cc thng tin theo tng cell. Mi cell
thng thng c load ln t mt file XML c c nh trn s lng thng
tin v loi thng tin cn c th hin.
th hin c mt list thng tin ln mt screen th cn phi c 3 yu t chnh:
Data Source: Data Source c th l mt ArrayList, HashMap hoc bt k
mt cu trc d liu kiu danh sch no.
Page | 20
Sinh vin: Trn Hu Phc
7.7.
TextView
EditText
Page | 21
Sinh vin: Trn Hu Phc
CheckBox
Nhn 2 gi tr true hoc false. i tng CheckBox cho php chn nhiu item
cng mt lc.
Khai bo: CheckBox cb = new CheckBox(Context );
XML:
<CheckBox
android:id="@+id/CheckBox01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check me"
android:checked="true"/>
7.10.
MenuOptions
C 2 cch to mt MenuOptions:
To bng code:
public class Main extends Activity {
private int searchBtnId = Menu.FIRST;
private int scheduleBtnId = Menu.FIRST + 1;
private int playBtnId = Menu.FIRST + 2;
private int stopBtnId = Menu.FIRST + 3;
private int group1Id = 1;
private int group2Id = 2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Page | 22
Sinh vin: Trn Hu Phc
To bng XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:icon="@drawable/icon" android:title="Item1"
android:orderInCategory="1" android:id="@+id/item1">
<item android:title="Item 2" android:id="@+id/item2"
android:orderInCategory="2">
<menu>
<item android:id="@+id/item01" android:title="Sub item 1"
android:orderInCategory="1/>
<item android:title="Sub item 2" android:id="@+id/item02"
android:orderInCategory="2"/>
</menu>
</item>
</menu>
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(
getApplication()).inflate(R.menu.menu_options, menu);
return super.onCreateOptionsMenu(menu);
}
Page | 23
Sinh vin: Trn Hu Phc
7.11.
ContextMenu
s c gi v truyn vo 3 tham s l:
ContextMenu: i tng add cc context menu item
View: i tng ni m xy ra s kin
ContextMenuInfo: Cho bit v tr xy ra s kin trong ListView. bit c v tr
xy ra s kin ta lm nh sau:
AdapterView.AdapterContextMenuInfo info;
try {
info = (AdapterView.AdapterContextMenuInfo) menuInfo;
} catch (ClassCastException e) {
return;
}
info.position
7.12.
Mt trong nhng tnh nng mi trong phin bn Android 1.6 l Quick Search
Box. y l khun kh tm kim mi trn ton h thng Android, iu ny lm cho
ngi dng c th nhanh chng tm kim bt c th g c trn chic in thoi
Android ca h v c cc ti nguyn trn web khi h ang online. N tm kim v
Page | 24
Sinh vin: Trn Hu Phc
7.13.
7.13.1. Activity
Activity l mt thnh chnh ca mt ng dng Android, c dng hin th mt
mn hnh v nm bt cc hot ng xy ra trn mn hnh . Khi lm vic vi Activity
cn nm bt c mt s kin thc c bn nh sau:
Chu k sng ca mt Activity
(Xem chu k ng dng ca Android mc 1.6)
To menu v dialog
Khi ng mt Activity
khi ng mt Activity ta s dng Intend s tm hiu k hn phn b. Tuy
nhin, trong phn ny ti s hng dn cch chuyn gia cc Intend theo 2 loi:
Khai bo khng tng minh:
Cung cp chnh xc thng tin ca activity cn gi bng cch truyn vo tn class
ca Activity
VD: T Activity A mun chuyn qua Activity B ta khai bo mt Intend trong
Activity A:
Page | 25
Sinh vin: Trn Hu Phc
startActivity(intend);
Task
Page | 26
Sinh vin: Trn Hu Phc
D liu ca Intend:
Intent v c bn l mt cu trc d liu, c m t trong lp
android.content.Intent
Cc thuc tnh ca mt i tng Intend:
Page | 27
Sinh vin: Trn Hu Phc
Page | 28
Sinh vin: Trn Hu Phc
Bng vic thc hin nhng phng thc ny, bn c th gim st 2 vng lp ca
chu k thi gian ca mi Service Entire lifetime ca mt Service din ra gia thi
gian onCreate() c gi ra v thi gian m onDestroy() tr li. Ging nh mt
Activity, mt Service li tit hnh ci t ban u onCreate(), v gii phng tt c
cc ti nguyn cn li onDestroy() V d, mt Service pht li nhc c th to ra mt
lung v bt u chi nhc onCreate(),v sau lung chi nhc s dng li
onCreate(), Active lifetime ca mt Service bt u bng mt lnh ti onStart(). yl
phng thc c chuyn giao i tng Intent m c thng qua ti
startService() Service m nhc s m i tng Intent quyt nh xem s chi loi
nhc no v bt u pht nhc. Khng c callback tng ng no cho thi im
Service ngng li khng c phng thc onStop(). Cc phng thc onCreate() v
onDestroy() c gi cho tt c cc Service d chng c c bt u bng
Context.startService() hoc Context.bindService() hay khng. Tuy nhin, onStart() ch
c gi ra i vi cc Service bt u bng startService(). Nu mt Service cho php
nhng Service khc kt ni vi n th s c thm cc phng thc callback dnh cho
Service thc hin.
IBinder onBind(Intent intent)
boolean onUnbind(Intent intent)
void onRebind(Intent intent)
Page | 30
Sinh vin: Trn Hu Phc
Page | 31
Sinh vin: Trn Hu Phc
startService(svc, Bundle.EMPTY);
10. TELEPHONY
Telephony l mt trong 4 thnh phn chnh ca mt h thng Android. N cho
php ngi lp trnh c th ly cc thng tin ca h thng nh thng tin SIM, thng
tin thit b, thng tin mng, Ngoi ra, chng ta cng c th ci t cc thng s cho
thit b nu cc thng s c th thay i c. Tt c nhng iu c qun l
bi mt class TelephonyManager trong Android.
TelephonyManager telMan =
(TelephonyManager)getSystemService(Context.TELEPHONY_SEVICE);
Vd:
Ly thng tin ID thit b
telMan.getDeviceId();
Ly thng tin s serial SIM
telMan.getSimSerialNumber();
11. SQLITE
SQLite l mt dng CSDL tng t nh Mysql, PostgreSQL... c im ca
SQLite l gn, nh, n gin. Chng trnh gm 1 file duy nht vn vn cha n
500kB, khng cn ci t, khng cn cu hnh hay khi ng m c th s dng ngay.
D liu database cng c lu mt file duy nht. Khng c khi nim user,
password hay quyn hn trong SQLite database.
SQLite khng thch hp vi nhng h thng ln nhng quy m va tm th
SQLite pht huy uy lc v khng h yu km v mt chc nng hay tc . Vi cc
c im trn SQLite c s dng nhiu trong vic pht trin, th nghim v..v.. v l
Page | 32
Sinh vin: Trn Hu Phc
To class Person:
public class Person {
private String firstName;
Page | 34
Sinh vin: Trn Hu Phc
To class TestXStream:
import com.thoughtworks.xstream.XStream;
public class TestXStream {
public static void main(String[] args) {
XStream xstream = new XStream();
Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(110, "111-111-1111"));
joe.setFax(
new PhoneNumber(220, "222-221-2222"));
String xml = xstream.toXML(joe);
System.out.println("xml output:\n"+ xml);
Person newJoe = (Person)xstream.fromXML(xml);
//Xem thuc tnh trong bin s newJoe thuc lp Person
System.out.println("\nIn ra thng tin ca bin newJoe
vi First Name, Last Name and Phone:\n ");
System.out.println("First Name: " + newJoe.getFirstName());
System.out.println("Last Name: " + newJoe.getLastName());
System.out.println("Phone: " + newJoe.getPhone().getNumber());
}
}
Kt Qu:
Khi ta cho chy th chng trnh TestXStream.java, kt qu thu c l mt
dng XML c to ra m trong n c cu trc ch s lin h gia Person v
PhoneNumber nh sau:
Cho ra dng xml l:
Page | 35
Sinh vin: Trn Hu Phc
12.3.
URL
xc nh tn phng
Page | 36
Sinh vin: Trn Hu Phc
Page | 37
Sinh vin: Trn Hu Phc
XStream
SOAP, XML
Message
Hnh 2-1. Qu trnh upload ni dung XML ti Webserver bng giao thc SOAP.
14.2.
Page | 39
Sinh vin: Trn Hu Phc
14.3.
Send contact
M t chc nng:
Cho php ngi dng gi mt hoc nhiu contact ti mt hoc nhiu ngi khc
cng c ti khon ca ng dng.
M t hot ng:
1. Chuyn i cc contact cn gi thnh ni dung XML.
2. Gi yu cu ti webservice km theo ni dung XML, thng tin ti khon v
cc thng tin cn thit khc.
Webservice gi ni dung XML vo contact box ca ngi nhn v tr v thng
ip nu gi thnh cng.
14.4.
Reveive contact
M t chc nng:
XML content,
sender, receiver
<<SOAP, XML>>
Client A
Client B
14.5.
Chc nng export to an SD Card cho php ngi dng chia s hoc backup cc
contact ca h vo th nh di dng XML. Khi ngi dng cn chia s h c th trao
i thng qua th nh hoc c th gi file XML ny i bt k u v ngi nhn c
th phn tch file XML ny thnh cc contact nh c.
Page | 40
Sinh vin: Trn Hu Phc
XStream
convert
Write file
14.6.
Read file
XStream
14.7.
Account Manager
14.7.1. Login
M t chc nng:
Chc nng login khng phi c thit k bo v h thng m ch yu l s
dng qun l ngi dng v d liu ngi dng trn server. Khi ngi dng login
th username and password s c lu li lm cha kho lin lc vi server, m
bo rng d liu c an ton v d dng truy xut. Hay ni cch khc mi username
l mt nh danh gip server qun l c d liu ca h.
14.7.2. Change password
M t chc nng:
Chc nng ny gip ngi dng qun l an ton hn ti khon ca h. s dng
c chc nng ny bt buc ngi dng phi ng nhp vo ti khon c.
Sau ngi dng touch chn passowrd mi th ng dng s gi password mi v
cc thng tin ngi dng ln web service v web service s thc hin vic thay i
password. Chc nng ny s c m t k hn chng 2.
14.7.3. Restore account
M t chc nng:
Page | 41
Sinh vin: Trn Hu Phc
Khi qun username hoc password th ngi dng c th s dng chc nng ny
khi phc li ti khon ca h. ng dng s bt buc ngi dng phi nhp mt
email d phng trong khi to ti khon ng dng c th gi ti khon ca h vo
email .
Di y l qui trnh khi phc ti khon ca ngi dng:
1. Enter
email
2. require account
SOAP, XML
3. account
4. account
Biu Usercase
Page | 42
Sinh vin: Trn Hu Phc
Page | 43
Sinh vin: Trn Hu Phc
15.1.4. Login
15.2.
Biu Class
15.3.
15.4.
Page | 44
Sinh vin: Trn Hu Phc
15.5.
Class Webservice
Hnh 2-15
15.6.
Biu Sequence
15.6.1. Login
Page | 46
Sinh vin: Trn Hu Phc
Page | 47
Sinh vin: Trn Hu Phc
Hnh 2-20. Biu tun t chc nng khi phc phone book
Bc 1, 2: c file t SD Card.
Bc 3, 4: Convert ni dung XML c c t file thnh Contact list v ghi
cc Contact vo phone book trong in thoi Android.
15.6.8. Send Contact
Biu sequence send Contact th hin mc h thng qu trnh gi cc Contact
ti mt ti khon no cng c qun l bi h thng.
Page | 49
Sinh vin: Trn Hu Phc
tit kim b nh, khi hin th mt Contact list no th ch nhng thng tin
cn hin th c load vo b nh cn nhng thng tin khc th khng c load. V
vy, gi cc Contact ti mt ngi dng no ng dng s thc hin qua cc
bc nh biu c m t chi tit sau:
Page | 50
Sinh vin: Trn Hu Phc
15.7.
Biu Activity
Hnh 2-24
Page | 51
Sinh vin: Trn Hu Phc
Hnh 2-25
Hnh 2-26
Page | 52
Sinh vin: Trn Hu Phc
Hnh 2-27
Hnh 2-28
Page | 53
Sinh vin: Trn Hu Phc
Hnh 2-29
Hnh 2-30
Page | 54
Sinh vin: Trn Hu Phc
Bng ACCOUNTS:
c dng lu tr thng tin ti khon ngi dng.
Thuc tnh ca cc field nh sau:
Field Name
Type
USERNAME
nvarchar(50)
PASSWORD
nvarchar(50)
nvarchar(100)
USERID
Bng BACKUP_CONTACT
c dng lu tr cc phin bn phone book ca ngi dng
Thuc tnh:
Field Name
Type
CONTENT_BACKUP
xml
USERID
bigint
NOTE
DATE
nvarchar(30)
TIME
nvarchar(30)
VERSION_ID
Bng MYUSERNAME
c dng lu tr tn ti khon ca nhng ngi bn c s dng h thng
phone book safe. Cng ging nh khi chat yahoo hoc skype th u c mt contact
list nhm gip bn d dng qun l v tm kim khi cn.
Thuc tnh:
Field Name
Type
USERID
bigint
DISPLAY_NAME
USERNAME
nvarchar(50)
Page | 55
Sinh vin: Trn Hu Phc
ID
bigint
Bng 2-3
Bng SHARE
Khi mt user no gi d liu ti mt ngi khc th d liu km cc thng
tin lin quan s c lu vo bng ny. Cc ng dng s t ng truy cp vo bng
ny ly d liu ca user tng ng.
Thuc tnh:
Field Name
Type
USERID
bigint
SENDER
nvarchar(50)
RECEIVER
nvarchar(50)
CONTENT_SENT xml
DATE
nvarchar(30)
TIME
nvarchar(30)
NOTE
ID
bigint
Bng 2-3
Page | 56
Sinh vin: Trn Hu Phc
Hnh 3-1
Login
Hnh 3-4
Cc chc nng
Hnh 3-7
Send Contact
Hnh 3-2
ang Login
Hnh 3-5
Revert phonebook
Hnh 3-8
c Contact gi
Hnh 3-3
Sau Login
Hnh 3-6
Upload phonebook
Hnh 3-9
Nhn Contact
Page | 57
Sinh vin: Trn Hu Phc
Dialog to ti khon
mi
Dialog change
password
Dialog thng bo
contact mi
Mn hnh Import
Contact
ProgressDialog Export
Contact
WarningDialog xo
Contact
Panel tm kim
Contact
18.2.
Page | 58
Sinh vin: Trn Hu Phc
19. NH GI NG DNG
Mc tiu t c
Cc chc nng chnh
Hon thnh
Upload Contact
100%
Revert Contact
100%
100%
100%
Receive Contact
100%
Change Password
100%
100%
100%
Page | 59
Sinh vin: Trn Hu Phc
Chc nng ny s c pht trin trong tng lai nhm mc ch gip nhng
ngi thng xuyn c kt ni wifi c th gi tin nhn m khng mt tin. Tin nhn
n s c thng bo bng dialog ngay trn mn hnh desktop v k c khi dang s
dng ng dng khc.
Chc nng gi th thoi thng qua wifi
Chc nng ny s tn dng chc nng thu m c trang b trong cc my
Android. D liu s c ng gi v truyn ln ti khon ngi nhn.
Chc nng hu d liu
Khi b mt in thoi th iu m ngi dng lo lng nht chnh l nhng d liu
c nhn trong . Chc nng ny s t ng hu cc d liu c ch nh sn trong
th nh hoc b nh my khi nhn c yu cu thng qua tin nhn hoc wifi. Ngoi
ra ngi dng cn c th thit lp c ch hu d liu t ng khi khng c thc
hin mt s kin no trong mt khong thi gian no .
21. KT LUN
Sau khi thc hin xong project ny em nm bt c qui trnh lm mt d n
phn mm trn mobile ni chung ng thi hiu thm c nhiu kin thc v
Android v cc cng ngh lin quan nh l XML, XStream, Web service v SOAP,
Page | 60
Sinh vin: Trn Hu Phc
NH GI CA GIO VIN
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
..................................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
Page | 61
Sinh vin: Trn Hu Phc
Page | 62
Sinh vin: Trn Hu Phc