HƯỚNG DẪN SỬ DỤNG INTENT TRONG ANDROID

  -  

1. Intent là gì ?

Intents là 1 trong yếu tắc đặc biệt quan trọng trong apk. Nó chất nhận được các nhân tố ứng dụng rất có thể những hiểu biết những hàm trường đoản cú những thành phần ứng dụng android khác. ví dụ như một activity hoàn toàn có thể chạy một activity không giống sống bên phía ngoài nhằm chụp ảnh.

Bạn đang xem: Hướng dẫn sử dụng intent trong android

Intents là một trong những objects của android.nội dung.Intent. Intents sẽ được gửi cho hệ thống android nhằm khẳng định hành động bạn muốn tiến hành, đối tượng người sử dụng bạn muốn cách xử lý.

Intents hoàn toàn có thể bao hàm dữ liệu trải qua Bundle. Bundle giống hệt như một cái hộp. Bên nhấn sẽ mngơi nghỉ bundle ra nhờ key cùng kéo ra dữ liệu

*

2. Chạy một Activity

Để chạy một activity, thực hiện cách làm startActivity(intent). Phương thức này được quan niệm vào đối tượng người sử dụng context. Xem ví dụ dưới đây

Intent i = new Intent(this, ActivityTow.class); startActivity(i);Activitys nhưng mà được khởi chạy vì chưng một activitys không giống thì Call là sub-activityes

Ngoài lề: Bạn cũng hoàn toàn có thể chạy services trải qua intents. Sử dụng hàm startService(Intent)

3. explicit intents và implicit intents

3.1. explicit intents

explicit intents dịch word by word thì Có nghĩa là intent rõ ràng. Các chúng ta hiểu dễ dàng và đơn giản explicit intents xác minh rõ, cụ thể các thành phần tđắm say gia hành vi (giống hệt như ví dụ phần 2, nó chỉ rõ intent này dùng để start ActivityTow.class) hoặc hỏi khối hệ thống android nhằm khoảng chừng, đánh giá các nhân tố đã có được đăng ký trên dữ liệu của intent

explicit intents khẳng định một phương pháp cụ thể những yếu tố sẽ được gọi bởi khối hệ thống app android. lấy ví dụ như sau đây đã cho bạn biết làm cầm cố làm sao để tạo một intents ví dụ với gửi nó cho khối hệ thống app android để chạy một activity

Intent i = new Intent(this,ActivityTow.class); i.putExtra("Value1","This value one for ActivityTow"); i.putExtra("Value2","This value tow for ActivityTow");

3.2. implicit intents

Intents ẩn chứng thực hành vi rất cần được thực hiện cùng tài liệu đến hành động. Nếu một intents ẩn được gửi mang lại khối hệ thống app android, nó sẽ search tìm tất cả những nguyên tố đã có được ĐK cho các hành động ví dụ (yếu tắc dùng để start mẫu hành vi đó) và phong cách tài liệu phù hợp. Nếu chỉ gồm một yếu tắc được search thấy, hệ thống android sẽ start yếu tố này ngay lập tức mau chóng. Nếu tất cả một vài ba nhân tố được tìm thấy. Người sử dụng sẽ nhận thấy hộp thoại chắt lọc cùng bắt buộc quyết đinc yếu tắc như thế nào được áp dụng cho intents.

Xem thêm: Nông Trại Vui Vẻ Hạnh Phúc, Trò Chơi Chăm Sóc Nông Trại Vui Vẻ

ví dụ như, đoạn code dưới đây sẽ thử dùng hệ thống app android để xem một trang web.Tất cả các trình chăm chú web nên được đăng ký tương ứng vào dữ liệu intent trải qua cỗ lọc intent

Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.vogella.com")); startActivity(i);

4. Truyền dữ liệu giữa những activities

4.1. Truyền tài liệu mang lại yếu tố đích

