Tải bản đầy đủ (.ppt) (29 trang)

LẬP TRÌNH ANDROI INTENT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (781.03 KB, 29 trang )

Trường ĐH Quang Trung
KHOA CNTT

Lập trình Android
Bài 4: Intent

2017


Nội dung
1.

Cơ chế hoạt động

2.

Các dạng Intent

3.

Các tham số

4.

Thực thi một Intent

5.

Gửi và phản hồi Intent trong Activity

6.



DialogBox

Lập trình Android

2


1.1. Cơ chế hoạt động
 Intent được sử dụng để truyền tải thông điệp, yêu cầu một

hành động xử lý từ thành phần được gọi.
 Intent được sử dụng trong ba trường hợp chính:

Khởi động Activity
Chuyển thông điệp đến
BroadcastReceiver
Khởi động Service

Lập trình Android – Module 1

3


1.2 Các dạng intent

 Intent được chia làm hai dạng:
● Explicit Intent: chỉ định rõ thành phần xử lý thông qua tên lớp,
thường được dùng để gọi đến các thành phần trong cùng ứng
dụng.

● Implicit Intent: không chỉ định rõ thành phần xử lý, thay vào
đó bổ sung các thuộc tính như: mô tả hành động, dạng dữ
liệu…

Lập trình Android – Module 1

4


1.3 Các tham số
Các tham số chính của intent:
1. Action: Thực hiện một action được xây dựng sẵn như:
ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, … hoặc một
activity do người dùng tạo ra
2. Data: là dữ liệu sẽ được xử lý trong action, thường được diễn tả
là một Uri (Uniform Resource Identifier)

Lập trình Android – Module 1

5


1.4. Thực thi một intent
Để gọi một intent ta thực hiện

Lập trình Android – Module 1

6



1.4. Thực thi một intent
Ví dụ
ACTION_DIAL tel:123
Hiển thị màn hình gọi với số gọi là 123
ACTION_VIEW
Hiển thị trang tìm kiếm google trong trình duyệt web
ACTION_EDIT content://contacts/people/2
Hiển thị màn hình chỉnh sửa thông tin về người với mã danh 2
ACTION_VIEW content://contacts/people/2
Hiển thị thông tin về người với mã danh 2

Lập trình Android – Module 1

7


1.4. Thực thi một intent
Một số Action thường dùng trong intent
ACTION_ANSWER - Mở Activity để xử lý cuộc gọi tới
ACTION_CALL - Mở 1 Phone Dialer và thực hiện cuộc gọi
ACTION_DELETE - Mở Activity cho phép xóa dữ liệu mà địa chỉ
của nó chứa trong data URI
ACTION_SEND – Mở 1 Activity cho phép gửi dữ liệu lấy từ data
URI, kiểu dữ liệu xác định trong thuộc tính type
ACTION_SENDTO – Mở 1 Activity cho phép gửi dữ liệu lấy từ data
URI
ACTION_VIEW – Mở 1 Activity để hiển thị dữ liệu trong data URI
ACTION_MAIN – Khởi chạy để sử dụng một Activity

Lập trình Android – Module 1


8


