XÂY DỰNG ỨNG DỤNG TRA CỨU TÀU, XE TRÊN HỆ ĐIỀU HÀNH ANDROID - Pdf 25

I HM TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
LÊ ANH TOÀN
TRẦN CÔNG MINH
XÂY DỰNG ỨNG DỤNG
TRA CỨU TÀU, XE TRÊN
HỆ ĐIỀU HÀNH ANDROID KHÓA LUẬN TỐT NGHIỆP

TP.H CHÍ MINH -  1



XÂY DỰNG ỨNG DỤNG
TRA CỨU TÀU, XE TRÊN
HỆ ĐIỀU HÀNH ANDROID

CHUYÊN NGÀNH: CÔNG NGHỆ PHẦN MỀM
KHÓA LUẬN TỐT NGHIỆP
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. TRẦN NGỌC BẢO
2

LỜI CẢM ƠN
Trong thi gian thc hin lui s ng dn ca Khoa Công Ngh Thông
i Hc bit là s ng dn ca thy Trn Ngc
Bi th kic kt qu y
chúng em xin chân thành gi ln :

 14
PHN 1: TÌM HIU V K THUT LP TRÌNH TRÊN ANDROID 16
1  tin hành lp trình trong Android 16
1.1. Java Runtime Environment (JRE) 16
1.2. Eclipse IDE 16
1.3. Android SDK 16
1.4. Android ADT 17
2 K thut lp trình vu khin 17
2.1. ListView 17
2.1.1. Yêu ct ra 17
2.1.2. Gii quyt 18
2.2. GridView 18
2.2.1. Yêu ct ra 18
2.2.2. Gii quyt 18
2.3. Spinner View, DatePicker 19
2.3.1. Yêu ct ra 19
2.3.2. Gii quyt 19
2.4. TabHost View 20
2.4.1. Yêu ct ra 20
2.4.2. Gii quyt 21
2.5. Gallery và ImageView 21
2.5.1. Yêu ct ra 21
2.5.2. Gii quyt 22 4

3 K thut lp trình vi SQLite 22
3.1. Gii thiu 22
3.2. Ví d minh ha 24





 32
6.2  c t yêu cu 33
7 Phân tích, thit k 46
7.1. Mô hình thc th kt hp (CDM) 46
7.1.1. Thc th Hang 47
7.1.2. Thc th PhuongTien 47
7.1.3. Thc th LoaiPhuongTien 47
7.1.4. Thc th Phim 48
7.1.5. Thc th HinhAnh 48 5

7.1.6. Thc th DiaDiem 48
7.1.7. Thc th Tuyen 48
7.1.8. Thc th TrungGian 49
7.1.9. Thc th LoaiGhe 49
7.1.10. Thc th Gia 49
7.1.11. Thc th DoiTuong 50
7.1.12. Thc th KhuyenMai 50
7.1.13. Mi kt hp ChiTietTuyen 50
7.1.14. Mi kt hp ChiTietViTri 51
7.2. Mô hình vt lý (PDM) 51
7.2.1. Bng Hang 53
7.2.2. Bng Phim 53
7.2.3. Bng LoaiPhuongTien 54

9.2. ng phát trin 111
TÀI LIU THAM KHO 112
PH LC: MÃ NGUN PHN MINH HA K THUT 113
1 K thut lp trình vu khin 113
1.1 ListView 113
1.1.1 Xây dng giao din 113
1.1.2 Xây dng x lý 115
1.2 GridView 117
1.2.1 Xây dng giao din 117
1.2.2 Xây dng x lý 118
1.3 Spinner View, DatePicker 121
1.3.1 Xây dng giao din 121
5.3.2. Xây dng x lý 123
1.4 TabHost View 126
1.4.1 Xây dng giao din 126
1.4.2 Xây dng x lý 128
1.5 Gallery và ImageView 128 7

1.5.1 Xây dng giao din 128
1.5.2 Xây dng x lý 129
2 K thut lp trình vi SQLite 131
2.1 Xây dng giao din 131
2.2 Xây dng x lý 136
3. K thut lp trình vi Web Service 144
3.1 Xây dng giao din 144
3.2 Xây dng x lý 148
4. Demo lp trình phát audio, video 153

