Tentang Inten
Intents memungkinkan Anda untuk berinteraksi dengan komponen dari aplikasi yang sama serta dengan komponen yang disumbangkan oleh aplikasi lain Ada tiga penggunaan umum intent dalam aplikasiAndroid yaitu:
• Memindahkan satu activity ke activity lain dengan atau tidak membawa data.
• Menjalankan background service, misalnya melakukan sinkronisasi ke server dan menjalankan proses berulang (periodic/scheduler task).
• Mengirimkan obyek broadcast ke aplikasi yang membutuhkan. Misal, ketika aplikasi membutuhkan proses menjalankan sebuah background service setiap kali aplikasi selesai melakukan booting. Aplikasi harus bisa menerima obyek broadcastyang dikirimkan oleh sistemAndroid untuk event booting tersebut.
Intent memiliki dua bentuk yaitu:
1. Explicit Intent adalah tipe Intent yang digunakan untuk menjalankan
komponen dari dalam sebuah aplikasi. Explicit intent bekerja dengan menggunakan
nama kelas yang dituju misal : ac.id.nusamandiri.activity.DetailActivity.
Umumnya intent ini digunakan untuk mengaktifkan komponen pada satu aplikasi.
Sebagai
Contoh:
Jika kita mengenal nama kelas maka kita bisa menavigasi aplikasi dari
OneActivity ke aktivitas lain menggunakan Intent.
|
Intent intent = new Intent(getApplicationContext(), SecondActivity.class); startActivity(intent); |
2. Implicit Intent. Adalah tipe intent yang tidak memerlukan detail nama kelas yang ingin diaktifkan. Model ini memungkinkan komponen dari aplikasi lain bisa merespon request intent yang dijalankan. Penggunaan tipe intent ini umumnya diperuntukan untuk menjalankan fitur/fungsi dari komponen aplikasi lain. Contohnya ketika kita membutuhkan fitur untuk mengambil foto. Daripada membuat sendiri fungsi kamera, lebih baik kita menyerahkan proses tersebut pada aplikasi kamera bawaan dari peranti atau aplikasi kamera lain yang telah terinstal sebelumnya di peranti. Hal yang sama misalnya ketika kita membutuhkan fungsi berbagi konten. Kita bisa memanfaatkan intent untuk menampilkan aplikasi mana saja yang bisa menangani fitur tersebut. Implementasi implicit intent ini akan sangat memudahkan bagi pengembang agar tetap fokus pada proses bisnis inti dari aplikasi yang dikembangkan.
Contoh dasar
Maksud implisit adalah membuka halaman web apapun
|
|
|
Intent intentObj = new Intent(Intent.ACTION_VIEW); intentObj.setData(Uri.parse("http://www.AndroidSquad.Net")); startActivity(intentObj); |
Intent dengan extra
Intent
dengan extra atau putExtra(
)
adalah
sebuah metode dari Intent yang digunakan untuk mengirimkan data ke activity
yang dituju. Data yang akan dikirim pun tipenya dapat bermacam-macam, bisa
berbentuk String, angka (integer, float, double), ArrayList, boolean, array,
character, dan sebagainya. Namun tidak semua tipe data support untuk dikirim
antar Activity, tipe data yang berukuran besar seperti gambar (image bitmap)
atau file, tidak dapat dipassing antar Activity melalui metode ini.
Contoh Intent
Langkah
ke-1: Mari Membuat Desain UI pada activity_main.xml Rancang dua tombol Intent Eksplisit
dan Niat Terimplikasi.
Langkah ke-2: Membuat Aktifitas baru yang bernama: ”Activity Kedua”.
Langkah ke-3: Tulis kode ini dalam MainActivity.java.
public class MainActivity extends AppCompatActivity {
Button explicit_btn, implicit_btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
explicit_btn = (Button)findViewById(R.id.explicit_Intent); implicit_btn = (Button) findViewById(R.id.implicit_Intent);
explicit_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getBaseContext(), SecondActivity.class); startActivity(intent); } }); implicit_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(www.youtube.com/AndroidMasterApp)); startActivity(intent);} }); }} |
Contoh Intent Eksplisit
1. Mendesain Antarmuka Pengguna, Buat 2 Activity & Buat teks seperti ini.
2. Dalam Activity Kedua, Buat 2 Teks dengan rating Bar.
3. Koding PutExtra(): Ini akan mentransfer nilai antar activity
4. Menerima Data Dari Activity Pertama :
sumber: https://luckytruedev.com/learning/pengenalan-android-intent/