1.4. Thực thi một intent
Ví dụ
Hiển thị màn hình gọi với số gọi
Intent intent = new Intent ((Intent.ACTION_DIAL, Uri.parse( "tel:
+84986490101"));
startActivity(intent);
Tìm kiếm từ khóa “lập trình android” trên trang tìm kiếm mặc định
của trình duyệt web
Intent intent = new Intent (Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, “lập trình android");
startActivity(intent);

Lập trình Android – Module 1

9


1.4. Thực thi một intent
Ví dụ
Hiển thị ảnh sử dụng thuộc tính mở rộng
Intent myIntent = new Intent();
myIntent.setType("image/pictures/*");
myIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivity(myIntent);
Sử dụng trình duyệt web mở trang youtube.com


Thêm dòng lệnh vào AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
Lập trình Android – Module 1

10


1.4. Thực thi một intent
Ví dụ
Hiển thị google map
String geoCode = "geo:0,0?q=1860+east+18th+street+cleveland+oh";
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(geoCode));
startActivity(intent);
Thêm dòng lệnh vào AndroidManifest.xml:
android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

Lập trình Android – Module 1

11


1.4. Thực thi một intent
Ví dụ
Tìm đường đi từ vị trí A đến vị trí B

Mở ứng dụng nghe nhạc


Lập trình Android – Module 1

12


1.4. Thực thi một intent
Ví dụ
Mở một bài hát được lưu trữ trong thẻ nhớ SD

Lập trình Android – Module 1

13


1.4. Thực thi một intent
Ví dụ
Gửi một tin nhắn SMS có đính kèm hình ảnh

Lập trình Android – Module 1

14


1.4. Thực thi một intent
Ví dụ
Gửi email đến một địa chỉ nào đó.

Lập trình Android – Module 1

15



1.4. Thực thi một intent
Ví dụ
Xây dựng ứng dụng thực hiện gọi điện đến một số bất kỳ

Lập trình Android – Module 1

16


1.4. Thực thi một intent

Thêm dòng lệnh vào AndroidManifest.xml:
<uses‐permission android:name="android.permission.CALL_PHONE" />

Lập trình Android – Module 1

17


1.5. Gửi và phản hồi Intent trong Activity



Việc gửi và phản hồi Intent trong Activity được chia làm 3 bước
● Bước 1: Gửi Intent thông qua phương thức startActivityForResult() bao gồm
2 tham số:
 Intent: dữ liệu cần gửi để xử lý.
 requestCode: mã yêu cầu xử lý từ phía gửi

● Bước 2: nhận và xử lý Intent, sau đó xác nhận thông tin phản hồi thông qua
phương thức setResult() trong thành phần ứng dụng phản hồi
 Khởi tạo đối tượng Intent, thiết lập các thuộc tính cần thiết: action,
category…
 Gửi dữ liệu phản hồi trực tiếp vào Intent hoặc thông qua biến Bundle
 Gọi phương thức setResult với tham số truyền vào là Intent
● Bước 3: Gọi phương thức onActivityResult() truy xuất ba tham số
 requestCode: mã yêu cầu giải quyết với intent tương ứng
 resultCode: mã kết quả nhận về từ phía phản hồi
 intent: dữ liệu nhận về từ phía phản hồi

Lập trình Android – Module 1

18


1.5. Gửi và phản hồi Intent trong Activity

 Mô hình

Lập trình Android – Module 1

19


1.5. Gửi và phản hồi Intent trong Activity
Ví dụ
1. Gửi một yêu cầu hiển thị tất cả file video và image
public void showSoundTrack()
{

Intent myintent=new Intent();
myintent.setType("video/*, images/*");
myintent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(myintent,0);
}

Lập trình Android – Module 1

20


1.5. Gửi và phản hồi Intent trong Activity
Ví dụ
2. Nhận kết quả trả về bằng cách cài đặt phương thức onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0&&resultCode==RESULT_OK)
{
String selectimage=data.getDataString();
Toast.makeText(this,selectimage,1).show();
Intent myAct3=new Intent(Intent.ACTION_VIEW,
Uri.parse(selectimage));
startActivity(myAct3);
}
}
Lập trình Android – Module 1

21



1.5. Gửi và phản hồi Intent trong Activity
 Có hai cách gửi dữ liệu vào Intent
● Trực tiếp
 Dùng phương thức putExtra(Key, Value) thiết lập trực tiếp vào Intent

● Thông qua Bundle
 Tạo đối tượng Bundle, dùng phương thức set<KDL>(Key, Value) vào đối
tượng Bundle
 Dùng phương thức putExtras() gửi Bundle vào Intent

Lập trình Android – Module 1

22


1.5. Gửi và phản hồi Intent trong Activity



Truy xuất:

● Truy xuất dữ liệu trực tiếp Extras
 Dùng phương thức
get<KDL>Extra(Key,DefaultValue) để truy xuất dữ
liệu Intent

● Thông qua Bundle
 Dùng phương thức getExtras() để truy xuất đối

tượng Bundle trong Intent
 Dùng phương thức get<KDL>(Key, DefaultValue)
để truy xuất dữ liệu trong Bundle
Lập trình Android – Module 1

23


1.5. Gửi và phản hồi Intent trong Activity



Truy xuất:

● Ví dụ: truy xuất số nguyên được gửi trong Intent
 Trực tiếp:
Intent intent=getIntent();
Int soNguyenX= intent.getInteExtra(“SoNguyenX”),0)
 Thông qua Bundle:
Intent intent=getIntent();
Bundle bundle=intent.getExtras();
Int soNguyenX=bundle.getInt(“SoNguyenX”,0)

Lập trình Android – Module 1

24


1.6. DialogBox
AlertDialog

Cấu trúc

Lập trình Android – Module 1

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×