Luận Văn Tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    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 chọn thư mục lưu trữ bộ Eclipse . 54
    Hình phụ lục 25 Giải nén bộ IDE Eclipse 55
    Hình phụ lục 26 Chọn Work space để làm việc khi khởi động Eclipse . 55
    Hình phụ lục 27 Mục chọn để cập nhật thêm phần mềm mới vào Eclipse 56
    Hình phụ lục 28 Chọn đường dẫn để đồng bộ bản ADT từ Google 56
    Hình phụ lục 20 Lựa chọn các plug-in cần cài đặt vào Eclipse . 57
    Hình phụ lục 30 Lựa chọn tập tin ADT.zip để cập nhật vào Eclipse 58
    Hình phụ lục 31 Chọn đường dẫn tới tập tin ADT.zip 58
    Hình phụ lục 32 Chọn cập nhật đường dẫn tới bộ Android SDK trên Eclipse 59
    Hình phụ lục 33 Trình đơn quản lý các bộ Android SDK và máy ảo 60
    Hình phụ lục 34 Mục quản lý các thiết bị Android ảo 61
    Hình phụ lục 35 Mục cập nhật các gói hỗ trợ lập trình Android mới nhất từ Google . 61
    Hình phụ lục 36 Hình minh họa cho việc cập nhật một gói hỗ trợ mới nhất từ Google . 62
    Hình phụ lục 37 Mục tạo mới một diện thoại Android ảo 63
    Hình phụ lục 38 Thư mục chứa bộ Android SDK 65
    Hình phụ lục 39 Các thư mục bên trong bộ Android SDK . 66
    Hình phụ lục 40 Mục tạo mới một project Android 67
    Hình phụ lục 41 Các thông số cần quan tâm khi thiết lập một project Android mới . 68
    Hình phụ lục 42 Khung ứng dụng của HelloNhatTrungApp 71
    Hình phụ lục 43 Màn hình thiết kế giao diện cho Android . 72
    11
    Hình phụ lục 44 Màn hình hiện nút nhấn xóa TextViews 73
    Hình phụ lục 45 Màn hình hiện nút thêm TextView 73
    Hình phụ lục 46 Màn hình thêm mới một widget vào giao diện . 74
    Hình phụ lục 47 Màn hình chọn thêm mới một EditText . 75
    Hình phụ lục 48 Màn hình thêm mới một LinearLayout 75
    Hình phụ lục 49 Màn hình thêm một Button 76
    Hình phụ lục 50 Màn hình giao diện hoàn chỉnh 77
    Hình phụ lục 51 Các thẻ XML tạo nên giao diện ứng dụng HelloNhatTrungApp 77
    Hình phụ lục 52 Màn hình thông báo lỗi mã hóa chuỗi khi lưu Tiếng Việt 79
    Hình phụ lục 53 Màn hình chọn thuộc tính của một project . 80
    Hình phụ lục 54 Màn hình lựa chọn thuộc tính mã hóa ký tự . 81
    Hình phụ lục 55 Màn hình chạy một ứng dụng Android từ Eclipse 82
    Hình phụ lục 56 Màn hình minh họa trạng thái chạy cũa một ứng dụng . 83
    Hình phụ lục 57 Màn hình đợi ứng dụng xử lý xong 83
    Hình phụ lục 58 Màn hình thao tác xử dụng ứng dụng HelloNhatTrungApp . 84
    Hình phụ lục 59 Màn hình giao diện chính của Android 2.1 84
    Hình phụ lục 60 câu trúc ứng dụng Android trên Eclipse . 85
    Hình phụ lục 61 Cấu trúc thư mục của một project Android trên bộ nhớ . 87
    Hình phụ lục 62 Mành hình khung nhìn Java . 88
    Hình phụ lục 63 Cửa sổ Package Explorer . 89
    Hình phụ lục 64 Thực đơn ngữ cảnh của một project Android . 90
    Hình phụ lục 65 Hộp thoại Properties/Resource của một project Android . 91
    Hình phụ lục 66 Hộp thoại Properties/Android của một project Android 92
    Hình phụ lục 67 Hộp thoại Properties/Java Build Path của một project Android . 93
    Hình phụ lục 68 Thực đơn ngữ cảnh của một tập tin .Java . 94
    Hình phụ lục 69 Thực đơn ngữ cảnh Source trên một tập tin .Java . 95
    Hình phụ lục 70 Hình minh họa cho một ghi chú mã lệnh của một phương thức . 96
    Hình phụ lục 71 Thực đơn ngữ cảnh Refactor trên một tập tin .Java 97
    Hình phụ lục 72 Màn hình Outline 98
    12
    Hình phụ lục 73 Màn hình Outline 99
    Hình phụ lục 74 Khung nhìn DDMS . 99
    Hình phụ lục 75 Khung nhìn của File Explorer 100
    Hình phụ lục 76 Khung nhìn của Devices 101
    Hình phụ lục 77 Khung nhìn của Emulator Control . 101
    Hình phụ lục 78 Màn hình Development Settings hỗ trợ lập trình cài sẵn trên điện thoại Android ảo . 102
    Hình phụ lục 79 Khung nhìn Debug 103
    Hình phụ lục 80 Màn hình thể hiện công đoạn debug 104
    Hình phụ lục 81 Tab Debug trong khung nhìn Debug 105
    Hình phụ lục 82 Tab Variables trong khung nhìn Debug . 106
    Hình phụ lục 83 Tab Breakpoints trong khung nhìn Debug . 106
    Hình phụ lục 84 Tab Expressions trong khung nhìn Debug . 107
    Hình phụ lục 85 Tab thể hiện dòng hiện hành đang kiểm lỗi 107
    Hình phụ lục 86 Tab LogCat, Progress, Search, ErrorLog . 108
    Hình phụ lục 87 Vòng đời của một Activity 118
    Hình phụ lục 88 Vòng đời của một Service . 123
    Hình phụ lục 89 Hình minh họa mối quan hệ giữ Eclipse, ADT và Android SDK 126
    Hình phụ lục 90 Hình minh họa công cụ DDMS 127
    Hình phụ lục 91 Hình minh họa công cụ Hierarrchy Viewer 128
    Hình phụ lục 92 Cấu trúc dạng cây khi phân tích một khung giao diện đang được thực thi trên màn hình 129
    Hình phụ lục 93 Hình minh họa công cụ Pixel Perfect View . 130
    Hình phụ lục 94 Định nghĩa dạng hình NinePatch (Google) 130
    Hình phụ lục 95 Hình minh họa cho việc thiết kế một ảnh nền của một nút nhấn dùng định dạng hình NinePatch 131
    Hình phụ lục 96 Hình nhận định về thuộc tính Strecthable của ảnh Nine Patch . 132
    Hình phụ lục 97 Hình nhận định về thuộc tính Padding của ảnh Nine Patch 133
    Hình phụ lục 98 Hình minh họa công cụ Draw 9-patch 134
    13
    Hình phụ lục 99 Hình minh họa cách thức dùng dòng lệnh để thực thi công cụ adb . 135
    Hình phụ lục 100 Hình minh họa cách thức tạo biến môi trường (Windows XP) . 135
    Hình phụ lục 101 Hình minh họa giao diện ứng dụng NhatTrungHelloAndroid 138
    Hình phụ lục 102 Đoạn mã lệnh XML tạo giao diện cho ứng dụng NhatTrungHelloAndroid 138
    Hình phụ lục 103 Hình minh họa cho việc kéo thả giao diện từ khung Layouts và Views . 139
    Hình phụ lục 104 Hình minh họa cho việc tạo giao diện từ khung Outline . 139
    Hình phụ lục 105 Hình minh họa việc thêm một phần tử mới từ khung Outline . 140
    Hình phụ lục 106 Các công cụ hỗ trợ bên trong thư mục Android SDK . 141
    Hình phụ lục 107 Giao diện công cụ Hierarchy Viewer . 141
    Hình phụ lục 108 Nhóm thuộc tính thường gặp trên một TextView . 143
    Hình phụ lục 109 Nhóm thuộc tính thường gặp trên một LinearLayout . 143
    Hình phụ lục 110 Hình ảnh các View dưới góc nhìn hướng đối tượng . 144
    Hình phụ lục 111 Hình ảnh minh họa của một Linear Layout 145
    Hình phụ lục 112 Hình ảnh minh họa của một Relative Layout . 146
    Hình phụ lục 113 Hình ảnh minh họa của một Absolute Layout 147
    Hình phụ lục 114 Hỉnh ảnh một số View thông dụng . 148
    Hình phụ lục 115 Hình ảnh minh họa cấu trúc dạng cây của một giao diện bất kỳ . 148
    Hình phụ lục 116 Hình minh họa tạo giao diện bằng mã lệnh XML 149
    Hình phụ lục 117Hình minh họa tạo giao diện bằng Java . 149
    Hình phụ lục 118 Cấu trúc xây dựng giao diện bằng XML 150
    Hình phụ lục 119 Hình minh họa việc quản lý các View thông qua định danh ID 152
    Hình phụ lục 120 Hình minh họa một Linear Layout . 154
    Hình phụ lục 121 Hình minh họa cho thuộc Layout_weight 157
    Hình phụ lục 122 Hình minh họa cho một Table Layout . 158
    Hình phụ lục 123 Hình minh họa cho một Frame Layout . 160
    14
    Hình phụ lục 124 Hình minh họa cho một Absolute layout 162
    Hình phụ lục 125 Hình minh họa Relative Layout . 163
    Hình phụ lục 126 Hình minh họa các điều khiển khác . 165
    Hình phụ lục 127 Hình minh họa các điều khiển khác . 165
    Hình phụ lục 128 Hình minh họa cho một Spinner trong Android . 168
    Hình phụ lục 129 Danh sách lựa chọn khi nhấn vào Spinner . 169
    Hình phụ lục 130 Hình minh họa việc tạo Giao diện có chứa Spinner 169
    Hình phụ lục 131 Hình minh họa Gallery 171
    Hình phụ lục 132 Hình ảnh minh họa của một ListView 174
    Hình phụ lục 133 Minh họa việc tạo một List View . 174
    Hình phụ lục 134 Hình minh họa một Custom ListView . 175
    Hình phụ lục 135 Hình minh họa cách thức làm một custom row cho một ListView . 176
    Hình phụ lục 136 Hình minh họa cách thức làm một ListView 176
    Hình phụ lục 137 Hình ảnh minh họa một GridView đơn giản 178
    Hình phụ lục 138 Cách thưc tạo một GridView 178
    Hình phụ lục 139 Hình ảnh minh họa một Custom GridView 180
    Hình phụ lục 140 Cách thức tạo một Custom Item cho một Grid View 180
    Hình phụ lục 141 Hình minh họa cách thức tạo một GridView 180
    Hình phụ lục 142 Tập tin quy định hoạt cảnh chuyển động 183
    Hình phụ lục 143 Hình ảnh minh họa sự hỗ trợ của Eclipse giúp tạo hiệu ứng hoạt cảnh 184
    Hình phụ lục 144 Hình minh họa cho Tweened Animation 185
    Hình phụ lục 145 Công cụ hỗ trợ thiết kế hoạt cảnh từ Eclipse 186
    Hình phụ lục 146 Hình minh họa một Frame-by-frame animation đơn giản . 190
    Hình phụ lục 147 Hình ảnh một bộ MediaController hỗ trợ việc phát Video tốt hơn . 194
    Hình phụ lục 148 Hình minh họa việc gọi điện dùng ACTION.CALL . 196
    Hình phụ lục 149 Hình minh họa việc gọi điện dùng ACTION.DIAL . 196
     

    Các file đính kèm:

Đang tải...