ngu n: https://www.coursehero.com/... • Hardware support: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor và GPS... SQLit không quan hệ nh sở liệu kh... 2.1.4 XML và HTM
Trang 1Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 1
KHOA CÔNG NGHỆ THÔNG TIN
-
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG QUẢNG BÁ DU LỊCH
TRÊN THIẾT BỊ ANDROID
Sinh viên thực hiện: Nguyễn Minh Hiếu – MSV: 1151073719
Giáo viên hướng dẫn: TS Trần Xuân Sang
Nghệ An, tháng 01 năm 2016
Trang 2Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 2
LỜI CẢM ƠN
* *
*
Đ ho n th nh n t t nghiệp n y tr ớ hết m xin m n nh tr ờng
t o i u kiện gi p m trong qu tr nh h t p v nghi n u t i tr ờng
Em xin h n th nh m n th y gi o TS Trần Xuân Sang th o s t m
Em xin h n th nh m n
Vinh,ngày 25 tháng 12 năm 2015
Sinh viên thực hiện
Nguyễn Minh Hiếu
Trang 3Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 3
Mục lục
LỜI CẢM ƠN 1
Giới thiệu t i 5
1.Lý o h n t i 5
2.Nội ung nghi n u 5
Ch ng I: Hệ i u h nh An roi 6
1.1 Giới thiệu hệ i u h nh An roi 7
1.2 Nh ng ặ tr ng a hệ i u h nh An roi : 7
1.3 C tính năng hỗ trợ sẵn trong hệ i u h nh An roi 8
1.4 Kiến tr v th nh ph n trong hệ i u h nh An roi 8
1.4.1 Linux kernel (nhân Linux) 10
1.4.2 Libraries 10
1.4.3 Android runtime 11
1.4.4 Application framework 11
1.4.5 Applications 11
1.5 C kh i niệm n trong l p tr nh ng ụng An roi 11
1.5.1 Activity 11
1.5.2 Service 13
1.5.3 View 14
1.5.4 Intent 14
1.6 C th nh ph n trong một proj t ng ụng An roi 15
1.6.1 AndroidManifest.xml 15
1.6.2 File R.java 16
1.6.3 Th mụ sr 16
1.6.4 Th mụ r 16
Ch ng II: Công nghệ XML v W s rvi 17
2.1 Công nghệ XML 17
2.1.1 Lị h s ra ời huẩn XML XML l g ? 17
2.1.2 C u tr a fil XML v t i liệu XML 17
2.1.3 Đặ i m a XML 18
2.1.4 XML và HTML 18
Trang 4Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 4
2.1.5 Ngôn ng ặt t u tr 19
2.1.6 Ưu i m a XML 19
2.2 Webservice 20
2.2.1 Webservice là gì ? 20
2.2.2 Một s ặt i m n a w s rvi 21
2.2.3 Ph n lo i w s rvi 21
Ch ng III: Googl Map v Googl Maps API W S rvi s 23
3.1 Google Map 23
3.1.1 Giới thiệu Googl Map 23
3.1.2 Google Maps for Mobile 24
3.2 Google Maps API Web Services 25
3.2.1 Giới thiệu Googl Maps API W S rvi s 25
3.2.2 S ụng Googl Maps API W S rvi s 25
Ch ng IV: X y ng ng ụng 28
4.1 Đặ t hệ th ng 28
4.2 C y u u v h năng a h ng tr nh 28
4.2.1 Ch năng hi n thị thông tin ịa anh 28
4.2.2 Ch năng hi n thị vị trí ịa anh tr n n 30
4.2.3 Ch năng hi n thị thông tin hi tiết một ịa anh 32
4.2.4 Ch năng t m ờng i tr n googl map 33
4.3 C v n trong qu tr nh x y ng ng ụng 33
4.3.1 Giao iện UI trong l p tr nh ng ụng An roi 33
4.3.2 Đăng ký n Googl Map trong ng ụng 37
4.3.3 Đ nh u ịa i m v hiện thông tin tr n n 38
4.3.4 G i A tivity v truy n liệu gi a h ng 39
Kết lu n 41
i Kết qu t ợ 41
ii H n hế a t i 41
iii H ớng ph t tri n 41
T i liệu tham kh o 42
Trang 5Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 5
Giới thiệu đề tài
1 Lý do chọn đề tài
Hiện nay du lị h ang l một ngành kinh tế mũi nh n c a Việt Nam nói chung và
ặc biệt l i với Nghệ An Với ti m năng u lịch nh v y việc xúc tiến qu ng bá du lịch và cung c p thông tin du lị h l i u r t quan tr ng ẩy m nh h n n a ngành kinh tế mũi nh n này
Với s xu t hiện ph t tri n h ng mặt a thiết ị i ộng mang l i hội
qu ng u lị h v ung p thông tin u lị h một h thu n tiện nh t ho kh h u
lị h
Với nh ng lý o tr n m h n v th hiện t i „T m hi u v x y ng ng ụng qu ng u lị h x Nghệ tr n thiết ị An roi ‟ Ph n m m ợ viết ằng ngôn
ng Java tr n n n t ng An roi s ụng Googl Map API v Googl Maps API W
S rvi s s ụng ông nghệ XML s ụng Youtu API V3
Ph n m m n y h y tr n thiết ị i ộng hệ i u h nh An roi sẽ ung
p thông tin v ịa i m u lị h ung p h nh nh vi o l y vị trí hiện t i tr n
n Google Map v h năng t m ờng i
2 Nội dung nghiên cứu
- T m hi u v l p tr nh i ộng tr n thiết ị An roi
- Ph n tí h v thiết kế ng ụng qu ng thông tin u lị h Nghệ An
Trang 6Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 6
Chương I: Hệ điều hành Android
Theo Steve Jobs – Gi m i u h nh t p o n Appl thiết ị h u PC ph i
tr quan v ễ ùng h n so với PC Cụ th với hiế m y tính ng iPa 2 m ông ty
a ông mới ho ra mắt ph n ng v ph n m m "ph i an quyện v o nhau hặt hẽ
h n so với h th tr n PC" Thời kỳ “h u PC” l thời kỳ m nh ng hệ th ng nh ng
l t lõi sẽ l m n n l n s ng ổi mới th 3 sau s ph t tri n a m y tính lớn v mini (mainframe và mini comput r) giai o n 1960 - 1980, PC-Int rn t giai o n 1980 –
Đ u ti n l s xu t hiện a IOS tr n thiết ị a Appl Tiếp th o l s xu t hiện a An roi – hệ i u h nh m ngu n mở o Googl ph t tri n Sau n a l
W OS a HP v Win ow Phon a Mi rosolf Tuy nhi n IOS v An roi l hai hệ
i u h nh ph t tri n m nh nh t An roi ắt u nh y v t sau IOS nh ng n ang
t ộ ph t tri n nhanh h n IOS
Hiện t i hệ i u h nh IOS hiếm vị trí ộ tôn với tổng ộng 356 577 ng ụng
Đ ng th 2 l An roi với 256 545 ng ụng
Cụ th h n ở Việt Nam l p tr nh i ộng ang l một hội r t t t ho l p
tr nh vi n n ra s n phẩm a m nh C th ễ ng a s n phẩm a m nh ra thế giới ti u thụ v thu ợ ti n từ nh ng ng ụng t t v ộ o Đ i với thị tr ờng ng ụng trong n ớ từ năm 2010 ến nay ùng với xu thế ph t tri n thiết ị i ộng a thế giới Việt Nam ũng một s ph t tri n v ợt t trong m ng n y.Với hợ ng
Trang 7Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 7
ụng a hính h ng nh AppStor Googl Play nhi u ng ời s ụng v n òn v p ph i
r o n thanh to n V v y y l hội l p tr nh vi n ph t tri n ng ụng ti u thụ trong n ớ với hợ ng ụng a h ng th 3 (ngu n: http://www.pcworld.com.vn/)
1.1 Giới thiệu hệ điều hành Android
An roi l một hệ i u h nh i ộng a tr n một phi n n s a ổi a Linux
Đ ợ ph t tri n v o năm 2005 với một n ùng t n “An roi ” Nh một ph n hiến
l ợ a m nh l n s u v o lĩnh v i ộng Googl An roi mua v to n ộ qu
tr nh ph t tri n ũng nh ội ph t tri n n Đ y l on t h i a Googl nh tranh thị ph n hệ i u h nh i ộng với Appl
Googl An roi mu n mở v miễn phí v v y h u hết m An roi ợ
ợ a ra ới ng m ngu n mở Apa h Li ns i u n y t ng ng với việ
t ai mu n s ụng An roi th l m nh v y ằng h t i v m ngu n an roi
y H n n a nh ung p (th ờng l nh ng nh ph t tri n ph n ng) th
th m ph n mở rộng v tùy iến ho an roi ph n iệt s n phẩm a h với s n phẩm
a nh ng ng ời kh Đi u n y n gi n l m ho mô h nh ph t tri n An roi r t h p
n v o kh i y s quan t m a nhi u nh ung p Nh ng nh s n xu t oi
An roi nh một gi i ph p – h sẽ tiếp tụ thiết kế ph n ng a ri ng m nh v s ụng An roi nh một hệ i u h nh hính
Ưu i m hính a việ p ụng An roi l n ung p một h tiếp n th ng
nh t ph t tri n ng ụng C nh ph t tri n hỉ n ph t tri n ho Android và các
ng ụng a h th h y tr n nhi u thiết ị kh nhau miễn l thiết ị ợ hỗ trợ ằng h s ụng An roi Trong thế giới iện tho i thông minh ng ụng l một
ph n quan tr ng nh t a huỗi th nh ông Do nh s n xu t thiết ị oi An roi
nh l hy v ng t t nh t th h th s t n ông a Appl (ngu n: https://www.coursehero.com/)
1.2 Những đặc trưng của hệ điều hành Android:
• Application framework: ho phép s ụng l i v thay thế th nh ph n
trong l p tr nh ng ụng
• Dalvik virtual machine: t i u h a ho thiết ị i ộng
• Intergrated browser: tr nh uyệt tí h hợp a tr n hế WebKit mã
ngu n mở
• SQLite: s sở liệu trong môi tr ờng i ộng
• Media support: hỗ trợ ịnh ng au io vi o v h nh nh thông ụng
• GSM Telephony: m ng iện tho i i ộng (phụ thuộ v o ph n ng)
Trang 8Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 8
• Bluetooth, EDGE, 3G, và WiFi : huẩn kết n i liệu (phụ thuộ v o
ph n ng)
• Camera, GPS, la bàn, và gia tốc kế: (phụ thuộ v o ph n ng)
• Môi trường phát triển phong phú: ao g m thiết ị mô ph ng ông ụ ho
việ ò t m lỗi ộ nhớ v ịnh h nh hiệu năng v một plugin ho E lips IDE
1.3 Các tính năng hỗ trợ sẵn trong hệ điều hành Android
C tính năng ợ hổ tr tùy thuộ v o u h nh ph n ng v ph n m m
• Storage: S ụng SQLit một sở liệu quan hệ nhẹ ho việ l u tr
liệu
• Connectivity: Hỗ trợ GSM/EDGE IDEN CDMA EV-DO, UMTS,
Blu tooth ( ao g m AD2P v AVRCP) Wifi LTE v WiMAX,
• Messaging: hỗ trợ SMS v MMS
• Web browser: D a tr n m ngu n mở W kit ùng với ông nghệ
JavaS ript V8 a Chrom
• Media support: Bao g m hỗ trợ ph ng tiện truy n thông sau: H.263,
H.264 (Trong 3GP hoặ MP4 ontain r ) MPEG-4 SP, AMR, AMR-WB (3GP container), AAC, HE-AAC (MP4 hoặ 3GP ontain r) MP3 MIDI Ogg Vorbis, WAV, JPEG, PNG, GIF và BMP
• Hardware support: Accelerometer Sensor, Camera, Digital Compass,
Proximity Sensor và GPS
• Multi-touch: Hỗ trợ m n h nh m ng a i m
• Multi-tasking: Hỗ trợ ng ụng a t vụ
• Flash support: An roi 2.3 hỗ trợ Flash 10.1
• Tethering: Hỗ trợ kết n i int rn t không y/ y
1.4 Kiến trúc và các thành phần trong hệ điều hành Android
Mô h nh sau th hiện y kiến tr th nh ph n a hệ i u h nh An roi
Tầng Application
Trang chính Danh s h li n l Điện tho i Tr nh uyệt
Trang 9Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 9
Tầng Application Framework
Tr nh qu n lý Activity
Tr nh qu n lý Window
Tr nh qu n lý Content Providers
Tr nh qu n lý View System
Tr nh qu n
lý ng g i
Tr nh qu n lý iện tho i
Tr nh qu n lý t i nguyên
Tr nh qu n lý
vị trí
Tr nh qu n lý thông báo
Tầng Libraries
Tầng Android Runtime
Th viện lõi
M y o Dalvik
Trang 10Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 10
Tr nh i u khi n WIFI
Tr nh i u khi n ngu n iện
1.4.1 Linux kernel (nhân Linux)
K rn l Linux ho t ộng nh một lớp trừu t ợng h a gi a ph n ng v t ng
ới a ph n m m Lớp n y h a t t thiết ị m th p i u khi n th nh
ph n ph n ng kh nhau a một thiết ị An roi
1.4.2 Libraries
Li rari s ao g m một t p hợp th viện l p tr nh h a m lệnh ung p
nh ng tính năng v thao t hính tr n hệ i u h nh Một s th viện n ợ liệt k ới y:
• System C library: – BSD- riv tri n khai th viện hệ th ng ngôn ng
C huẩn ợ nh ng v o thiết ị a tr n hệ i u h nh Linux
• Media Libraries – D a tr n Pa k tVi o's Op nCORE; th viện n y hỗ trợ
ho việ h i nh quay phim hụp h nh th o ịnh ng fil MPEG4 H.264, MP3, AAC, AMR, JPG, and PNG
• Surface Manager – Qu n lý truy p ến hệ th ng on hi n thị ũng nh
• FreeType – bitmap and vector font rendering
• SQLite – Một sở liệu nh ợ ùng ho thiết ị m tay ộ
nhớ h n hế SQLit không quan hệ nh sở liệu kh
Trang 11Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 11
1.4.3 Android runtime
T i ùng một t ng với Li rari s an roi runtim ung p một ộ lõi th viện
ho phép nh ph t tri n viết ng ụng an roi ằng h s ụng ngôn ng
l p tr nh java An roi runtim ũng ao g m m y o Dalvik ho phép m i ng ụng an roi h y trong tiến tr nh ri ng a m nh Dalvik l một m y o huy n ụng
ợ thiết kế ặ iệt ho an roi v t i u h a ho thiết ị iện tho i i ộng với giới h n ộ nhớ v CPU
1.4.4 Application framework
Bằng h ung p một n n t ng ph t tri n mở An roi ung p ho nh
ph t tri n kh năng x y ng ng ụng kỳ phong ph v s ng t o Nh ph t tri n ợ t o t n ụng thiết ị ph n ng thông tin ịa i m truy p ị h
vụ h y n n thiết l p hệ th ng o ộng th m thông o thanh tr ng th i
v nhi u nhi u h n n a
Nh ph t tri n th truy p v o API ợ s ụng ởi ng ụng lõi
C kiến tr ng ụng ợ thiết kế n gi n h a việ s ụng l i API Đ a
ra nh ng kh năng kh nhau a hệ i u h nh an roi v o ng ụng s ụng
h ng trong ng ụng a m nh
C n t t ng ụng l một ộ ị h vụ v hệ th ng ao g m:
Vi w (l ùng hi n thị thông tin v ng ời ùng thao t ) Cont nt Provi r hia sẻ liệu gi a ng ụng R sour Manag r truy xu t t i nguy n Notifi ation Manag r hi n thị thông o A tivity Manag r qu n lý hu tr nh s ng
Một a tivity th hiện một giao iện h a ng ời ùng Ví ụ một a tivity th
i u iễn một anh s h m nu it m ng ời ùng th h n v th hi n thị
nh ùng với ti u Một ng ụng g i tin nhắn văn n th một ho t ộng l
hi n thị một anh s h li n hệ g i tin nhắn tới ho t ộng th hai l viết tin nhắn tới li n hệ ợ h n ho t ộng kh n a l x m l i tin nhắn ũ hay thay ổi i
ặt Mặ ù h ng l m việ ùng nhau t o th nh một giao iện ng ời ùng mỗi
a tivity ộ l p với nh ng i kh Mỗi a tivity l một lớp on a lớp sở A tivity
Trang 12Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 12
Một ng ụng th g m hỉ một a tivity hay nhi u a tivity A tivity hính ph i
ợ hi n thị u ti n khi khởi ộng h ng tr nh Chuy n từ một a tivity sang a tivity
kh ằng h ho a tivity hiện thời khởi ộng a tivity kế tiếp
Mỗi a tivity ợ vẽ v o một a sổ tr n m n h nh mặ ịnh sẽ l p y m n
h nh nh ng n th nh h n m n h nh v nằm tr n a sổ kh ví ụ nh a tivity thông o một thông tin g
Nội ung tr quan a a sổ ợ ung p ởi một y ph n p i
t ợng vi w n xu t từ lớp Vi w Mỗi vi w i u khi n một kho ng h nh h nh t ụ
th n trong a sổ Vi w ha h a v tổ h ụ vi w on C vi w l vẽ trong h nh h nh t m h ng i u khi n v p ng l i h nh ộng ng ời ùng tr tiếp ở kho ng tr ng n y Do vi w l n i m t ng t a a tivity với ng ời ùng iễn ra
Ví ụ một vi w th hi n thị một h nh nh nh v khởi t o một ho t ộng khi
ng ời ùng nh n v o h nh nh An roi một s vi w x y ng sẵn m n
th s ụng – g m uttons t xt fi l s s roll ars m nu it ms h k ox s …
Một y ph n p vi w ợ ặt trong một a sổ a a tivity ằng ph ng th
A tivity.s tCont ntVi w() Cont nt vi w l i t ợng Vi w ở g a y ph n p
Class sở A tivity ịnh nghĩa một lo t s kiện m i u hỉnh vòng ời a một ho t ộng Class A tivity ịnh nghĩa s kiện sau y :
• onCreate(): Đ ợ g i khi ho t ộng ợ t o ra l n u ti n
• onStart(): Đ ợ g i khi ho t ộng trở n n h u h nh so với ng ời ùng
• onResume(): Đ ợ g i khi ho t ộng ắt u t ng t với ng ời s ụng
• onPause(): Đ ợ g i ừng ho t ộng hiện t i v n i l i ho t ộng
tr ớ
• onStop(): Đ ợ g i khi ho t ộng không òn hi n thị với ng ời ùng
• onDestroy(): Đ ợ g i tr ớ khi ho t ộng ị ph h y ởi hệ th ng ( ằng tay
Trang 13Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 13
Trong khi kết n i ng ời s ụng th giao tiếp với s rvi thông qua giao iện
m s rvi tr ng ra Ví ụ nh trong s rvi h i nh giao iện n y th ho phép ng ời ùng paus r win stop v r start l i play a k
Trang 14Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 14
Gi ng nh a tivity v th nh ph n kh kh s rvi h y trong thr a hính a tiến tr nh ng ụng V thế h ng không th hặn nh ng th nh ph n kh c hay giao iện ng ời ùng h ng th ờng t o ra th a kh ho nhiệm vụ hao t n thời gian
1.5.3 View
Trong một ng ụng An roi giao iện ng ời ùng ợ x y ng từ i
t ợng Vi w v Vi wGroup C nhi u ki u Vi w v Vi wGroup Mỗi một ki u l một
on a lass Vi w v t t ki u ợ g i l Wi g t
T t m i wi g t u hung thuộ tính n nh l h tr nh y vị trí a kgroun kí h th ớ l … T t nh ng thuộ tính hung n y ợ th hiện hết
ở trong i t ợng View
Trong An roi Platform s r n luôn ợ trí th o một ki u u tr ph n
p nh h nh ới Một m n h nh l một t p hợp Layout v wi g t ợ trí
th t Đ th hiện một m n h nh th trong h m onCr at a mỗi A tivity n ph i
ợ g i một h m l s tCont ntVi w(R.layout.main); h m n y sẽ loa giao iện từ fil XML l n ph n tí h th nh m yt o
1.5.4 Intent
L u n i gi a A tivity: ng ụng An roi th ờng ao g m nhi u A tivity mỗi A tivity ho t ộng ộ l p với nhau v th hiện nh ng ông việ kh nhau Int nt hính l ng ời a th gi p A tivity th triệu g i ũng nh truy n liệu n thiết tới một A tivity kh Đi u n y ũng gi ng nh việ i huy n qua l i
gi a Forms trong l p tr nh Windows Form
Trang 15Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 15
1.6 Các thành phần trong một project ứng dụng Android
1.6.1 AndroidManifest.xml
Trong t k một n An roi n o khi t o ra u một fil
An roi Manif st.xml fil n y ợ ùng ịnh nghĩa m n h nh s ụng quy n ũng nh giao iện ho ng ụng Đ ng thời n ũng h a thông tin v phi n
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
Trang 16Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 16
Application: h a gi trị ịnh nghĩa ho một ng ụng An roi nh i on t n
ng ụng hế ộ hi n thị giao iện…Ngo i ra n ph i khai o A tivity v
S rvi trong h ng tr nh t i y
Permission: ao g m thuộ tính hỉ ịnh quy n truy xu t v s ụng t i
nguy n a ng ụng Khi n s ụng một lo i t i nguy n n o th trong file manif st a ng ụng n ph i khai o quy n truy xu t t ng ng
SDK version: X ịnh phi n n SDK nh nh t m ng ụng hiện ang s
ụng t ng ng với một phi n n hệ i u h nh An roi m ng ụng th t ng thích
1.6.2 File R.java
File R.java l một fil t ộng sinh ra ngay khi t o ng ụng fil n y ợ s ụng qu n lý thuộ tính ợ khai o trong fil XML a ng ụng v t i nguy n h nh nh.M ngu n a fil R.java ợ t ộng sinh khi t k một s kiện
n o x y xa l m thay ổi thuộ tính trong ng ụng
C th n i fil R.java ho n to n không n ph i ụng h m g ến trong qu
tr nh x y ng ng ụng
1.6.3 Thư mục src
L vị trí h a g i lass trong ng ụng C lass th l một A tivity hoặ S rvi hoặ lớp h năng n o ợ viết ằng ngôn ng Java a tr n API ợ ung p sẵn a An roi C n ph i ít nh t một A tivity v khai o l
A tivity hính h ng tr nh th h y ợ
1.6.4 Thư mục rec
Th mụ h a t i nguy n ng ụng Th mụ n y ao g m 5 th mụ on l : drawable – hdpi, drawable – mdpi, drawable – ldpi,layout,values
Drawable – hdpi, drawable – mdpi, drawable – l pi l a th mụ ùng h a
h nh nh ợ s ụng trong qu tr nh thiết kế giao iện ng ụng ao g m i on
a ng ụng 3 th mụ t ng ng với h nh nh sẽ ợ s ụng ở a ộ ph n gi i
kh nhau l n l ợ l : ao trung nh th p Đi u n y gi p nh l p tr nh th thiết
kế giao iện ng ụng phù hợp với nhi u ộ ph n gi i m n h nh t ng thí h với nhi u
l i thiết ị
Th mụ layout h a fil xml ùng khai o v thiết kế giao iện ho một
A tivity hay một th nh ph n i u khi n on trong ng ụng An roi
Th mụ valu s g m fil xml h a gi trị huỗi m m u … Gi p ng ời
l p tr nh th ễ ng thay ổi nh ng gi trị n y trong ng ụng một h nhanh
h ng m khôn n ph i s a trong o a ng ụng
Trang 17Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 17
Chương II: Công nghệ XML và Webservice 2.1 Công nghệ XML
SGML ợ ph t minh ởi E Mosh r Ray Lori v Charl s F Gol far a
nh m IBM r s ar h v o năm 1969 khi on ng ời ặt h n l n mặt trăng L u n
t n l G n raliz Markup Languag (GML) v ợ thiết kế ùng l m
m talanguag một ngôn ng ợ ùng iễn t ngôn ng kh - văn ph m ng
v ng a h ng v.v Năm 1986 SGML ợ quan ISO (Int rnational Stan ar Organisation) thu nh n (a opt ) l m ti u huẩn l u tr v trao ổi liệu Khi Tim Berners-L tri n khai Hyp rT xt Markup Language - HTML ùng ho trang
W h i u th p ni n 1990 ông ta nhắ nhở rằng HTML l một p ụng a SGML
V SGML r t rắ r i v HTML nhi u giới h n n n năm 1996 tổ h W3C thiết kế XML XML v rsion 1.0 ợ ịnh nghĩa trong h s F ruary 1998 W3C
R omm n ation gi ng nh một Int rn t R qu st for Comm nts (RFC) l một "ti u huẩn"
2.1.2 Cấu trúc của file XML và tài liệu XML
Cấu trúc file xml
Document Prolog: l u tr m ta ata a XML g m 2 ph n l khai o XML
v khai o ki u liệu trong XML Ph n khai o XML (XML laration) ao g m thông tin v v rsion a XML hars t n o ing… Ph n khai o ki u liệu
trong XML (DTD) ùng khai o u tr a thẻ ùng trong XML
Root l m nt hay òn g i l Do um nt El m nt: h a t t ph n t v nội ung a n 1 ph n t a XML ph i thẻ mở v thẻ ng
Trang 18
Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 18
Cấu trúc tài liệu xml
G m hai ph n l u tr logi v u tr v t lý
Cấu trúc logic: Định nghĩa ph n t thuộ tính ki u liệu
Cấu trúc vật lý: Ch a liệu v ph n t h a liệu nh t xt h nh nh
m ia …
2.1.3 Đặc điểm của XML
• XML ung p một ph ng tiện ùng văn n (text) mô t thông tin v p
ụng một u tr ki u y ho thông tin
• Đ n vị sở a XML l các ký t th o ịnh nghĩa a Universal Character
Set (Bộ ký tự toàn cầu)
• C tệp XML th ùng ho nhi u lo i liệu a ph ng tiện RFC3023 ịnh nghĩa lo i "appli ation/xml" v "t xt/xml" với ý rằng liệu ợ
i u iễn ằng XML m không n i g ến ng nghĩa a liệu
• XML ợ ùng kết hợp với HTML r t h u í h ho việ trao ổi liệu v
t o ra tùy iến ho tags
2.1.4 XML và HTML
Content Markup Language Presenttation Markup Language
Cho phép ng ời s ụng ịnh nghĩa
ph n t
C ph n t ợ ịnh nghĩa sẵn
Cho phép trao ổi liệu gi a ng
Trang 19Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 19
2.1.5 Ngôn ngữ đặt tả cấu trúc
DTD (Document Type Definition)
Một DTD x ịnh ng ph p a một t i liệu XML DTD ịnh nghĩa u tr t i liệu XML ằng một t p nh ng qui tắ a ph n t ( l m nts) v thuộ tính
<!ELEMENT from (#PCDATA)>
<ATTLIST note date TYPE CDATA #REQUIRED> ]>
• <xs:element name="to" type="xs:string"/>
• <xs:element name="from" type="xs:string"/>
• <xs:element name="heading" type="xs:string"/>
• <xs:element name="body" type="xs:string"/>
• </xs:sequence>
• </xs:complexType>
• </xs:element>
2.1.6 Ưu điểm của XML
• Dễ ng x lý huy n t i v trao ổi liệu
• Mô t liệu v h th hiện liệu thông qua thẻ
• Tổ h liệu v u tr ph n p
Trang 20Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 20
• D liệu ộ l p l u i m hính a XML Do XML hỉ ùng mô t liệu ằng ng t xt n n t t h ng tr nh u th ợ XML
v th ợ g i ởi t kỳ ng ụng n o hay ị h vụ n o N th l một usin ss appli ation hay một syst m fun tion
B n th n ị h vụ n y sẽ h y tr n m y h tr n n n Int rn t h không
ph i l m y tính nh n o v y th huy n h nǎng từ m y tính nh n
l n Int rn t Ng ời s ụng th l m việ với ị h vụ thông qua t kỳ lo i m y hay ph n m m n o hỗ trợ w s rvi v truy p int rn t k thiết ị m tay Do w s rvi sẽ l m int rn t iến ổi th nh một n i l m việ h không
ph i l một ph ng tiện x m v t i nội ung
Đi u n y ũng sẽ a liệu v ng ụng từ m y tính nh n tới
m y phụ vụ a một nh ung p ị h vụ w C m y phụ vụ n y ũng n trở
th nh ngu n ung p ho ng ời s ụng v ộ an to n ộ ri ng t v kh nǎng truy
nh p
Trang 21Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 21
C m y phụ vụ ng ụng sẽ l một ph n quan tr ng a w s rvi ởi v
th ờng th m y h n y th hiện ho t ộng ng ụng ph t p a tr n s huy n giao gi a ng ời s ụng v h ng tr nh kinh oanh hay sở liệu
a một tổ h n o
Một s nh quan s t ng nh ông nghiệp n y ho rằng w s rvi không th s
l một kh i niệm mới v ph n nh một ph n không nh kh i niệm m ng m y tính v n trở n n qu n thuộ trong nhi u nǎm qua W s rvi h yếu a tr n một lời g i
th tụ từ xa không hặt hẽ m th thay thế lời g i th tụ từ xa hặt hẽ òi
h i kết n i API phù hợp ang phổ iến hiện nay Dị h vụ w s ụng XML h không ph i C hay C++ g i các quy trình
Tuy nhi n huy n gia kh l i ho rằng w s rvi l một ng API a
tr n ph n m m trung gian s ụng XML t o ph n giao iện tr n n n Java 2 (J2EE) hay s rv r ng ụng NET Gi ng nh ph n m m trung gian w service sẽ kết n i s rv r ng ụng với h ng tr nh kh h h ng
2.2.2 Một số đặt điểm cơ bản của webservice
Một w s rvi th ợ truy p thông qua w
Một w s rvi giao iện ị h vụ Giao iện n y gi p ho w s rvi th
ợ g i ởi t kỳ một ng ụng n o hay ởi w s rvi n o kh Giao iện ị h vụ
l một t i liệu XML Bởi v XML th th hiện rõ vai trò trong ông nghệ trao ổi thông tin to n ụ (glo al x hang t hnology) ợ h p nh n ởi ph n lớn ông nghệ hiện nay
C Dị h vụ w ùng giao th ti u huẩn w giao tiếp không nh COM RMI hay CORBA XML ợ ùng trao ổi thông tin gi a h ng tr nh ng ụng v ị h vụ
2.2.3 Phân loại webservice
Service có hai loại :
Dị h vụ ng ụng v ị h vụ hệ th ng (Appli ation an Syst m S rvi ) Một Appli ation S rvi th hiện một h nh ộng a us r nh uyệt th mail hay ki m tra
tỷ s h i o i… Một Syst m S rvi th hiện y u u a kiến tr hệ th ng v s qu n
lý nh o m t l u tr v hịu lỗi qu n lý transa tion hay messaging
Một ị h vụ hai ặ i m hính : Int rfa v R gistration S ụng Int rfa một ị h vụ th ợ g i từ một h ng tr nh kh Một s rvi ợ ăng ký trong một r gistry
C ví ụ v ông nghệ li n quan ến hệ th ng h ớng ị h vụ (s rvi -oriented system) là Remote Method Invocation (RMI), Jini, CORBA và Distributed Computing Environment (DCE)