Bài 5 Intent -Giao tiếp hệ thông- truyền dữ liệu

23 362 0
Bài 5   Intent -Giao tiếp hệ thông- truyền dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Link down free: http://goo.gl/JVCOQ6 Tổng hợp Share Tài Liệu Lập trình Android trung tâm tin học KHTNo Lập trình Android TTTH KHTNBài 1 Hello AndroidBài 2 Các thành phần ứng dụng AndroidBài 3 View Các điều khiển cơ bảnBài 4 Tài nguyên ứng dụng cơ bảnBài 5 IntentBài 6 Tài nguyên hình giao dien

Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh TRUNG TÂM TIN HỌC Lập trình Android Bài Intent Ngành Mạng & Thiết bị di động 2014 Nội dung Khái niệm Intent ● Cơ chế hoạt động ● Các dạng Intent ● Xây dựng Intent ● Truy xuất Intent ● Gửi Phản hồi Intent Activity Intent Filter Lập trình Android (2014) – Bài Intent 1.1 Cơ chế hoạt động  Intent sử dụng để truyền tải thông điệp, yêu cầu hành động xử lý từ thành phần gọi  Intent sử dụng ba trường hợp chính: ● Khởi động Activity thông qua phương thức startActivity ● Khởi động Service thông qua phương thức startService ● Chuyển thông điệp đến BroadcastReceiver thơng qua phương thức sendBroadcast Lập trình Android (2014) – Bài Intent 1.2 Các dạng Intent  Intent chia làm hai dạng: ● Explicit Intent: định rõ thành phần xử lý thông qua tên lớp, thường dùng để gọi đến thành phần ứng dụng ● Implicit Intent: không định rõ thành phần xử lý, thay vào bổ sung thuộc tính như: mơ tả hành động, dạng liệu… Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Đối tượng Intent khởi động thành phần ứng dụng đồng thời mang thông tin liệu xử lý, bao gồm thành phần sau: ● Component: tên thành phần nhận xử lý Intent ● Action: hành động yêu cầu thực thi ● Data: liệu yêu cầu nhận xử lý ● Category: mô tả lĩnh vực hoạt động ● Extras: key/value cho phép gửi nhận thông tin ● Flag: biến cờ mô tả cách thức hoạt động Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Explicit Intent: cần sử dụng thuộc tính Component ● Khai báo: Intent intent = new Intent(this, ); ● Ví dụ: khởi động Activity có tên SecondActivity từ MainActivity Intent intent = new Intent(MainActivty.this, SecondActivity.class); startActivity(intent); Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Implicit Intent: cần sử dụng thuộc tính Action ● Khai báo: Intent intent = new Intent(); ● Ví dụ: khởi động Activity thực ACTION_VIEW Intent intent = new Intent(Intent.ACTION_VIEW); startActivity(intent); Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Action: số Action thường dùng Intent ● ACTION_VIEW ● ACTION_DIAL ● ACTION_CALL ● ACTION_EDIT ● ACTION_DELETE ● ACTION_SEND ● ACTION_SENDTO Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Data: dạng đường dẫn URI, cho phép trỏ đến bảng liệu truy xuất thông tin bao gồm: ● type ● scheme + authority + path  Data định thông qua ba phương thức: ● setData ● setType ● setDataAndType  Ví dụ: thực gọi thông qua liệu số điện thoại Intent callPhone = new Intent(Intent.ACTION_CALL); callPhone.setData(Uri.parse(“tel:01234-56789”)); startActivity(callPhone); Lập trình Android (2014) – Bài Intent 1.3 Xây dựng Intent  Extras: bao gồm biến Bundle chứa giá trị bổ sung cần thiết cho thành phần nhận xử lý Intent  Có hai cách gửi 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(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 (2014) – Bài Intent 10 1.3 Xây dựng Intent  Extras: ● Ví dụ: gửi số nguyên x vào Intent  Trực tiếp: Intent intent = new Intent(); intent.putExtra(“SoNguyenX”, x);  Thông qua Bundle: Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putInt(“SoNguyenX”, x); intent.putExtras(bundle); Lập trình Android (2014) – Bài Intent 11 1.4 Truy xuất  Truy xuất: ● Truy xuất liệu trực tiếp Extras:  Dùng phương thức getExtra(Key, DefaultValue) để truy xuất liệu Intent ● Thông qua Bundle  Dùng phương thức getExtras() để truy xuất đối tượng Bundle Intent  Dùng phương thức get(Key, DefaultValue) để truy xuất liệu Bundle Lập trình Android (2014) – Bài Intent 12 1.4 Truy xuất  Truy xuất: ● Ví dụ: truy xuất số nguyên gửi Intent  Trực tiếp: Intent intent = getIntent(); int soNguyenX = intent.getIntExtra(“SoNguyenX”, 0);  Thông qua Bundle: Intent intent = getIntent(); Bundle bundle = intent.getExtras(); int soNguyenX = bundle.getInt(“SoNguyenX”, 0); Lập trình Android (2014) – Bài Intent 13 1.5 Gửi phản hồi Intent Activity  Việc gửi phản hồi Intent Activity chia làm bước ● Bước 1: Gửi Intent thông qua phương thức startActivityForResult() bao gồm tham số:  Intent: 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 xử lý Intent, sau xác nhận thơng tin phản hồi thông qua phương thức setResult() thành phần ứng dụng phản hồi  Khởi tạo đối tượng Intent, thiết lập thuộc tính cần thiết: action, category…  Gửi liệu phản hồi trực tiếp vào Intent thông qua biến Bundle  Gọi phương thức setResult với tham số truyền vào 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 với intent tương ứng  resultCode: mã kết nhận từ phía phản hồi  Intent: liệu nhận từ phía phản hồi Lập trình Android (2014) – Bài Intent 14 1.5 Gửi phản hồi Intent Activity  Mơ hình hoạt động: startActivtyForResult(intent) getIntent SendActivity • setResult(intent) requestCode ReceiveActivity • resultCode onActivityResult(intent) Lập trình Android (2014) – Bài Intent 15 Nội dung Khái niệm Intent Intent Filter ● Mô tả ● Qui tắc thiết lập ● Xây dựng IntentFilter Lập trình Android (2014) – Bài Intent 16 2.1 Mô tả  Thực mô tả cấu trúc Intent, cho phép thực nhận Intent theo cấu trúc mơ tả  Có thể lọc Intent theo ba thuộc tính: ● Action ● Data (type, scheme, authority & path) ● Category Lập trình Android (2014) – Bài Intent 17 2.2 Qui tắc thiết lập  IntentFilter thực lọc Intent theo thứ tự ưu tiên có nhiều thuộc tính thiết lập có qui tắc định: ● Nếu khơng thiết lập Action, nhận Intent khơng có Action ● Nếu thiết lập thuộc tính Action khơng thiết lập thuộc tính Data, cho phép lọc Intent khơng có Data ● IntentFilter cho phép nhận Intent có liệu có liên quan đến thuộc tính Action Lập trình Android (2014) – Bài Intent 18 2.3 Xây dựng IntentFilter  Có thể khởi tạo đối tượng IntentFilter cách: ● Trong java Code:  Các hàm khởi tạo:     IntentFilter() IntentFilter(String Action) IntentFilter(String Action, URI data) IntentFilter(IntentFilter o) ● Trong tập tin AndroidManifest.xml:  Khai báo thẻ cặp thẻ  Trong cặp thẻ chứa thẻ sau:    Lập trình Android (2014) – Bài Intent 19 2.3 Xây dựng IntentFilter  Action: ● Các thuộc tính:   Trong đó:  android:name : sử dụng thuộc tính lớp Intent.ACTION_string tự định nghĩa chuỗi action ● Ví dụ khai báo: Lập trình Android (2014) – Bài Intent 20 2.3 Xây dựng IntentFilter  Data: ● Các thuộc tính:  ● Ví dụ khai báo: Lập trình Android (2014) – Bài Intent 21 2.3 Xây dựng IntentFilter  Category: ● Các thuộc tính:   Trong đó:  android:name : Intent.CATEGORY_string Khai báo theo cấu trúc android.intent.category.string ● Ví dụ khai báo: Lập trình Android (2014) – Bài Intent 22 Thảo luận Lập trình Android (2014) – Bài Intent 23 ... (2014) – Bài Intent 10 1.3 Xây dựng Intent  Extras: ● Ví dụ: gửi số nguyên x vào Intent  Trực tiếp: Intent intent = new Intent( ); intent. putExtra(“SoNguyenX”, x);  Thông qua Bundle: Intent intent... báo: Intent intent = new Intent( ); ● Ví dụ: khởi động Activity thực ACTION_VIEW Intent intent = new Intent( Intent.ACTION_VIEW); startActivity (intent) ; Lập trình Android (2014) – Bài Intent. .. niệm Intent ● Cơ chế hoạt động ● Các dạng Intent ● Xây dựng Intent ● Truy xuất Intent ● Gửi Phản hồi Intent Activity Intent Filter Lập trình Android (2014) – Bài Intent 1.1 Cơ chế hoạt động  Intent

Ngày đăng: 17/06/2014, 17:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan