Gt android 2021 version1

243 4 0
Gt android 2021 version1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

eeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeêaaaaaaaaaaaaaaaaaaaaaaaaâdddddddddddăeeeeeeeeeeeeeeêrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC CÔNG NGHỆ TP.HCM LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG Biên soạn: TS Nguyễn Hà Giang ThS Bùi Mạnh Toàn ThS Võ Tấn Dũng Website: http://www.hutech.edu.vn LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG Ấn 2021 MỤC LỤC I MỤC LỤC MỤC LỤC I HƯỚNG DẪN V BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 1.1 GIỚI THIỆU TỔNG QUAN 1.1.1 Thiết bị di động 1.1.2 Hệ điều hành Android iOS 1.1.3 Android gì? 1.1.4 Các tính Android 1.1.5 Lịch sử Android 1.1.6 Giá trị thị trường hệ điều hành Android 1.2 KIẾN TRÚC ANDROID 1.2.1 Applications 10 1.2.2 Application Framework 10 1.2.3 Android Runtime 10 1.2.4 Platform Libraries 11 1.2.5 Linux Kernel 11 TÓM TẮT 12 BÀI TẬP 12 BÀI 2: PHÁT TRIỂN ỨNG DỤNG TRÊN ANDROID 13 2.1 CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN ANDROID 13 2.1.1 Hai cách cài đặt 13 2.1.2 Cài đặt Android Studio 14 2.2 TẠO ỨNG DỤNG ANDROID 21 2.2.1 Ứng dụng Hello World 21 2.2.2 Android Layout File 29 2.2.3 Android Main Activity File 31 2.2.4 Android Manifest File 31 2.2.5 Run Android Hello World App 32 2.3 THIẾT LẬP ANDROID EMULATOR 34 2.3.1 Tạo Android Virtual Device 35 2.3.2 Chạy Ứng dụng Android 37 2.4 THÀNH PHẦN TRONG ỨNG DỤNG ANDROID 38 2.4.1 Các thành phần 38 2.4.2 Android Activities 39 2.4.3 Android Intents 40 2.4.4 Android Services 40 2.4.5 Android Broadcast Receivers 41 2.4.6 Android Content Providers 41 II MỤC LỤC 2.4.7 Các Componet bổ sung 41 TÓM TẮT 43 BÀI TẬP 43 BÀI 3: XÂY DỰNG ACTIVITY 44 3.1 CÁC ACTIVITY TRONG ỨNG DỤNG ANDROID 44 3.1.1 Activity gì? 44 3.1.2 Chu kỳ sống Android Activity .46 3.1.3 Các phương thức Callback .46 3.1.4 Sơ đồ chu kỳ sống Android Activity .50 3.1.5 Ví dụ Android Activity Lifecycle 52 3.2 XỬ LÝ SỰ KIỆN TRONG ANDROID 58 3.2.1 Sự kiện gì? 58 3.2.2 Event Listeners Event Handlers 59 3.2.3 Đăng ký Event Listeners 60 3.2.4 Chế độ cảm ứng Focus 61 3.2.5 Ví dụ xử lý kiện .62 TÓM TẮT 68 BÀI TẬP 68 BÀI 4: THIẾT KẾ GIAO DIỆN 70 4.1 GIỚI THIỆU LAYOUT VÀ VIEW CỦA ANDROID 70 4.1.1 Android View and ViewGroup 70 4.1.2 Các View Android .71 4.1.3 Android ViewGroup 71 4.1.4 Các loại layout Android 72 4.1.5 Khai báo UI Element XML 73 4.1.6 Nạp tập tin XML Layout từ Activity .74 4.1.7 Khởi tạo Layout Element thời gian chạy .74 4.1.8 Thuộc tính Width Height .75 4.1.9 Các thuộc tính Layout .76 4.2 CÁC LOẠI LAYOUT 78 4.2.1 LinearLayout 79 4.2.2 RelativeLayout .83 4.2.3 TableLayout 88 4.2.4 Frame Layout 92 4.3 CÁC VIEWGROUP 96 4.3.1 ListView 96 4.3.2 GridView 107 4.3.3 WebView 116 4.3.4 ScrollView 122 TÓM TẮT 125 BÀI TẬP 125 MỤC LỤC III BÀI 5: THÀNH PHẦN VIEW - WIDGET 129 5.1 VIEW CƠ BẢN 129 5.2 VIEW NÂNG CAO 141 5.3 TOAST VÀ DIALOG 158 TÓM TẮT 162 BÀI TẬP 162 BÀI 6: THÀNH PHẦN INTENT 167 6.1 CƠ CHẾ INTENT 167 6.2 ĐỐI TƯỢNG INTENT 168 6.3 PHÂN LOẠI INTENT 170 6.3.1 Intent Filter 172 6.3.2 Cách thức xác định thành phần phù hợp với Intent 173 6.4 SỬ DỤNG CÁC INTENT 175 6.4.1 Explicit Intent thực thi Activity 176 6.4.2 Implicit Intent thực thi Activity 176 6.5 GỌI HIỂN THỊ ACTIVITY 177 6.5.1 Gọi hiển thị khơng có trao đổi liệu 177 6.5.2 Gọi hiển thị truyền liệu cho Activity 178 6.5.3 Gọi hiển thị truyền/nhận liệu với Activity 180 TÓM TẮT 183 BÀI TẬP 184 BÀI 7: LẬP TRÌNH VỚI SQLITE 185 7.1 CƠ SỞ DỮ LIỆU SQLITE 185 7.1.1 Đặc trưng SQLite 186 7.1.2 Lập trình với SQLite 186 7.1.3 Kiểu liệu lưu trữ 187 7.1.4 Các lớp gói SQLite 188 7.1.5 Thư mục lưu trữ 189 7.2 ỨNG DỤNG MINH HỌA 190 7.2.1 Tạo lớp kế thừa từ SQLiteOpenHelper 190 7.2.2 Tạo lớp chứa liệu DTO Student 191 7.2.3 Tạo lớp truy cập liệu 193 7.2.4 Thao tác insert liệu 196 7.2.5 Hiển thị danh sách sinh viên 196 TÓM TẮT 197 BÀI TẬP 197 BÀI 8: ỨNG DỤNG SERVICE 199 8.1 THÀNH PHẦN SERVICE 199 8.1.1 Vòng đời Service 200 8.1.2 Khuôn mẫu chung lớp thực thi Service 202 IV MỤC LỤC 8.1.3 Khởi tạo Service 203 8.1.4 Đăng ký Service vào tệp Manifest 204 8.1.5 Chạy Service 205 8.2 ỨNG DỤNG MẪU SERVICE: CHƠI NHẠC 205 TÓM TẮT 209 BÀI TẬP 211 BÀI 9: BROADCAST RECEIVER 212 9.1 CƠ CHẾ BROADCAST RECEIVER 212 9.1.1 Phân loại Broadcast 212 9.1.2 Tạo broadcast receiver 213 9.1.3 Đăng ký xử lý Broadcast Intent 213 9.1.4 Một số Broadcast Intent 214 9.1.5 Phát sinh Broadcast Intent 215 9.2 MINH HỌA BROADCASTRECEIVER 216 TÓM TẮT 221 BÀI TẬP 222 BÀI 10: THÀNH PHẦN NOTIFICATION 223 10.1 THÀNH PHẦN NOTIFICATION 223 10.2 THỂ HIỆN THÔNG ĐIỆP 224 10.2.1 Dạng bình thường 224 10.2.2 Dạng lớn 225 10.3 TẠO THÔNG ĐIỆP 226 10.3.1 Các nội dung thông điệp bắt buộc 226 10.3.2 Hành động thông điệp 227 10.3.3 Tạo thông điệp đơn giản 227 10.4 SỬ DỤNG THANH TIẾN ĐỘ 228 10.4.1 Thanh tiến độ với thời gian xác định 228 10.4.2 Thanh dẫn liên tục 230 TÓM TẮT 231 BÀI TẬP 232 TÀI LIỆU THAM KHẢO 233 HƯỚNG DẪN V HƯỚNG DẪN MÔ TẢ MÔN HỌC Môn học trang bị kiến thức cách thức phát triển ứng dụng tảng thiết bị di động Bao gồm nhóm kiến thức: giới thiệu tảng hay hệ điều hành thiết bị di động thông minh, công cụ môi trường để phát triển ứng dụng thiết bị di động thông minh NỘI DUNG MÔN HỌC - Bài Tổng quan lập trình thiết bị di động: kiến thức thiết bị di động khái niệm mơi trường cách thức lập trình thiết bị di động - Bài Phát triển ứng dụng Android: cung cấp kiến thức hệ điều hành Android Trình bày mơ hình quy trình phát triển ứng dụng thiết bị di động hỗ trợ Android Ngoài giới thiệu thành phần ứng dụng Android điển hình - Bài Xây dựng Activity ứng dụng Android: học cung cấp kiến thức để xây dựng ứng dụng có giao diện tương tác với người dùng; cách thức hoạt động thành phần Activity ứng dụng Android Làm quen với cách thức sử dụng layout XML để khởi tạo giao diện Activity - Bài Thiết kế giao diện: trình bày loại layout nâng cao để tạo giao diện cho Activity - Bài Thành phần View-Widget: cung cấp loại widget từ đến nâng cao, bao gồm chức năng, cách sử dụng thiết kế giao diện cách tham chiếu để lập trình mã nguồn Java - Bài Thành phần Intent: cung cấp kỹ thuật để truyền thông giao tiếp thành phần ứng dụng Android Cách thức gọi hiển thị Activity ứng dụng gọi ứng dụng hệ thống trình bày chi tiết học VI - HƯỚNG DẪN Bài Lập trình với SQLite: kỹ thuật để tạo sử dụng sở liệu SQLite ứng dụng Android - Bài Xây dựng ứng dụng Service: Cung cấp mơ hình tổng qt để tạo ứng dụng Android chạy background, dạng ứng dụng hoạt động khơng có giao diện tương tác với người dùng - Bài Lập trình Broadcast Receiver: Cung cấp kỹ thuật đăng ký xử lý thông điệp hệ thống hay ứng dụng - Bài 10 Thành phần Notification: Cách thức sử dụng Notification ứng dụng Android KIẾN THỨC TIỀN ĐỀ Sinh viên có kiến thức lập trình hướng đối tượng, lập trình có giao diện tương tác với người dùng Ngồi có kiến thức sở liệu quan hệ lập trình sở liệu YÊU CẦU MÔN HỌC Người học phải tham dự đầy đủ buổi lên lớp làm tập đầy đủ nhà Ngoài trước buổi học, người học phải đọc trước học giảng để nắm nội dung Sau lên lớp, người học cần đọc thêm tài liệu giảng viên trực tiếp đứng lớp yêu cầu Do giới hạn giảng cung cấp hết chi tiết thành phần lập trình Android, yêu cầu người học cần phải đọc thêm tài liệu tham khảo liệt kê phần cuối giảng CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC Để học tốt môn này, người học cần ôn tập học, trả lời câu hỏi làm nhiều tập; đọc trước tự tìm kiếm thơng tin liên quan đến học Đối với học, người học đọc trước mục tiêu tóm tắt học, sau đọc nội dung học Kết thúc học người đọc cần phải làm tối thiểu tập yêu cầu HƯỚNG DẪN VII Ngồi mơn học có số có phần thực hành viết chương trình, người học cần phải làm tập phần thực hành tương ứng với học PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC Mơn học đánh giá gồm:  Điểm q trình (50%): Hình thức cách đánh giá giảng viên dạy lý thuyết định phê duyệt mơn  Điểm thi cuối kỳ (50%): Hình thức làm đồ án môn học chấm thi vấn đáp dựa nội dung đồ án môn học kết hợp với lý thuyết học Danh sách đồ án giảng viên định môn kiểm duyệt cung cấp vào đầu khóa học BÀI 9: BROADCAST RECEIVER 21 Sau thực chạy ứng dụng nhập nội dung cần gửi broadcast để xem kết Toast hiển thị bên 220 BÀI 9: BROADCAST RECEIVER BÀI 9: BROADCAST RECEIVER 22 TÓM TẮT Broadcast Receiver thành phần quan trọng ứng dụng Android, cho phép bắt xử lý kiện phát sinh từ hệ thống Android hay kiện phát sinh từ ứng dụng Thơng qua học người học hiểu chế phát sinh kiện hệ thống Android, hiểu cách chặn xử lý kiện 222 BÀI 9: BROADCAST RECEIVER BÀI TẬP Câu 1: Viết ứng dụng Android cho phép lưu tin nhắn SMS mà máy nhận Các tin nhắn gởi đến máy lưu CSDL SQLite riêng ứng dụng Ứng dụng cho phép người dùng thêm, xóa, gởi nội dung tin nhắn vào địa email xác định Câu 2: Viết ứng dụng Android lưu số điện thoại gọi đến máy, thông tin lưu trữ gồm: {số điện thoại, thời gian gọi} lưu CSDL SQLite Ứng dụng cho phép quản lý gọi lưu CSDL riêng Câu 3: Viết hai ứng dụng Android thực yêu cầu sau: Ứng dụng Android A: giả lập máy rút tiền ATM, cho phép user xem thông tin tài khoản, xem số dư, xem lịch sử giao dịch, cho phép rút tiền Trong chức rút tiền sau thực xong phát sinh Broadcast lên hệ thống Ứng dụng Android B: đăng ký xử lý kiện A có giao dịch rút tiền hồn tất, B lấy thông tin {mã tài khoản, tên tài khoản, số tiền rút, số dư cuối} B kiểm tra CSDL khách hàng để lấy số điện thoại khách hàng Cuối B thực nhắn tin cho khách hàng biết giao dịch vừa diễn với số tiền rút số dư cuối Câu 4: Bổ sung thêm dựa ứng dụng câu theo yêu cầu sau: Bổ sung thêm chức chuyển khoản cho ứng dụng A, cho người dùng chuyển vào tài khoản khác số tiền nhỏ số dư Khi A phát sinh kiện lên hệ thống: Sự kiện rút tiền tài khoản làm việc (sự kiện xử lý câu 3) Sự kiện chuyển khoản Sự kiện chuyển khoản xử lý ứng dụng B (phần viết bổ sung) B thực chức nhắn tin cho khách hàng chuyển khoản BÀI 10: THÀNH PHẦN NOTIFICATION 22 BÀI 10: THÀNH PHẦN NOTIFICATION Học xong này, người học cần nắm nội dung sau - Cơ chế Notification ứng dụng Android, thành phần cần thiết hệ điều hành dành cho thiết bị di động - Các dạng thông điệp hiển thị tảng Android - Hiểu cách thức tạo phát sinh thơng điệp lập trình Android - Làm việc với chức nâng cao thể dạng progress ứng dụng Android 10.1 THÀNH PHẦN NOTIFICATION Notification dạng thông điệp đặc biệt để hiển thị thông tin cho người dùng, thông điệp xuất bên ngồi giao diện thơng thường ứng dụng Khi ứng dụng báo với hệ thống phát sinh Notification, hình xuất biểu tượng vùng Notification Để nhìn thấy chi tiết Notification, người dùng mở Notification Drawer Cả hai thành phần vùng quản lý hệ thống người dùng mở lúc Hình 10.1: Các thông điệp Notification Area 224 BÀI 10: THÀNH PHẦN NOTIFICATION Hình 10.2: Các Notification Notification Drawer Trong tảng Android thành phần Notification hữu dụng quen thuộc với người dùng, cho phép người dùng biết mà ứng dụng hay hệ thống muốn thơng báo Ví dụ như: có sms nhận, có gọi nhỡ, mạng Wi-Fi, Bluetooth… 10.2 THỂ HIỆN THƠNG ĐIỆP Các thơng điệp vùng Notification Area xuất theo hai dạng sau, điều tùy thuộc vào phiên trạng thái Drawer - Dạng bình thường (normal view): giao diện chuẩn thông điệp hiển thị Notification Drawer - Dạng lớn (big view): dạng xuất thông điệp mở Cách thể đặc tính xuất Android 4.1 10.2.1 Dạng bình thường Một thông điệp chế độ xuất vùng có kích thước khoảng 64 dp chiều cao Thậm chí tạo thơng điệp với dạng lớn, xuất dạng bình thường mở Hình 10.3 bên minh họa cho dạng thể BÀI 10: THÀNH PHẦN NOTIFICATION 22 Hình 10.3: Các thơng điệp dạng bình thường Các thành phần theo nhãn hình 10-3 sau: Nội dung tiêu đề Icon lớn Nội dung thông điệp Thông tin nội dung Icon nhỏ Thời gian mà thông điệp đưa 10.2.2 Dạng lớn Dạng thông điệp lớn hiển thị thông điệp mở rộng, điều xuất thông điệp Notification Drawer, người dùng mở rộng Chức xuất từ phiên 4.1 Hình 10-4 minh họa phần thể dạng 226 BÀI 10: THÀNH PHẦN NOTIFICATION Hình 10.4: Dạng thể lớn Như ta thấy hình 10.4, hầu hết chúng giống thành phần dạng bình thường, khác thành phần có nhãn số 7, vùng chi tiết Có số kiểu thể khác dạng view này: Dạng ảnh lớn (big picture style): vùng chi tiết chứa ảnh bitmap có kích thước đến 256 chiều cao Dạng văn lớn (big text style): hiển thị khối văn lớn vùng chi tiết Dạng inbox (inbox style): hiển thị dòng văn vùng chi tiết Ngoài dạng view cho phép nội dung tùy chọn sau, nội dung khơng có view bình thường Dạng tiêu đề nội dung lớn: cho phép ta viết lại tiêu đề nội dung xuất view bình thường Văn tóm tắt: cho phép thêm dòng văn bên vùng chi tiết 10.3 TẠO THƠNG ĐIỆP Người lập trình thiết lập thơng tin giao diện hành động cho thông điệp thông qua đối tượng NotificationCompat.Builder Để tạo thông điệp phải gọi phương thức NotificationCompat.Builder.build(), phương thức trả đối tượng Notification chứa phần mô tả chương trình Sau thiết lập xong thơng số cho thơng điệp phát sinh thơng điệp truyền đối tượng Notification cho hệ thống cách gọi phương thức NotificationManager.notify() 10.3.1 Các nội dung thông điệp bắt buộc Một đối tượng notification phải chứa thông tin sau: Icon nhỏ: Dùng phương thức setSmallIcon() Tiêu đề: Thiết lập với setContentTitle() Nội dung chi tiết: setContentText() BÀI 10: THÀNH PHẦN NOTIFICATION 22 Các thơng tin cịn lại tùy chọn, tùy theo u cầu cụ thể mà thơng điệp có thiết lập hay không thiết lập 10.3.2 Hành động thông điệp Mặc dù thành phần tùy chọn, ta nên thêm tối thiểu hành động cho thông điệp Một hành động cho phép người dùng từ thông điệp đến Activity ứng dụng Một thơng điệp cung cấp nhiều hành động, thông thường định nghĩa hành động ràng buộc người dùng chạm vào thông điệp, phổ biến mở Activity ứng dụng Ngồi ta thêm button vào thông điệp để thực thi hành động thêm vào tắt alarm hay trả lời tin nhắn (từ phiên 4.1) 10.3.3 Tạo thông điệp đơn giản Đoạn code sau minh họa cách tạo thông điệp đơn giản cho phép user mở Activity chạm hay kích vào thơng điệp NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) setSmallIcon(R.drawable.notification_icon) setContentTitle("My notification") setContentText("Hello World!"); Intent resultIntent = new Intent(this, ResultActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(ResultActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent( 0, PendingIntent.FLAG_UPDATE_CURRENT ); 228 BÀI 10: THÀNH PHẦN NOTIFICATION mBuilder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(mId, mBuilder.build()); 10.4 SỬ DỤNG THANH TIẾN ĐỘ Thơng điệp chứa dẫn tiến độ dạng animation cho người dùng biết tình trạng hoạt động chức Nếu ước lượng thời gian mà hoạt động diễn thời gian để hoàn thành dùng hình thức xác định tiến độ (progress bar) Nếu khơng xác định thời gian hồn thành hoạt động dùng hình thức khơng xác định (dạng minh họa hoạt động liên tục) Từ phiên Android 4.0 để sử dụng tiến độ gọi phương thức setProgress() Trong phiên trước phải tạo layout thông điệp chứa ProgressBar 10.4.1 Thanh tiến độ với thời gian xác định Để hiển thị tiến độ với thời gian xác định, gọi phương thức setProgress() theo tham số setProgress(max, progress, false) phát sinh thông điệp Khi hoạt động diễn giá trị progress gia tăng cập nhật thông điệp Khi hoạt động hồn thành giá trị progress với max Cách thực chung gọi setProgress() với max 100 gia tăng progress mức độ hoàn thành cơng việc Sau cơng việc hồn thành cập nhật lại nội dung thông điêp để báo hồn thành xóa tiến độ cách gọi setProgress(0, 0, false) Đoạn code sau minh họa việc tạo tiến độ: mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mBuilder = new NotificationCompat.Builder(this); mBuilder.setContentTitle("Picture Download") BÀI 10: THÀNH PHẦN NOTIFICATION 22 setContentText("Download in progress") setSmallIcon(R.drawable.ic_notification); new Thread( new Runnable() { @Override public void run() { int incr; for (incr = 0; incr

Ngày đăng: 07/08/2023, 16:01

Tài liệu cùng người dùng

Tài liệu liên quan