1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Hoàng Hưng
XÂY DỰNG HỆ THỐNG XEM VIDEO TRỰC
TUYẾN TRÊN HỆ ĐIỀU HÀNH ANDROID
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
HÀ NỘI - 2010
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Hoàng Hưng
XÂY DỰNG HỆ THỐNG XEM VIDEO TRỰC
TUYẾN TRÊN HỆ ĐIỀU HÀNH ANDROID
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
Cán bộ hướng dẫn:TS. Trương Anh Hoàng
HÀ NỘI - 2010
LỜI CẢM ƠN
!"#$#
%&'()*$#+%()*,-./+"012345
6789:!222;<2'<=/41
#>&?;@A2':><=<B1C*2D<#6
EF!;GH@%@I-1
JKL,/ML !"#$#%&'()*
$#+%()*,-./+"023=&N:N<;?N!H2F
%4@BO/51
JAH#H</$#%#P
()*$#+%P()*,-./+"23%57)>
:QO/<RP<R#%@'#1
M+gh$i+j+
6
M+gh$kKlmn
Ký hiệu
Giải thích
Tiếng Anh Tiếng Việt
EDGE
J/7M//o/p.qg
J@
qE&HFB-2"'
).qg
UMTS
r@/g!
/q
%-@_#72"
API &&/s/lp/ ./7%4&5Q7`
CDMA $7M@g&
g"#%%-
#72"
GPRS ./s/<o/7q@ .=7\@`@#;^D&
GSM
.!/qpg!
$/
%-#72"
J2SE t/@/Xq/7/7J7
u2a@L'
EHQ7`t/@/
OS v&/q %2'
#%b.1
€ g)rgq2DF</).qg%=-2"2-=F
•1Xg!‚1
€ g)$MgXZZZ/2;<B'7:%]Qb.)$Mg1
+/)b.G=byzƒ
8
€ {€$MgƒWD-2"'2;[„XZx!&E;%A2)<
b…†x!&@8A').qg<[†1†x!&1
€ $Mgƒ-2"7:%2;X1†g!&1
€ Mq$Mgƒ-2"F=2;Xg!&1
+5#%b./2;A'Dz7`7\@@_
#7!B#"-2"'7:%/1('782;:Q7`
@''#)@7:%/5'5Q;•I&H
FA)I1K"Q7`A?/*I]@#T&^!;
'#%b.2=7\@`@7E;/E
2%)72"1("@A2'=^@GA‡2D&HF
'#%b.1
1.1.3. Mạng 3G tại Việt Nam
$H)O/K%+/!2A&#%b.92H[Z‚XZZ„
@&K/s2<ˆ@#%b.‰7\@`2D!/
?H;H#@%P"-PzO/71+"
&7%2=HQ7`@86/z!/?H^F/2@
9O/7`1
;&/2=g!s/7\@`K7$/"!;DO/
#%b.7\@`2392DH2 Q7`O7%0/
;&;!\rqVb.=&e&Hz=F<;-?/2%
)=2B<zb.*>*1
qE&HFO/#%b.I2y)E&HFO/H7\@`7
;!\/E7`#‡1+4V=I#A@%
A&#%b.<#'!;Š)b.#@4
Hình 1: Hệ điều hành Android
g"-2a2FO/77}X~
Handset Layoutƒ+'7_zK.@%2c*/XM
@%2c*/bM!v&.uX1Z@HA>2%)'
-1
Lưu trữƒs']7:%q,u2D7``2z:
67T7F:;!\1
Tính kết nốiƒ77WDH#%<;-ƒ.qg‚JM.JlMJ+$Mg
JK€MvrgqV{€|@{g•1
Tin nhắnƒ7)qgq@ggq##Ž@c/1
Trình duyệt webƒ57%w!"&!#Ž/3c
]{!x/&&/p/w<11
11
Hỗ trợ Javaƒs'@;!]t/@/=F2D!7\@)M/@<
@//="Kg2a!%&e&;<;;!\72"
7`a7T=<#&"#%tKgy177<#WDtXgJ
-"-%2'<H1
Hỗ trợ Mediaƒ77WDAH2\7)ƒ1X‰b1X‰† b.s
gs†/0gsJ.€†qsgogo€{V b.s/0$J€$
gs†ab.s0gsbglMlv..K!{KtsJ.s+..l|Vgs1
Tăng hỗ trợ phần cứngƒ77=FWD@7‚9//Q.sqH
2/-
Môi trường phát triểnƒ!/c;!\/#`2F7!!"@E
2\5E@&J&lMJ1
Marketƒ-':Q7`2%)!77/<
"7/`&'=F@'@2a;!\<#7`s$1
Cảm ứng đa điểmƒ77=WDQ2/2F26
H$=7`7@A2F!?'12;/H;!\
+v/g/77QB232<<z)1
@:/*23]@^-'[Z%rqM2F<;<z
;@%;<;@AH&'*d@E1
MEzA‡O/%2'3c]772I"
"O/$#%#K%+/;@\&&'7\
@`2%);1
$T2F%2'3c]77]&^!;
;@772@\K%+/5=E!T^b.2=I"
"AH#&HFQ7`72"<23"`22OH
2'<%1
1.2. Hệ thống thông tin trực tuyến trên điện thoại di động
M2a2FO/2%)72"2%)5‘-2"'7:
%A4@%&HFH%-#E;2%)72"
13
EE/&HFN7?/*A=I7-2"'7:%1$L
@5I2=4zH'L&HF&'2%)@z7`tXgJ
G<#A&WD<;-]7:%1$HQ7`'7:%
@7E;/E*E;7:%•2%
)/&HF1
K;!\2DA&%2'3c]777T=F7_
7/H@%-#E;1@2=@#%b.-2"
7:%I<&`2DD2F?/*AO/H%-#E
;2%)72"1K5@4@E<;D&:/%2'3c]
77@#%b.I]E&HFH%-#E;
2%)72"1
1.3. Bài toán
1.3.1. Đặt bài toán
]O/7`B@*2'<%@']@4
A2'23=22O5"%-&e&5<;4&4&@7E;
<#&!"@';!\<=II]&^!;@?/
*"2c7`)b.%2'771
@/
’
/2
”
1s
”
/
’
”
2
•
/
’
”
/2
”
/
”
2/
“
</
”
/4&
”
#
“
2
“
1+
”
%&
”
7
“
•
–
’
2
’
/
’
<#
”
?/
”
’
!
”
“
@
”
4&
“
”
</
”
!
“
P
’
7
’
#
”
”
•
!B
”
2
’
4&/<
”
!B
”
2
’
2
“
/
’
<#
&/
•
’
2
“
1s
”
/
’
2
“
•
7
“
2
•
’
/
•
/
”
“
<
–
’
&/57%I
F2;HOw!1gHOw! w!@0IF2;H
O7@%'&H"7HO2D*/@1
E;="-&H&7`w!@24@/G'&H/7‚@7
7T/Q&0&H&z-<e@212FA&
/7‚@7AD/L<B2H&Q2c'c'
=&'HO!% 7T/Q'<H@HOw!01
™7`&^!;AO/5Qq/@77\@`@71
xH=F&@7232D-=/ @e3=/0:)@
@!A<˜>1+;-<H=F2'<Fc"7)79
?/)/ /Qoqs/ggq0š="H<H=FE%
-@2H)1
2.1.1.Giao thức hỗ trợ Streaming video
(F7`7\@`q/@75H&`@`@H<H&=
<B‹/;&Œ2D@/#?/"/Q@;23=
'/Q2D&HF2FWDq/@7ƒ
€ ./QM///
€ ./Qoqs o/q/s0
€ ./Qr/
€ ./Qg/
€ ./Qlsg/
€ ./Qs€€s1
17
+&^!;A%/'@777)//Q
oqs1/Q%/2DWD%2'3c]
771K5@44@B>/Inghiên cứu trên giao thức HTTP 7%
2'3c]77&![1Y/WDH/Q.
2.1.2. Định dạng
- Ứng dụngƒ(&TO/<;>77177I@%@
"!"Q7`-›!/c2%qgq\!2c57%7/
!)•AHQ7`2'I2D@;!Š#:t/@/1
Hình 2: Tầng ứng dụng
- Khung ứng dụngƒVŠHA&"'&HF]77
A&&HF<B7EQ7`A&&>1+&HF=
?'7`H;!\&Q/Q7`)]'•2F)/Q7`
N51x;>Q7`2D;<;2F2=/@%7`)H
&WQ7`=F&e&HQ7`<H<B7`H&
1('-@<œ4&e&7T2a)H&1
M2HQ7`O/%-@7\@`ƒ
• $HQ7`2D7E7E/"4&D&&&>O/H
Views!/cHH7H!H!@4z>
57%w!1
• Content Providers&e&HQ7`A7:%9Q7`
<H//‡7:%1
• Resource ManagerA&4&<#&3c
H4&2c*///1
19
• Notification Manaừ .
- Bộ thư việnƒA&"4&H@%@;!Š$‚$••2FH&O/
777`<H/1M@4<Q7`77/)'<B
:&HF1g"@@%zO/77ƒ
• Hệ thống thư viện Cƒ78AO/%-@%$y;!\
>'u1
• Thư viện đa phương tiệnƒ7`]s/<K7WD'2\
7)/5@@7!/cg&†X‰†gsb$$
jgts.@s+.1
• Surface managerƒ?N@%4&H%-F\@@%
<;D&O/H&2c*/X'b'9'Q7`1
)1$)/=#q/ 01
22
€ onStart()ƒ2D*<H@-F\7T
€ onResume()ƒ2D*<@!2H@7T1
€ onStop()ƒ2D*<@<#GF\7`<@
<H232D<]2"@;WO/@1
€ onDestroy()ƒ-T!)*<-<;>@*<
@O/!)23a%-)O@O/!)=`2z1
2.2.2.2. HTTP
}Y~uH&WD@%<;-2;@H"7@'HN
2FA#1<=/4=7`"-&2F&`@`@%
@47:%@'9q@1
HttpEntityƒ2D78A9&org.apache.http.HttpEntity"2-D2D
2<ˆT@H#2%&s==F2D5AH#2%&
?0aH#2%&@' &01
HttpResponseƒ2D78A9&org.apache.http.HttpResponse, là đối tượng trả
về của HTTP.
HttpClient: 2D78A9&org.apache.http.client.HttpClient,"/7%
"7Ts1&$2==AH2-D;2FE%
Hs1
HttpPostƒ 2D 78 A 9 & org.apache.http.client.methods.HttpPost 2
&Qz2FH2;q@@4)Hc7:%@'9
q@1
2.2.2.3. Intent
}‰~u78A9&ƒ/7711lš
+="'2F'H#!H9-2;4
-):/H@'#8/1$Hl2D)/=/&
/#zƒ
€ Hành động (action)ƒH2"=I2DE%1
€ Dữ liệu (data)ƒH7:%2FE%2"1
24
• abstract Menuitem add()ƒ"`@E21
• abstract int addIntentOptions()ƒ@"=H`E2Q
@2"2FE%"N2\`F1
• abstract SubMenu add()ƒ@"E21
• abstract void clear()ƒ=/!‘:`c)<‘E22F)"E2
-1
• abstrack void close()ƒ;E22/]5I2=@1
• abstrack MenuItem findItem()ƒ@'"`5<;1
• abstrack MenuItem getItem()ƒ@'"`E2H\6-1
• abstrack hasVisibleItem()ƒ?/])E2%)H`=F5
A1
• abstrack boolean performIdentifierAction()ƒ)H2"]`2DE/
*<;@H<zE@;1
€ Bề mặt (Surface): "/7%2F"H52="5/;
:!'aF\1$&e&<FH<zV'a@2\7)/
2^H2F!'a@7›:/2^!'a1x7`/7%
9"c<H7Tqp/Kw!)&2FN&QlockCanvas()@
Callback.surfaceCreated. (L"&?/*4@B@5=
/7%2F&HH@777)/1M2"-&Q?/
*O/2-Dqp/ƒ
• abstrack void addCallback()ƒ@"/7%*)@4:1
• abstrack Surface getSurface()ƒ4&E;&2;2-Dqp/1
• abstrack boolean isCreating()ƒ7`&Q2F5"qp/
;52D)9&Q*)1
• abstrack Canvas lockCanvas()ƒ!2/H2Fqp/1
• abstrack void setFixedSize()ƒ)/"qp/232D-2\<z1
• abstrack void setFormat()ƒ;4&2\7)2Fqp/1
• abstrack void setKeepScreenOn()ƒE/*&e&a<#&e&
5!49qp/23)1