Xem mẫu
- Intent và Intent-Filter
ThS.Bùi Trung Úy
- 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
- 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
- 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
- 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
- Các Action và data thường dùng
9/19/2019 Lập trình di động Android 6
- Ví dụ sử dụng Action/Data
9/19/2019 Lập trình di động Android 7
- 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
- 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
- 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
- Các tham số của 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 di động Android 12
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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