AVD Manager
Giao din qun lý cu hình thit b Android o
3G
Mng 3G là th h th ba ca chun công ngh
n thong, cho phép truyn c d liu thoi và
d liu ngoài thoi (ti d liu, gi email, tin nhn
nhanh, hình nh )
HTML
HTML - Hyper Text Markup Language, là ngôn
ng c thit k  to nên
các trang web
IDE
IDE - Integrated Development Environment, còn
gi là mng phát trin tích hp
iOS
H u hành trên các thit b  ng ca hãng
Apple
Java Runtime
Environment
Là thành phn ca b công c phát trin, h tr
phát trin ng dng Java
KSOAP2
 viên h tr gi Web Service dng SOAP trên
Android
SD Card
Mt dng th nh ca thit b ng
SDK
SDK - Software Development Kit là b công c
phát trin ng dng phn mm
SOAP

Bng 7.1 - Mô t thc th Hang 47
Bng 7.2 - Mô t thc th PhuongTien 47
Bng 7.3 - Mô t thc th LoaiPhuongTien 47
Bng 7.4 - Mô t thc th Phim 48
Bng 7.5 - Mô t thc th HinhAnh 48
Bng 7.6 - Mô t thc th DiaDiem 48
Bng 7.7 - Mô t thc th Tuyen 49
Bng 7.8 - Mô t thc th TrungGian 49
Bng 7.9 - Mô t thc th LoaiGhe 49
Bng 7.10 - Mô t thc th Gia 50
Bng 7.11 - Mô t thc th DoiTuong 50
Bng 7.12 - Mô t thc th KhuyenMai 50
Bng 7.13 - Mô t thc th ChiTietTuyen 50
Bng 7.14 - Mô t thc th ChiTietViTri 51
Bng 7.15 - Mô t bng Hang 53
Bng 7.16 - Mô t bng Phim 53
Bng 7.17 - Mô t bng LoaiPhuongTien 54 10

Bng 7.18 - Mô t bng ChiTietHang 54
Bng 7.19 - Mô t bng PhuongTien 54
Bng 7.20 - Mô t bng HinhAnh 55
Bng 7.21 - Mô t bng KhuyenMai 56
Bng 7.22 - Mô t bng Gia 56
Bng 7.23 - Mô t bng ChiTietViTri 57
Bng 7.24 - Mô t bng LoaiGhe 58
Bng 7.25 - Mô t bng Tuyen 58
Bng 7.26 - Mô t bng TrungGian 59

Hình 4.2 - Mô hình kt ni g





 27
Hình 4.3 - Hình minh ha vin KSOAP2 vào ng dng 28
Hình 5.1 - Minh ha 

 31
Hình 6.1 - Kin trúc ng dng tra cu thông tin tàu xe 32
Hình 6.2 -  use case ci dùng cui 34
Hình 6.3 -  use case ci qun tr h thng tàu, xe 38
Hình 6.4 - Quy trình x lý nghip v tra cu gi tàu, xe trên thit b ng 41
Hình 6.5 - Quy trình x lý nghip v tra cu l trình tàu, xe trên thit b ng 41
Hình 6.6 - Quy trình x lý nghip v tra cu giá vé tàu, xe trên thit b ng 42
Hình 6.7 - Quy trình x lý nghip v tra cu trên nn web 43
Hình 6.8 - Quy trình x lý nghip v nhp liu trên web server 44
Hình 6.9 - Quy trình x lý nghip v phân quyn 45
Hình 7.1 -  CDM 46
Hình 7.2 -  vt lý PDM 52
Hình 7.3 - Giao din trang tra cu 62
Hình 7.4 - Giao din kt qu khi không cung cp lon và hãng 63
Hình 7.5 - Giao din kt qu tra cu khi cung cp thông tin hãng vn chuyn 63
Hình 7.6 - Giao din kt qu tra cu khi cung cp thông tin lon 64
Hình 7.7 - Giao din kt qu khi cung cp lo tin và hãng 64 12


13

