Bài giảng Lập trình Android: Intent và Intent-Filter cung cấp cho người học những kiến thức như: Intent là gì?; Trao đỗi dữ liệu giữ các Activity; Sử dụng Intent-Filter. Mời các bạn cùng tham khảo!
Intent Intent-Filter ThS.Bùi Trung Úy Nội dung học Intent gì? Trao đỗi liệu giữ Activity Sử dụng Intent-Filter 9/19/2019 Lập trình di động Android Intents gì? Intent cấu trúc thông điệp mô tả hành động thực thi Nó đại diện cho hành động kèm với liệu theo ngữ cảnh xác định Intent chuẩn giao tiếp thành phần ứng dụng Android, sử dụng để chạy Activity, Service thành phần khác ứng dụng hệ thống 9/19/2019 Lập trình di động Android Sử dụng Intent Về bản, Intent đối tượng lớp android.content.Intent Thành phần Intent bao gồm: Action: xác định hành động thực thi, hành động là: ACTION_VIEW, ACTION_EDIT, ACTION_MAIN… Data: liệu kèm với Intent, sử dụng để hành động (Action) thao tác 9/19/2019 Lập trình di động Android Cách gọi Intent Tạo đối tượng Intent với tham số Action/Data 9/19/2019 Lập trình di động Android Các Action data thường dùng 9/19/2019 Lập trình di động Android Ví dụ sử dụng Action/Data 9/19/2019 Lập trình di động Android Ví dụ sử dụng Intent Một số Intent không cần truyền theo liệu cụ thể, mà cần kiểu liệu Ví dụ: Mở Activity cho người dùng chọn contact từ danh bạ: 9/19/2019 Lập trình di động Android Các tham số Intent Ngồi Action/Data, cịn có số tham số phụ thường dùng với Intent: Category Type Component Extra 9/19/2019 Lập trình di động Android Các tham số Intent Category: Thông tin chi tiết hành động thực thi, ví dụ CATEGORY_LAUNCHER có nghĩa xuất Launcher Type: Chỉ định kiểu liệu (kiểu MIME) mang Intent Thường Type suy từ liệu khơng xác định Type Component: Chỉ định rõ tên lớp thành phần (thường Activity) để thực thi Intent Extras: đối tượng Bundle dùng để chứa thông tin kèm theo dùng để cung cấp thông tin cần thiết cho component 9/19/2019 Lập trình di động Android 10 B3: Lấy kết trả Để lấy kết trả về, Activity gữi lấy thơng qua hàm kiện onActivityResult() 9/19/2019 Lập trình di động Android 31 Ví dụ: Xem danh bạ Tạo ứng dụng cho phép người dùng chọn contact từ danh bạ hiển thị chị tiết contact Khởi chạy Activity ứng dụng hệ thống (Contacts – dang bạ) để chọn liên lạc Và chờ nhận kết (không đồng bộ) Sau người dùng chọn liên lạc từ danh bạ Ứng dụng danh bạ trả thông tin cho Activity gọi Activity gọi xử lý liệu nhận hiển thị cho người dùng 9/19/2019 Lập trình di động Android 32 Ví dụ: Xem danh bạ Khởi chạy ứng dụng danh bạ để chọn 9/19/2019 Lập trình di động Android 33 Ví dụ: Xem danh bạ Activity gọi chờ nhận kết xử lý: 9/19/2019 Lập trình di động Android 34 Thực hành: Trao đỗi liệu Activity Tạo ứng dụng sau: Activity truyền số thực từ UI cho Activity (theo dạng Bundle) Activity xử lý trả kết tổng cho Activity sau 9/19/2019 Lập trình di động Android 35 Activity 1: Tạo Intent với bundle 9/19/2019 Lập trình di động Android 36 Activity 2: Nhận intent xử lý liệu 9/19/2019 Lập trình di động Android 37 Activity 1: Nhận kết hiển thị tổng 9/19/2019 Lập trình di động Android 38 Activity 2: Trả kết cho Activity 9/19/2019 Lập trình di động Android 39 Intent Filter Bất thành phần (Activity, BroadcastReceiver, Service) muốn sử dụng ứng dụng phải đăng kí file AndroidManifest.xml Intent-Fillter đặc tả có cấu trúc giá trị Intent dùng để xác định component phù hợp để thực hành động đặc tả Intent Android dùng Intent-Filter để xác định Activity, Service, hay Broadcast Receiver phù hợp với Intent thông thuộc tính Action, Category, Data scheme tương ứng với Intent 9/19/2019 Lập trình di động Android 40 Intent Filter Intent Fillter khai báo AndroidManifest.xml sử dụng thẻ Một Intent-filter có thành phần sau: Action: Hành động mà component thực thi Category: Phân nhóm hành động Data: URI kiểu liệu MIME Có thuộc tính scheme, host, port, path 9/19/2019 Lập trình di động Android 41 Intent Filter 9/19/2019 Lập trình di động Android 42 Intent Filter 9/19/2019 Lập trình di động Android 43 Luật xác định Intent-Filter Hệ thống tiến hành xem xét từ xuống Khi Intent gọi, Android tìm kiếm component có action-name phù hợp với Intent Nếu có mở component lên để thực thi Nếu có nhiều component có action-name phù hợp Android yêu cầu người dùng chọn component phù hợp Ngược lại, khơng có component phù hợp Android tiến hành xem xét kiểu liệu Intent, sau Category 9/19/2019 Lập trình di động Android 44 Q&A Cám ơn bạn lắng nghe! 9/19/2019 Lập trình di động Android 45 ... port, path 9/19/2019 Lập trình di động Android 41 Intent Filter 9/19/2019 Lập trình di động Android 42 Intent Filter 9/19/2019 Lập trình di động Android 43 Luật xác định Intent- Filter Hệ thống... 1998); intent. putExtras(extra); 9/19/2019 Lập trình di động Android 19 Ví dụ sử dụng Intent - Extra Gữi tin nhắn SMS 9/19/2019 Lập trình di động Android 20 Ví dụ sử dụng Intent - Extra ... 9/19/2019 Lập trình di động Android 10 Các tham số Intent 9/19/2019 Lập trình di động Android 11 Các ví dụ sử dụng Intent Hiển thị danh bạ liên lạc Xem nội dung trang web: 9/19/2019 Lập trình