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.
-
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” :
- res/layout/activity_layout1.xml –> Halaman pertama
- 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>
-
Membuat Activity
Perbedaan antara Kotlin dan Java terletak pada class Activity-nya yang ditulis menggunakan bahasa Kotlin.
Buatlah dua buah class Activity :
- Activity1.java –> activity_layout1.xml
- 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) } }
-
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>
-
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)
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.