Daur Hidup Activity | Memahami INTENT Jembatan Activity | Implicit & Explisit

 

    Intent adalah sebuah jembatan yang menghubungkan interaksi antar Activity di aplikasi Android. Intent juga dapat membawa dan mengirimkan data ke Activity lain, bahkan ke aplikasi lain (Gmail, Google Map dsb). Intinya, Intent merupakan mekanisme untuk melakukan sebuah action dan komunikasi antar komponen aplikasi. 

    Intent terbagi menjadi 2 bagian yaitu Intent Implicit dan Intent Explicit.


Intent Impicit

    Intent Implicit: Berfungsi melakukan perpindahan activity (halaman) menuju ke aplikasi internal smartphone. Contohnya ketika hendak membuka sebuah Telphone, Mengirim SMS, MAP dan lain sebagainya.

    Mari kita coba untuk mengakses Telp di Android

1. Buatlah projek baru dengan name: Intent_APP dan  Language:Java
Masuk ke Activity_Main.xml dan tambahkan sebuah ImageButton:
<ImageButton
android:id="@+id/imgCall"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="?android:attr/listChoiceIndicatorSingle"
android:backgroundTint="@color/purple_500"
android:src="@drawable/ic_baseline_local_phone_24"
android:onClick="Call"/>
Masuk ke MainActivity.java, Tambahakan sebuah method dengan nama Call dan codenya adalah:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void Call(View c){
ImageButton Call = findViewById(R.id.imgCall);
String Nomor = "tel:081362656681";
Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse(Nomor));
startActivity(i);
}
    Action_DIAL merupakan permintaan agar android memunculkan patc DIL. Jika anda ingin langksung terhubung ke nomor tujuan gantilah ACTION_DIAL menjadi ACTION_CALL.
    Masuk ke rood App -> manifests dan cari file AndroidManifest.xml dan tambahkan code berikut diatas <Application>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Perintah diatas agar android memberikan izin untuk mengakses Activity Call.

Jalankan program

Intent Explicit
    Intent Explicit: Berfungsi melakukan perpindahan activity (halaman) ke activity (halaman) lainnya. Explicit intent bekerja dengan menggunakan nama kelas atau hanya dengan activity saja. yang dituju, misal com.dicoding.activity.DetailActivity. Umumnya intent ini digunakan untuk mengaktifkan komponen pada satu aplikasi.

    Intent Explicit: Berfungsi melakukan perpindahan activity (halaman) ke activity (halaman) lainnya. Explicit intent bekerja dengan menggunakan nama kelas atau hanya dengan activity saja. yang dituju, misal com.dicoding.activity.DetailActivity. Umumnya intent ini digunakan untuk mengaktifkan komponen pada satu aplikasi.

    Intent Explicit  dibagi 2:

1. Perpindahan langsung ke halaman activity

Buat projek baru dengan nama Intent_Ex, dan language:java

Tambahkan button di Activity_Main.xml

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Activity ke 2"
android:onClick="Activity_2"/>

Tambahkan xml baru. Klik kanan pada app-> new->xml->Layout XML File.


Beri nama activity dengan activity_2. Ingan nama activity tidak boleh mengandung huruf kapital. Jika sudah klik Finish.


Sekarang kita memiliki halaman activity baru. Silahkan tambahkan komponen textView seperti berikut:

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ini Halaman Activity ke 2"/>

Masuk ke MainActivity.java dan panggil activity_2. Buatlah method baru dan masukkan code berikut:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}
public void Activity_2(View v){
setContentView(R.layout.activity_2);
}

Jalankan program.


2. Perpindahan dengan menggunakan class.

Sekarang kita akan memanggil activity kedua dengan cara menggunakan class. Masih di projek yang sama silahkan klik kanan di App-> new->Activity->Empty Activity.


Seperti langkah sebelumnya, Anda dapat mengganti name untuk activity ke dua. Kemudina tentukan Language JAVA/KOTLIN. Sedangkan untuk konfigurasi yang lain biarkan saja dan klik finish jika sudah selesai:


Perhatikan terdapat dua file tambahan di halaman kerja kita. Yailtu activity_main_2.xml dan Main2Activity.java/Main2Activity.kt.


Masuk ke MainActivity.java dan tambahkan code berikut:

JAVA

public void Activity_2(View v){
Intent i = new Intent(MainActivity.this, Main2Activity.class);
startActivity(i);
}
sedangkan pada KOTLIN:
fun  Activity_2(view: V) {
val i = Intent (this, Activity_2::class.java)
startActivity(i)
}

    Code MainActivity.thismerupakan code yang menjelaskan class yang sedang aktif, sedangkan code Main2Activity.class menjelaskan class yang dituju.

Jalankan Program


Previous Post Next Post