Android là một hệ điều hành mã nguồn mở được phát triển dựa trên nhân
Linux. Trong một hai năm trở lại đây, sự phát triển của Android đã có những bước
phát triển mạnh mẽ và dần chiếm cảm tình của người dùng. Do có lợi thế là được
xây dựng theo tiêu chí mở nên việc phát triển ứng dụng trên Android được cho là
khá dễ dàng. Tuy nhiên, nguồn tài liệu để lập trình được ứng dụng chạy trên
Android khá là rời rạc và chưa có sự sắp xếp và tổ chức tốt. Chính vì thế mà cuốn
Phụ lục này được viết ngoài mục đích hỗ trợ cho Khóa luận “Tìm hiểu Hệ điều
hành Android và xây dựng ứng dụng minh họa” còn có mục đích cao hơn đó là
cung cấp những cái nhìn cơ bản nhất, chung nhất giúp cho người đọc có thể dễ dàng
nắm bắt, học hỏi cách thức vận hành cũng như phát triển ứng dụng trên hệ điều
hành nhiều tiềm năng này.
Do thời gian thực hiện đề tài khá ngắn cho nên việc thiếu sót trong khi viết
phần Phụ lục này là một điều không thể tránh khỏi. Nhóm chúng em rất mong được
sự góp ý từ Thầy Cô và các Bạn. Nhóm chúng em xin chân thành cảm ơn
286 trang |
Chia sẻ: oanhnt | Lượt xem: 2027 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
VÕ THÀNH NHẬT – PHAN THÀNH TRUNG
TÌM HIỂU HỆ ĐIỀU HÀNH ANDROID VÀ
XÂY DỰNG ỨNG DỤNG MINH HỌA
- PHỤ LỤC -
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
TP.HCM, 2010
2
LỜI GIỚI THIỆU
Android là một hệ điều hành mã nguồn mở được phát triển dựa trên nhân
Linux. Trong một hai năm trở lại đây, sự phát triển của Android đã có những bước
phát triển mạnh mẽ và dần chiếm cảm tình của người dùng. Do có lợi thế là được
xây dựng theo tiêu chí mở nên việc phát triển ứng dụng trên Android được cho là
khá dễ dàng. Tuy nhiên, nguồn tài liệu để lập trình được ứng dụng chạy trên
Android khá là rời rạc và chưa có sự sắp xếp và tổ chức tốt. Chính vì thế mà cuốn
Phụ lục này được viết ngoài mục đích hỗ trợ cho Khóa luận “Tìm hiểu Hệ điều
hành Android và xây dựng ứng dụng minh họa” còn có mục đích cao hơn đó là
cung cấp những cái nhìn cơ bản nhất, chung nhất giúp cho người đọc có thể dễ dàng
nắm bắt, học hỏi cách thức vận hành cũng như phát triển ứng dụng trên hệ điều
hành nhiều tiềm năng này.
Do thời gian thực hiện đề tài khá ngắn cho nên việc thiếu sót trong khi viết
phần Phụ lục này là một điều không thể tránh khỏi. Nhóm chúng em rất mong được
sự góp ý từ Thầy Cô và các Bạn. Nhóm chúng em xin chân thành cảm ơn.
Tp. Hồ Chí Minh, tháng 03 năm 2010
Nhóm sinh viên thực hiện
Võ Thành Nhật – Phan Thành Trung
3
MỤC LỤC
MỤC LỤC .............................................................................................................. 3
DANH MỤC CÁC HÌNH ...................................................................................... 9
Phụ lục A Cuộc thăm dò hệ điều hành Android khuấy động thị trường
smart phone 19
Phụ lục B Những thống kê thú vị về Google Android trong những năm gần
đây (theo iTech.vn ngày 25/01/2010)....................................................................24
B.1 Những thống kê từ Google ...................................................................... 24
B.2 Những thông tin đáng chú ý .................................................................... 26
B.3 Báo cáo của Admob ................................................................................ 26
B.4 Báo cáo của Myxer ................................................................................. 28
Phụ lục C Danh sách các công ty trong Hiệp hội các thiết bị cầm tay mở .....29
Phụ lục D Các smart phone dùng hệ điều hành Android ...............................32
Phụ lục E So sánh các hệ điều hành hiện có trên smart phone ......................35
Phụ lục F Hai HĐH smartphone Android và iPhone tăng trưởng nhanh
nhất 39
Phụ lục G Lập trình trên Android ...................................................................41
G.1 Tổng quan Android ................................................................................. 41
G.1.1 Định nghĩa Android ......................................................................... 41
G.1.2 Tính năng và kiến trúc Android ........................................................ 41
G.2 Giới thiệu Java SE JDK, Android SDK , ADT, Eclipse và các bước cài đặt
44
G.2.1 Giới thiệu Java SE JDK, Android SDK, ADT, DDMS, Eclipse và mối
liên hệ giữa chúng .......................................................................................... 44
G.2.2 Các bước cài đặt để lập trình Android .............................................. 50
G.2.3 Các điều lưu ý sau khi cài đặt ........................................................... 64
G.3 Bước đầu làm quen với Android qua project HelloNhatTrungApp .......... 67
4
G.3.1 Các bước tạo project HelloNhatTrungApp ...................................... 67
G.3.2 Cấu trúc của một project Android .................................................... 85
G.4 Làm quen với các khung nhìn trên Eclipse qua cái nhìn trên Android
project ................................................................................................................ 87
G.4.1 Khung nhìn Java .............................................................................. 87
G.4.2 Khung nhìn DDMS .......................................................................... 99
G.4.3 Tìm hiểu Debug ............................................................................. 104
G.5 Làm quen với nền tảng ứng dụng Android ............................................ 108
G.5.1 Các thành phần ứng dụng ............................................................... 109
G.5.2 Activities và Tasks ......................................................................... 114
G.5.3 Tiến trình và luồng ......................................................................... 115
G.5.4 Vòng đời các thành phần ứng dụng Android .................................. 115
G.6 Làm quen với các công cụ hỗ trợ sẵn có của Android SDK ................... 125
G.6.1 Android Development Tools Plugin (ADT) ................................... 125
G.6.2 Dalvik Debug Monitor Service (DDMS) ........................................ 126
G.6.3 Hierarchy Viewer ........................................................................... 128
G.6.4 Draw 9-patch ................................................................................. 130
G.6.5 Android Debug Bridge (ADB) ....................................................... 134
G.6.6 Các công cụ hỗ trợ khác ................................................................. 136
Phụ lục H Các vấn đề cơ bản trong lập trình Android ................................. 137
H.1 Các vấn đề và khái niệm cơ bản trong lập trình giao diện ...................... 137
H.1.1 Giới thiệu lập trình giao diện trên Android và các tính năng của nó 137
H.1.2 Các từ khóa thường gặp trong lập trình giao diện ........................... 141
H.1.3 Các đơn vị tính trên giao diện ........................................................ 142
H.1.4 Các thuộc tính thường gặp trên các View ....................................... 143
H.1.5 Tổng quát các View dưới cái nhìn hướng đối tượng ....................... 144
H.1.6 Cách thức xây dựng và thiết kế giao diện ....................................... 149
H.1.7 Cách thao tác control trên Java code .............................................. 152
H.2 Lập trình với giao diện cơ bản ............................................................... 153
5
H.2.1 Các điều khiển chứa điều khiển khác (layout) ................................ 153
H.2.2 Các điều khiển thông dụng ............................................................. 164
H.3 Các chú ý khi lập trình giao diện ........................................................... 166
Phụ lục I Lập trình theo từng chủ đề ........................................................... 167
I.1 Lập trình giao diện tùy biến với Adapter ............................................... 167
I.1.1 Giới thiệu sơ lược BaseAdapter và các lớp con của nó ....................... 167
I.1.2 Dùng Adapter trên Spinner ................................................................ 168
I.1.3 Dùng Adapter trên Gallery................................................................. 170
I.1.4 Dùng Adapter trên ListView cơ bản .................................................. 173
I.1.5 Dùng Adapter trên ListView nâng cao ............................................... 175
I.1.6 Dùng Adapter trên GridView cơ bản ................................................. 177
I.1.7 Dùng Adapter trên GridView nâng cao .............................................. 179
I.1.8 Kinh nghiệm lập trình với Adapter .................................................... 182
I.2 Lập trình với hoạt cảnh chuyển động (Animation)................................. 183
I.2.1 Giới thiệu lập trình với Animation ..................................................... 183
I.2.2 Lập trình với TweenAnimation .......................................................... 184
I.2.3 Lập trình với FrameByFrameAnimation ............................................ 189
I.3 Lập trình với Media............................................................................... 191
I.3.1 Giới thiệu .......................................................................................... 191
I.3.2 Lập trình phát âm thanh trên Android ................................................ 193
I.3.3 Lập trình phát Video trên Android ..................................................... 193
I.3.4 Nhận xét ............................................................................................ 194
I.4 Lập trình với thao tác Telephony ........................................................... 195
I.4.1 Giới thiệu .......................................................................................... 195
I.4.2 Thực hiện gọi điện thoại tới một số cho trước .................................... 195
I.4.3 Thực hiện gửi tin nhắn SMS .............................................................. 197
I.4.4 Thực hiện chức năng rung điện thoại ................................................. 198
I.5 Lập trình với luồng (Thread) ................................................................. 198
I.5.1 Giới thiệu luồng ................................................................................. 198
6
I.5.2 Các đặc tính và cách thức vận hành luồng ......................................... 199
I.5.3 Lập trình luồng .................................................................................. 200
I.6 Lập trình với thực đơn (Menu) .............................................................. 202
I.6.1 Giới thiệu thực đơn ............................................................................ 202
I.6.2 Cách thức lập trình ............................................................................ 203
I.6.3 Nhận xét ............................................................................................ 212
I.7 Lập trình với kiểu chữ (Font) ................................................................ 212
I.7.1 Giới thiệu .......................................................................................... 212
I.7.2 Cách lập trình .................................................................................... 213
I.7.3 Nhận xét ............................................................................................ 214
I.8 Lập trình với khung thoại (Dialog) ........................................................ 214
I.8.1 Giới thiệu .......................................................................................... 214
I.8.2 Cách thức lập trình ............................................................................ 215
I.9 Lập trình với nhập xuất tập tin............................................................... 220
I.9.1 Giới thiệu .......................................................................................... 220
I.9.2 Preferences ........................................................................................ 221
I.9.3 Files ................................................................................................... 222
I.9.4 Databases .......................................................................................... 226
I.9.5 Network............................................................................................. 231
I.10 Lập trình với MapView ......................................................................... 233
I.10.1 Giới thiệu ....................................................................................... 233
I.10.2 Cách thức lập trình ......................................................................... 235
I.10.3 Nhận xét ........................................................................................ 239
I.11 Lập trình thao tác WebKit ..................................................................... 239
I.11.1 Giới thiệu ....................................................................................... 239
I.11.2 Cách thức lập trình ......................................................................... 240
I.11.3 Nhận xét ........................................................................................ 241
I.12 Lập trình với các widget khác ............................................................... 241
I.12.1 Widget Date/Time .......................................................................... 241
7
I.12.2 Widget Tab .................................................................................... 242
Phụ lục J Lập trình với EndlessList ............................................................. 245
J.1 Giới thiệu .............................................................................................. 245
J.2 Cách thức tạo EndlessList ..................................................................... 246
J.2.1 Cách thức vận hành của EndlessList: ................................................. 246
J.2.2 Cách thức lập trình tạo EndlessList .................................................... 247
J.3 Nhận xét ................................................................................................ 250
Phụ lục K Cấu trúc và ý nghĩa các thành phần của một project Android ... 251
Phụ lục L Hướng dẫn sử dụng, thao tác chính trên chương trình
eSaleShopping ..................................................................................................... 253
L.1 Sơ đồ liên kết các màn hình chức năng trong ứng dụng eSaleShopping . 253
L.2 Giới thiệu chức năng của màn hình chính .............................................. 254
L.2.1 Các chức năng trên màn hình chính ................................................ 254
L.2.2 Thực đơn (menu) chức năng của màn hình chính ........................... 255
L.3 Thao tác trên màn hình chụp mã vạch ................................................... 256
L.3.1 Sử dụng chức năng chụp mã vạch .................................................. 256
L.3.2 Các chức năng thực hiện sau khi chụp được mã vạch hàng hóa ...... 259
L.4 Thao tác trên màn hình tìm theo danh mục hàng hóa ............................. 262
L.5 Thao tác trên màn hình tìm theo chuỗi .................................................. 264
L.6 Thao tác trên màn hình tìm theo hệ thống siêu thị ................................. 265
L.6.1 Thao tác chính................................................................................ 265
L.6.2 Thao tác trên các chức năng trên một siêu thị được chọn ................ 267
L.6.3 Tìm hàng hóa siêu thị theo chuỗi .................................................... 269
L.6.4 Tìm hàng hóa siêu thị theo mã vạch ............................................... 269
L.6.5 Tìm hàng hóa siêu thị theo danh mục ............................................. 270
L.7 Thao tác quản lý danh sách hàng hóa ưa thích ....................................... 270
L.8 Thao tác quản lý danh sách hàng hóa cần mua ...................................... 271
L.8.1 Thao tác thêm hàng cần mua .......................................................... 272
8
L.8.2 Thao tác xóa hàng cần mua ............................................................ 272
L.8.3 Thao tác gửi tin nhắn hàng cần mua ............................................... 273
Phụ lục M Các cấu trúc, mã lệnh, ứng dụng tham khảo được sử dụng
trong ứng dụng eSaleShopping .......................................................................... 275
M.1 Bộ gõ Tiếng Việt IME ........................................................................... 275
M.2 Chụp mã vạch hàng hóa (barcode)......................................................... 276
M.3 Ứng dụng bản đồ và vị trí ...................................................................... 279
M.3.1 Các tham số Google Map hỗ trợ tìm kiếm đường đi ....................... 279
M.3.2 Thể hiện đường đi trên bản đồ Google Map ................................... 280
M.3.3 Cách thức tìm vị trí thiết bị thông qua GPS hoặc mạng .................. 281
M.4 Ứng dụng EndlessList ........................................................................... 282
M.4.1 Giải pháp của M.Murphy ............................................................... 282
M.4.2 Giải pháp của Evan Charlton .......................................................... 283
M.5 Mã nguồn android-misc-widgets ........................................................... 284
M.5.1 Hiệu ứng hoạt cảnh ........................................................................ 285
M.5.2 Các widget mới .............................................................................. 285
9
DANH MỤC CÁC HÌNH
Hình phụ lục 1 Hệ Điều Hành Android Của Google - Phần trăm người dự định mua
smart phone dùng hệ điều hành Android trong vòng 90 ngày tới (theo
ChangeWave) ................................................................................................. 19
Hình phụ lục 2 Ứng Tỉ lệ số người dùng dự định mua smart phone dùng hệ điều
hành giữa đợt thăm dò 09/2009 và 12/2009 (theo ChangeWave) .................... 20
Hình phụ lục 3 Tỉ lệ người dùng smart phone trong đợt thăm dò tháng 12/2009
(theo ChangeWave) ........................................................................................ 21
Hình phụ lục 4 Biểu đồ số người mua smart phone trong vòng 90 ngày tới thì nhà
sản xuất smart phone nào dự định mua giữa đợt thăm dò tháng 9/2009 và
12/2009 (theo ChangeWave) .......................................................................... 22
Hình phụ lục 5 Mức Độ Hài Lòng Dựa Trên Hệ Điều Hành Trong Đợt Thăm Dò
Tháng 12/2009 (theo ChangeWave) ............................................................... 23
Hình phụ lục 6 Dữ liệu thống kê trong 2 tuần cuối từ ngày 4/1/2010 ..................... 25
Hình phụ lục 7 Thống kê so sánh ba phiên bản hệ điều Android giữa hai thời điểm
17/12/2009 và 04/01/2010 .............................................................................. 25
Hình phụ lục 8 Thị phần các hệ điều hành trên smart phone theo từng khu vực ..... 26
Hình phụ lục 9 Thị phần hệ điều hành trên toàn thế giới ........................................ 27
Hình phụ lục 10 Biểu đồ cạnh tranh giữa iPhone và Android từ 01/01/2009 đến
01/12/2009 ..................................................................................................... 28
Hình phụ lục 11 Kiến trúc Android theo từng tầng (nguồn developer.Android.com)
....................................................................................................................... 42
Hình phụ lục 12 Trang web tải về Java SE trên Windows ...................................... 46
Hình phụ lục 13 Mục Eclipse cần tải về để làm IDE cho phát triển Android .......... 47
Hình phụ lục 14 Mục cần tải về ADT (nguồn developer.Android.com) ................. 49
Hình phụ lục 15 Biểu diễn trình tự và quan hệ giữa Java SE, Android SDK, ADT và
Eclipse. .......................................................................................................... 49
Hình phụ lục 16 Mục Android SDK cần tải về để dùng trên Windows .................. 50
Hình phụ lục 17 Lựa chọn mục Java SE (JDK) 6 ................................................... 51
10
Hình phụ lục 18 Lựa chọn tải về bản JDK mới nhất............................................... 51
Hình phụ lục 19 Chọn lựa phiên bản JDK phù hợp với máy trạm .......................... 52
Hình phụ lục 20 Lựa chọn nơi lưu trữ tập tin JDK về máy ..................................... 52
Hình phụ lục 21 Chấp nhận điều khoản sử dụng JDK và tiến hành cài đặt ............. 53
Hình phụ lục 22 Lựa chọn đường dẫn để cài đặt bộ JDK ....................................... 53
Hình phụ lục 23 Mục lựa chọn bản Eclipse phù hợp với hệ thống .......................... 54
Hình phụ lục 24 Lựa c