Để truyền dữ liệu mang đến intent, ta cần sử dụng cách tiến hành putExtras(). Xem vi dụ phần 3.1 Extras là một cặp key/value. key luôn luôn là đẳng cấp string. value bạn cũng có thể áp dụng hình trạng tài liệu nguyên ổn tbỏ hoặc đối tượng người sử dụng của String, Bundle, ....

Thành phần tiếp nhận hoàn toàn có thể đem lại được đối tượng người dùng intent trải qua hàm getIntent(). Để lôi ra được tài liệu, tùy nằm trong vào kiểu dữ liệu họ truyền đi, thực hiện các cách làm getStringExtra(), getIntExtra();

Ví dụ:

Intent intent = new Intent(MainActivity.this, Main2Activity.class); Intent.putExtra(“name”,”Tran Minch Hai”); -------------------------------------------------------------------------------------------- Intent intent = getIntent(); String hoTen = intent.getStringExtra(“name”); // hoTen = “Tran Minh Hai”Ta rất có thể áp dụng đối tượng người tiêu dùng Bundle. Đóng gói tất cả tài liệu vào vào Bundle ngừng truyền Bundle cho Intentví dụ:

Intent mIntent = new Intent(MainActivity.this, Main2Activity.class);Bundle mBundle = new Bundle();mBundle.putString(key, value);mIntent.putExtras(mBundle);----------------------------------------------------------------------String value = getIntent().getExtras().getString(key);

4.2. Sử dụng intent phân chia sẻ

Có tương đối nhiều áp dụng app android được cho phép chúng ta chia sẻ tài liệu với những người dân khác, ví dụ: facebook, G+, Gmail... quý khách hàng rất có thể gửi tài liệu cho tới một vài ba nguyên tố như thế nào kia. ví dụ sau đây sẽ miêu tả câu hỏi áp dụng intent như vậy

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(game android.nội dung.Intent.EXTRA_TEXT,"News for you!"); startActivity(intent);

4.3. Lấy lại hiệu quả tài liệu từ bỏ sub-activity

Một activity hoàn toàn có thể được đóng lại thông qua button bachồng bên trên điện thoại cảm ứng. Trong ngôi trường vừa lòng kia, hàm finish() sẽ tiến hành thực hiện. Nếu activity đã có được khởi chạy với hàm startActivity(intent), fan Gọi ko quan trọng bắt buộc tất cả tác dụng hoặc phản hồi từ activity nhưng hoàn toàn có thể cthua kém ngay lập tức.

Xem thêm: Anime Doraemon The Movie Tập 13 : Nobita Và Vương Quốc Trên Mây

Nếu các bạn start một activity cùng rất hàm startActivityForResult(), những điều đó là bạn muốn gồm bình luận tự sub-activity. khi một sub-activity chấm dứt, hàm onActivityResult() bên trên sub-activity sẽ được Call với bạn cũng có thể thực hiện hành động dựa vào kết quả.

Trong hàm startActivityForResult(), chúng ta có thể xác minh hành vi bạn sẽ khởi chạy. Hành động này bạn sẽ mong ước nhận về tác dụng. Một hành vi đã có được khởi chạy cũng hoàn toàn có thể cấu hình thiết lập một quãng mã code mà bạn call rất có thể áp dụng nhằm xác minh hành vi sẽ được cancel hoặc not

sub-activity áp dụng hàm finish() để có thể tạo một intent new cùng truyền tài liệu mang lại nó. Nó cũng tùy chỉnh công dụng thông qua hàm setResult

Ví dụ:

public void onClick(View view) Intent i = new Intent(this,ActivityTow.class); i.putExtra("value1","This value one for activityTow"); i.putExtra("Value2", "This value two ActivityTwo"); // phối the request code to any code you lượt thích, // you can identify the callbachồng via this code startActivityForResult(i, REQUEST_CODE); Nếu các bạn sử dụng hàm startActivityForResult(), thì sau khi start activity sẽ điện thoại tư vấn mang lại sub-activity

Nếu hàm sub-activity hoàn thành, nó đã gửi tài liệu mang đến loại vẫn call nó trải qua intent. điều này được xử lý bên trên hàm finish()