Xem mẫu

  1. Intent và Intent-Filter ThS.Bùi Trung Úy
  2. Nội dung bài học  Intent là gì?  Trao đỗi dữ liệu giữ các Activity  Sử dụng Intent-Filter 9/19/2019 Lập trình di động Android 2
  3. Intents là gì?  Intent là một cấu trúc thông điệp mô tả hành động sẽ được thực thi. Nó đại diện cho một hành động đi kèm với dữ liệu theo một ngữ cảnh xác định.  Intent là chuẩn giao tiếp giữa các thành phần trong ứng dụng Android, được sử dụng để chạy Activity, Service hoặc một thành phần khác của ứng dụng hoặc hệ thống. 9/19/2019 Lập trình di động Android 3
  4. Sử dụng Intent  Về cơ bản, Intent là đối tượng của lớp android.content.Intent.  Thành phần chính của Intent bao gồm:  Action: xác định hành động sẽ được thực thi, các hành động này có thể là: ACTION_VIEW, ACTION_EDIT, ACTION_MAIN…  Data: là các dữ liệu đi kèm với Intent, được sử dụng để hành động (Action) thao tác trên nó. 9/19/2019 Lập trình di động Android 4
  5. 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 5
  6. Các Action và data thường dùng 9/19/2019 Lập trình di động Android 6
  7. Ví dụ sử dụng Action/Data 9/19/2019 Lập trình di động Android 7
  8. Ví dụ sử dụng Intent  Một số Intent không cần truyền theo dữ liệu cụ thể, mà chỉ cần kiểu của dữ 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 8
  9. Các tham số của Intent  Ngoài Action/Data, còn có một 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 9
  10. Các tham số của Intent  Category: Thông tin chi tiết về hành động được thực thi, ví dụ như CATEGORY_LAUNCHER có nghĩa là nó sẽ xuất hiện trong Launcher  Type: Chỉ định kiểu dữ liệu (kiểu MIME) được mang bởi Intent. Thường thì Type được suy ra từ chính dữ liệu nếu không xác định Type.  Component: Chỉ định rõ tên của lớp thành phần (thường là Activity) để thực thi của Intent.  Extras: là một đối tượng Bundle dùng để chứa các thông tin kèm theo được 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
  11. Các tham số của Intent 9/19/2019 Lập trình di động Android 11
  12. 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 di động Android 12
  13. Các ví dụ sử dụng Intent  Mở gallery hiển thị các hình ảnh của phone 9/19/2019 Lập trình di động Android 13
  14. Các ví dụ sử dụng Intent  Để mở chạy một Activity khác, sử dụng theo dạng  Intent it = new Intent(, );  Ví dụ:  Intent it = new Intent(this, LoginActivity.class);  startActivity(it); 9/19/2019 Lập trình di động Android 14
  15. Các loại Intent  Có 2 loại Intent:  Explicit Intent (Intent tường minh)  Implicit Intent (Intent không tường minh) 9/19/2019 Lập trình di động Android 15
  16. Explicit Intent  Intent xác định rỏ một component để xử lý (chẳng hạn tên Activity)  Có thể được gán một giá trị cụ thể sử dụng hàm setComponent() hoặc setClass().  Intent này thường không chứa bất kỳ thông tin nào khác (như category, type) và thường được dùng để kết nối với các Activity trong cùng một ứng dụng.  Ví dụ: khởi chạy một Activity khác. 9/19/2019 Lập trình di động Android 16
  17. Implicit Intent  Intent không chỉ định rõ một component cụ thể. Nhưng nó sẽ chứa các thông tin cần thiết (Action/Data) để hệ thống có thể xác định component thực thi Intent đó.  Intent này thường được dùng để chạy các Component của ứng dụng khác.  Ví dụ: Mở Activity xem nội dung trang web 9/19/2019 Lập trình di động Android 17
  18. Dữ liệu phụ (extra) của Intent  Dữ liệu phụ (extra) là các thông tin kèm theo được dùng để cung cấp thông tin bổ sung cho component như dữ liệu các biến,...  Có 2 cách để gắn dữ liệu phụ cho Intent:  Dùng hàm putExtra() của Intent theo dạng intent.putExtra(, )  Dùng đối tượng Bundle để gói nhiều dữ liệu. 9/19/2019 Lập trình di động Android 18
  19. Dữ liệu phụ (extra) của Intent  Ví dụ sử dụng putExtra()  intent.putExtra(“student_name”, “Ngọc Hoa”);  Intent.putExtra(“student_age”, 18);  Ví dụ sử dụng gói bundle để gắn vào Intent  Bundle extra = new Bundle();  extra.putString("student_country", “Da Nang");  extra.putInt("student_yearbirth", 1998);  intent.putExtras(extra); 9/19/2019 Lập trình di động Android 19
  20. Ví dụ sử dụng Intent - Extra  Gữi tin nhắn SMS 9/19/2019 Lập trình di động Android 20
nguon tai.lieu . vn