UNIKOM Codelabs

Codelabs is a division of digital experts. We created an application to help the people. And we’re from Indonesia Computer University.

Follow publication

Intent explicit and implicit in Android

--

Kali ini saya akan membahas intent yang ada pada Android.

Apa itu intent?

Intent adalah sebuah objek messaging yang digunakan untuk melakukan permintaan sebuah aksi atau berkomunikasi antar app component seperti activity, service, dan broadcast.

Jenis Intent

Ada 2 jenis intent, yaitu:
1. Intent Explicit
Merupakan intent yang digunakan berkomunikasi atau menjalankan komponen yang ada di dalam aplikasi dengan menyebutkan nama class secara spesifik, biasanya digunakan untuk memulai komponen di aplikasi sendiri.

val intent = Intent(this@HomeActivity, ProfileActivity::class.java)
startActivity(intent)

2. Intent Implicit
Merupakan intent yang digunakan untuk berkomunikasi atau menjalankan komponen dari aplikasi lain seperti membuka camera atau membuka browser dengan tidak menyebutkan nama class secara spesifik.

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://developer.android.com"));
startActivity(intent);

Implementasi Intent pada project Android Studio

  1. Buatlah project baru pada android studio terlebih dahulu.
  2. Pada activity_main.xml tambahkan kode berikut ini :
<Button
android:id="@+id/btn_move_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="72dp"
android:text="@string/move_activity"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.526"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_move_browser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/move_browser"
app:layout_constraintEnd_toEndOf="@+id/btn_move_activity"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/btn_move_activity"
app:layout_constraintTop_toBottomOf="@+id/btn_move_activity" />

Pada kodingan di atas kita akan membuat 2 buah button yang nantinya akan digunakan untuk implementasi intent.

3. Buatlah activity baru dengan contoh activity bernama AnotherActivity. Kemudian pada activity_another.xml tambahkan kode berikut ini :

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/berhasil_pindah_activity"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Pada contoh kode di atas, kita akan menampilkan sebuah text view.

4. Kemudian pada MainActivity.kt tambahkan kode berikut ini :

val btnMoveActivity: Button = findViewById(R.id.btn_move_activity)
val btnMoveBrowser: Button = findViewById(R.id.btn_move_browser)

btnMoveActivity.setOnClickListener{
val intent = Intent(this, AnotherActivity::class.java)
startActivity(intent)
}

btnMoveBrowser.setOnClickListener{
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://developer.android.com"));
startActivity(intent)
}

Kode di atas merupakan implementasi intent, intent explicit pada button move activity (untuk berpindah activity) dan intent implicit pada button move browser (untuk membuka alamat url di browser contoh di atas menggunakan url https://developer.android.com)

5. Jalankan project tersebut, maka hasilnya akan seperti berikut ini :

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

UNIKOM Codelabs
UNIKOM Codelabs

Published in UNIKOM Codelabs

Codelabs is a division of digital experts. We created an application to help the people. And we’re from Indonesia Computer University.

Arsy Opraza
Arsy Opraza

Written by Arsy Opraza

Software Engineer | AWS Community Builders

No responses yet

Write a response