1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn lập trình Android bài 4

16 177 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 99,36 KB

Nội dung

Bài 4: Intent truyền nhận liệu Activity Nội dung học Intent Intent - filter Truyền nhận liệu Activity Intent 1.1 Khái niệm Intent - Intent cấu trúc liệu dạng tin nhắn làm cầu nối Activity, Service, Broadcast ứng dụng ứng dụng Intent 1.2 Các thuộc tính đối tượng Intent Thuộc tính Action Thuộc tính phụ Category – Thông tin nhóm action - Tên (String) action mà Intent yêu cầu thực - Có thể action Android định nghĩa sẵn, người lập trình định nghĩa Type – định dạng kiểu liệu (Chuẩn MIME) Thường tự động xác định Data - Dữ liệu mà Activity gọi xử lý - Định dạng Uri (thông qua hàm Uri.parse(data) Component- Chỉ định cụ thể lớp thực thi Activity Extras – Chứa tất cặp (key – value) ứng dụng thêm vào để truyền liệu qua Intent Intent 1.3 Phân loại Intent  - Intent tường minh: Intent tường minh intent dùng thuộc tính phụ để đích danh tên lớp thực thi Activity Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent);  Intent không tường mình: - Intent không tường minh intent không định lớp cụ thể mà thay vào dùng liệu khác (action, data, type ) để hệ thống tự định xem lớp (app nào) thích hợp để đáp ứng intent - Thông tin action category activity app đáp ứng intent phải khai báo Manifest app (AndroidManifest.xml) dạng Intent-filter (tất nhiên muốn gọi builtin action ta không cần quan tâm đến vấn đề này) Intent Ví dụ: Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("https://www.google.com.vn")); startActivity(intent); - Trong trường hợp muốn mở trang web Google cần khai báo thêm quyền truy cập internet file Manifest sau: Intent  Các action định nghĩa sẵn Intent Ví dụ: - Quay số điện thoại Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:098746422")); startActivity(intent); - Hiển thị danh bạ điện thoại Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://contacts/people/")); startActivity(intent); - Chuỗi data hàm Uri.parse(data) định dạng liệu ContentProvider Intent  Các Action tương ứng định nghĩa sẵn Intent - filter 2.1 Khái niệm - IntentFilter thành phần giúp cho hệ thống Android biết ứng dụng bạn làm - Tất Activity, Service BroadCast Receiver sử dụng IntentFilter để thông báo cho hệ thống biết dạng Intent không tường minh mà xử lý Nói cách khác, IntentFilter lọc cho Intent mà hiểu phép qua Intent Filter mô tả khả component định nghĩa Intent - filter  Ví dụ: Tạo giao diện layout demo_intentent_filter.xml có TextView Tạo activity thứ src DemoIntenFilter public class DemoIntenFilter extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.demo_intentent_filter); } } Trong file Manifest khai báo sau:       Ra hình home thực gọi thấy hiển thị ứng dụng Truyền nhận liệu Activity 3.1 Truyền liệu  Cú pháp: intent.putExtra(name, value); intent: Là đối tượng intent name: Là tên liệu value: Là giá trị mà bạn muốn truyền sang Activity khác Truyền nhận liệu Activity  Ví dụ: Intent intent = new Intent(); intent.putExtra("KEY_AGE", 19); Truyền nhận liệu Activity 3.2 Nhận liệu  Cú pháp: getIntent().getExtras().get(key); key: Chính name truyền liệu Truyền nhận liệu Activity  Ví dụ: int age = getIntent().getExtras().get(("KEY_AGE");  Chú ý: - Có thể khởi động activity với yêu cầu activity làm xong công việc trả lại kết cho activity trước - Ví dụ activity A yêu cầu activity làm giúp việc chụp ảnh, activity B đáp ứng việc này, sau user chụp ảnh xong trả lại file ảnh cho activity A Q&A ...  

Ngày đăng: 12/09/2017, 01:00

w