Hình 7.36 - Activity biu din use case nhp liu 90
Hình 7.37 - Giao din danh mc hình i vng khác 91
Hình 7.38 - Activity biu din use case nhp liu 92
Hình 7.39 - Giao din danh mi vi nhân viên h thng 93
Hình 7.40 - Activity biu din use case nhp liu 94
Hình 7.41 - Giao din danh mi vng khác 95
Hình 7.42 - Activity biu din use case nhp liu 96
Hình 7.43 - Giao din danh mc loi gh 96
Hình 7.44 - Giao din danh mng 97
Hình 7.45 - Giao din danh mc lon 97
Hình 7.46 - Giao din danh mc khuyn mãi 98
Hình 7.47 - Giao din danh mc nhóm ch 98
Hình 7.48 - Giao din màn hình chính ng dng 99
Hình 7.49 - Giao dic s tra cu 99
Hình 7.50 - Activity biu dic s tra cu 100
Hình 7.51 - Giao din màn hình Gii thiu 101
Hình 7.52  Giao ding dn s dng 101
Hình 7.53  Giao din màn hình tra cu 102
Hình 7.54 - Activity biu din Use case tra cu tàu, xe 103
Hình 7.55 - Giao din 104
Hình 7.56 - Giao din màn hình th hin gi chy tàu, xe 104
Hình 7.57 - Activity biu din Use case xem gi chy tàu, xe 105
Hình 7.58 - Giao din màn hình th hin l trình 106
Hình 7.59 - Activity biu din Use case xem l trình tàu, xe 106
Hình 7.60 - Giao din màn hình th hin giá vé 107
Hình 7.61 - Activity biu din Use case xem giá vé tàu, xe 108
Hình 7.62 - Giao din màn hình th hin l trình trên b 109

Dân s trung bình c c tính 87,84 trii (Tng cc Thng
kê), nhu ci vào các dp l, tng rt lu thông tin v giá vé 15

tàu, xe tng rt ln thông tin cung cp lng rt ít. Hin nay  trong
   t s ng dng tra c     n xe buýt (ng dng
c xây d ng nhu ci vi xe buýt. Tuy nhiên, các ng
dng tra cu thông tin v xe khách, tàu l Vit Nam trên các thit b 


minh dùng h u hành Android vc quan tâm và phát tric. Vì
nhng lý do trên mà chúng em quyu, tìm hiu k thut lp trình
trên Andr xây dng mt ng dng tra cu thông tin v tàu, xe trên thit b ng
s dng h u hành mã ngun m Android.
 tài ca nhóm ch yn hai v 
 Mt là, xây dng ng dng tra cu thông tin các hãng tàu, xe trên
Android có các ch
- Cho phép tra cu thông tin gi chy, l trình, giá vé v
i dùng cung cp.
- Cho phép chia s thông tin tra cu thông qua các ng d 
SMS, Facebook, Gmail.
- Cho phép xem lc s các tra cu gn t ci dùng
 Hai là, xây dng mt web server h tr cho vic nhp liu các thông tin
v các hãng tàu, xe. Bên cc h tr l trang web dng HTML ca
hãng , xe.









, xe































PHẦN 1: TÌM HIỂU VỀ KỸ THUẬT LẬP TRÌNH TRÊN
ANDROID
1 Các bƣớc để tiến hành lập trình trong Android
Không giy h u hành Android có th hoc trên
hu ht các nn tng t Windows, Linux và Mac. Do vy, hu ht các h u hành và cu
hình máy tính hin nay u có th ti v và s dng c b công c lp trình lp trình
này. Thêm na, các nn tng và các b công c lp trình cu min phí. Do
n có th ti v trc tip các b công c lp trình này trên trang ch ca
i phát hành.  có th bt u lp trình trên h u hành Android, mt s phn
mm sau s cn phi c t :
1.1. Java Runtime Environment (JRE)
B JRE giúp làm nn t chy các ng dng trên h u hành Android. Ti thi
m hin ti thì b Java Platform mi nht là JRE 7. Chúng ta có th vào trang
 ti v t theo
ng dn mnh mà phn m tránh nhn
các tc sau này khi lp trình.
1.2. Eclipse IDE
ng h tr lp trình Java rt tt và tin li. Ti thm này thì bn
Eclipse mi nht là phiên bn INDIGO i dùng có th vào trang :
và tùy theo h u hành s dng mà ti v bn
Eclipse Classic phù hp cho mình. Sau khi ti v, vic cn làm ch là gic
va ti v và khng Eclipse. (Eclipse ch chc t).

1.3. Android SDK

 thc hin vic gn kt d liu
khin ListView.
 c 2: xây dng mt lp tha k t l   hin th
ListView. Thông qua hàm setListAdapt  d liu và hin th lên ListView. Ngoài
 thit lp x lý khi chn mt mc tin, ta dùng hàm onListItemClick(). Chi tit xin
xem thêm trong phn Ph lc mc 1.1.
2.2. GridView
2.2.1. Yêu cầu đặt ra
S du khin GridView xây dng giao din màn hình ca ng d

Hình 2.2 - Giao diu khin GridView
2.2.2. Giải quyết
 thc hic yêu cu trên, chúng ta s thc hic chính sau : 19

 c 1: xây dng lp tha k t lp BaseAdapter và np chng các hàm
 thc hin vic gn kt d liu
khin GridView.
 c 2: xây dng mt lp tha k t l hin th GridView.
  d liu và hin th lên G thit lp
x lý khi chn mt mc tin, ta thit lp setOnItemClickListener() cho GridView và hin
thc hàm onItemClick(). Chi tit xin xem thêm trong phn Ph lc mc 1.2.
2.3. Spinner View, DatePicker
2.3.1. Yêu cầu đặt ra
S du khin Spinner và DatePicker xây dng giao din tra cu thông tin tàu,
i dùng chn ngày tra cu, hp thoi DatePicker s c hin th cho phép
thit lp ngày tháng và chn, lon, hãng vn chuyn qua
Spinner. Giao di gi:

 nh n tab trong t  o mt lp
tha k t l hin th giao di
            u khin
TabHost. Ta có th ch nh ni dung hin th và bing hình n) ca tab
lt thông qua hàm setContent() và setIndicator().
 c 3: s dng ln màn hình tra cu thông tàu, xe
liên kt vu khin TabHost. Chi tit xin xem thêm trong
phn Ph lc mc 1.4.
2.5. Gallery và ImageView
2.5.1. Yêu cầu đặt ra
S d u khin Gallery và ImageView xây dng ch    i
dùng xem danh sách hình n vn chuyi dùng chn các mc
hình  c hin th  kích c l trên ImageView.
Giao di

Hình 2.5 - Giao diu khin Gallery và ImageView 22

2.5.2. Giải quyết
 thc hic yêu cu trên, chúng ta s thc hic chính sau :
 c 1: xây dng lp tha k t lp BaseAdapter và np chng các hàm
 thc hin vic gn kt hình u
khin Gallery.
 c 2: xây dng mt lp tha k t l hin th Gallery.
Thông qua hàm setAdapter()  hình nh và hin th  thit lp x
lý khi chn mt mc hình nh ta thit lp hàm setOnItemClickListener() cho Gallery và
hin thc hàm onItemClick(). Chi tit xin xem thêm trong phn Ph lc mc 1.5
3 Kỹ thuật lập trình với SQLite

 onUpgrade() có 3 tham s truyn vào lng thuc lp
SQLiteDatabase, s ch phiên b ch phiên bn mi c d lic dùng
 cp nh d liu.
 getReadableDatabase() tr v m
m m d liu (ch c, không ghi).
 getWriteableDatabase() tr v m
m m d liu (cho phép ghi).
 thc hin vic truy vn, thêm, xóa, sa d liu ta dùng lp SQLiteDatabase. Mt
s ng dùng ca lp này :
 Hàm query() có 7 tham s lt và kt qu tr v ng Cursor.
Ta cn dùng mt s  t trên dòng d limo dch chuyn
n dòng cun dòng tip theo
dòng hin tc dòng hin ti, getCount() ly s ng
dòng. 

7 :
- String table: tên ca bng s c thc hin truy vn.
- String[] columns: danh sách các ct cn ly. N ly tt c
các ct.
- String u kin lc. N ly tt c.
- String[] selectionArgs : danh sách các giá tr  thay th 
trong tham s selection.
- u kinh d 
GROUP BY trong SQL.
- iu kin lnh dng
  HAVING trong SQL.
- String orderBy: sp xnh d  ORDER
BY trong SQL.
 Hàm insert() có 3 tham s và giá tr tr v là mã ca dòng mi nht
c chèn, nu tht bi tr v -1.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status