Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
777,73 KB
Nội dung
LẬPTRÌNHANDROIDCƠ BẢN Bài 5:Intent,IntentFilter Nội dung học Khái niệm URI Intent Các loại Intent Tham số Intent Cặp giá trị Action/data Sử dụng Bundle Bộ lọc filter URI URI (Uniform Resource Identifer) dãy ký tự dùng để Mở trang web trình duyệt, bắt đầu với “http:” Chỉ tới file tài nguyên có sẵn máy (ví dụ file video, danh sách contacts,… bắt đầu với “content:’’ Intent Các thành phần ứng dụng (activity, service, broadcast receiver) kích hoạt thơng qua thông điệp gọi Intent Thông điệp Intent ràng buộc thành phần ứng dụng ứng dụng khác Di chuyển từ Activity đến Activity khác sử dụng IntentIntentIntent Android hỗ trợ hai loại intent explicit intent implicit intent Explicit Intent Explicit intent: khai báo cách tường minh thành phần nhận xử lý Intent cách thiết lập giá trị phù hợp Explicit intent thường sử dụng để khởi tạo activity ứng dụng Implicit Intent Là loại intent không cần rõ thành phần xử lý mà cần cung cấp đủ thông tin cần thiết để hệ thống xác định xem nên dùng thành phần có sẵn để chạy tốt Ví dụ: ứng dụng Android mở trang web Intent Intent gọi sử dụng cách sau: startActivity(intent) startActivityForResult(): khởi tạo Activity khởi tạo Activity lấy kết trả sendBroadCast(intent): gửi Intent tới thành phần BroadcastReceiver quan tâm đến startService(intent) bindService(intent,…): thiết lập kết nối thành phần gọi dịch vụ đích Đối tượng Intent Đối tượng Intent gói thơng tin Chứa thơng tin hành động diễn liệu liên quan đến hành động Tham số Intent bao gồm: Action: kiểu chuỗi chứa thông tin hành động diễn Data: liệu cần thao tác, ví dụ số điện thoại gọi (mô tả dạng URI) Extra: cặp giá trị key-value chứa thông tin bổ sung truyền tới thành phần điều khiển intent Ngồi số tham số khác category, type, component (category dùng để đưa thông tin bổ sung cho hành động thi hành) Ví dụ Ví dụ Ví dụ Hiển thị tất contact thiết bị để người dùng lựa chọn Ví dụ Hiển thị thông tin contact cụ thể Ví dụ Sửa thơng tin contact cụ thể Bundle Sử dụng đối tượng Bundle để truyền liệu Bundle có loại phương thức putA dùng bên gửi đi, ứng với kiểu liệu put kiểu (A kiểu liệu) Ví dụ: putInt putDouble tương ứng với loại liệu khác Ở bên nhận, Bundle dùng phương thức getA (A kiểu liệu) để lấy liệu theo key bên gửi Key phải giống cho bên nhận gửi Ví dụ Bundle Ví dụ Bundle IntentFilter Để thông báo cho hệ thống implicit intent sử dụng, activity, service broadcast receiver có nhiều lọc intent (intent filter) Ví dụ IntentFilter Giả sử người dùng cài ứng dụng SMS “Super Duper SMS” để thay cho ứng dụng Messaging mặc định máy Với đời Implicit Intent,Android “hỏi” người dùng câu hỏi sau “Bạn có tin nhắn Bạn có hai ứng dụng nhắn tin ”Super Duper SMS” ứng dụng Messaging mặc định Bạn chọn phần mềm nào, bạn có muốn chọn phần mềm phần mềm mặc định đọc tin nhắn khơng? Ví dụ IntentFilter Một activity gọi thỏa mãn điều kiện sau: Hỗ trợ action cho trước Hỗ trợ MIME type miêu tả (nếu cung cấp) Hỗ trợ tất category nêu Intent Ví dụ IntentFilter Phần tử thông báo cho Android biết component nhận liệu video từ mạng hiển thị Android chọn trình duyệt người dùng click vào link web Đầu tiên, android hiển thị liệu (nếu link trang web) Nếu hiển thị liệu, đẩy implicit intent với scheme data type thử khởi tạo activity đáp ứng cơng việc Nếu khơng có Activity đáp ứng được, trình download manager tải liệu Ví dụ IntentFilter Ví dụ cho Android biết component nhận image data từ content provider hiển thị: Đa số liệu phân phối content provider, filter chủ yếu xác định kiểu liệu Tổng kết nội dung học Intent Các loại Intent Tham số Intent Cặp giá trị Action/data Sử dụng Bundle để truyền liệu • Bộ lọc filter ... dụng Intent Intent Intent Android hỗ trợ hai loại intent explicit intent implicit intent Explicit Intent Explicit intent: khai báo cách tường minh thành phần nhận xử lý Intent cách thiết lập. .. Bundle Ví dụ Bundle Intent Filter Để thông báo cho hệ thống implicit intent sử dụng, activity, service broadcast receiver có nhiều lọc intent (intent filter) Ví dụ Intent Filter Giả sử người... BroadcastReceiver quan tâm đến startService (intent) bindService (intent, ): thiết lập kết nối thành phần gọi dịch vụ đích Đối tượng Intent Đối tượng Intent gói thơng tin Chứa thơng tin hành