Belajar Memahami Konsep Activity dan Intent dengan Kotlin di Android

Last Updated on 7 years by Mas Herdi

Seperti halnya saat kita membuat aplikasi Android menggunakan Java, saat kita membuat aplikasi Android menggunakan Kotlin pun kita tidak bisa terlepas dari konsep Activity dan Intent. Di tutorial sebelumnya kita sudah pernah belajar konsep Activity dan Intent di Android dengan menggunakan Java, kali ini kita akan memahami konsep yang sama hanya bedanya dengan menggunakan Kotlin.

Memahami Activity dan Intent di Kotlin

Pada tutorial ini, kita akan belajar hal basic yang berguna untuk pemula atau siapapun yang baru belajar membuat aplikasi Android dengan Kotlin, yaitu tentang bagaimana berinteraksi antar Activity. Kita akan menggunakan flow yang simpel, dimana akan ada dua Activity, ketika kita klik tombol pada halaman utama (Activity 1), kita akan pindah ke halaman/screen lain (Activity 2).

Sedangkan apa gunanya Intent? Kegunaan Intent banyak macamnya dan luas, namun di tutorial ini Intent berperan sebagai semacam object yang menjembatani perpindahan antara Activity 1 dan Activity 2.

Ada baiknya sebelum lanjut ke codingan kalian bisa membaca terlebih dahulu tutorial-tutorial di bawah ini :

Pre-Requisites :

Oke langsung saja ke coding nya. Tutorial ini dibuat menggunakan Android Studio.

  1. Membuat XML Layouts

    Pada Kotlin, file layout aplikasi Android tidak berubah sama-sama masih menggunakan bahasa XML. Jadi pertama-tama, buatlah dua buah XML layout pada folder “res/layout” :

    1. res/layout/activity_layout1.xml –> Halaman pertama
    2. res/layout/activity_layout2.xml –> Halaman 2

    File res/layout/activity_layout1.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/tv_basic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ini halaman utama (activity_layout1.xml)"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Klik untuk pindah ke Halaman 2" />
    
    </LinearLayout>
    

    File res/layout/activity_layout2.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="Anda di Halaman 2 (activity_layout2.xml)"
            android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large" />
    
    </android.support.v7.widget.LinearLayoutCompat>
    
  2. Membuat Activity

    Perbedaan antara Kotlin dan Java terletak pada class Activity-nya yang ditulis menggunakan bahasa Kotlin.

    Buatlah dua buah class Activity :

    1. Activity1.java –> activity_layout1.xml
    2. Activity2.java –> activity_layout2.xml

    Untuk berpindah dari halaman satu ke halaman lainnya, pada Kotlin kita akan menggunakan Intent seperti code di bawah ini :

    startActivity(Intent(this, Activity2::class.java))
    

    File Activity1.java :

    package co.twoh.kotlin.twohkotlin
    
    import android.content.Intent
    import android.os.Bundle
    import android.support.v7.app.AppCompatActivity
    import android.widget.Button
    
    
    class Activity1 : AppCompatActivity() {
    
        private lateinit var button: Button
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_layout1)
            button = findViewById(R.id.button1)
            button.setOnClickListener{
                startActivity(Intent(this, Activity2::class.java))
            }
        }
        
    }
    

    File Activity2.java :

    package co.twoh.kotlin.twohkotlin
    
    import android.os.Bundle
    import android.support.v7.app.AppCompatActivity
    
    class Activity2 : AppCompatActivity(){
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_layout2)
        }
    
    }
    
  3. Menambahkan Activity di AndroidManifest.xml

    Yang terakhir jangan lupa untuk mendaftarkan kedua Activity tersebut pada AndroidManifest.xml :

    File AndroidManifest.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="co.twoh.kotlin.twohkotlin">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".Activity1">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".Activity2"/>
        </application>
    
    </manifest>
    
  4. Demo

    Jika sudah langsung saja kita jalankan demonya. Aplikasi akan menampilkan halaman utama -> Activity1.java. Seperti di sebelah kiri, Ketika tombol diklik, maka aplikasi akan berpindah ke halaman kedua -> Activity2.java (gambar sebelah kanan)

    Android Kotlin Activity

    Android Kotlin Activity

    That’s all ! Semoga membantu. 🙂 Dan jangan lupa untuk clone project nya sebagai Android Studio module di GitHub saya, dengan terlebih dahulu follow dan star project tersebut. 😀 Silahkan bertanya di bagian komentar jika ada yang kurang jelas.

 





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

Leave a Reply

Your email address will not be published. Required fields are marked *

TWOH&Co.