[dropcap]S[/dropcap]ession di dalam PHP dibutuhkan untuk menyimpan informasi atau variabel yang dapat diakses dari halaman yang berbeda-beda. Istilla session ini sebetulnya sangat jauh berbeda jika diterapkan pada aplikasi android. Sebetulnya ini lebih cenderung mengarah ke cookie. Hanya saja, karena kebiasaan di PHP untuk menyimpan data login pengguna menggunakan session maka pada tutorial ini aku menamainya dengan session.
Fungsi Kegunaan Session di Android
Secara umum, beberapa data yang kusimpan kedalam session adalah token pengguna setelah melakukan login. Token ini akan dicocokkan ulang ke server secara periodik untuk memastikan bahwa token yang disimpan masih valid dan pengguna masihh memiliki hak untuk mengakses informasi. Jika token tidak valid maka sistem akan menghapusnya dan meminta user untuk melakukan login ulang.
Cara Membuat Session Pada Kotlin
Pembuatan session di sini menggunakan SharedPreferences yang dibuat dalam bentuk sebuah class berekstensi Application. Kode untuk membuat fungsi pembuat dan pemanggil session bisa dilihat seperti di bawah ini:
import android.content.Context import android.content.SharedPreferences class Sessions(context: Context) { var settings: SharedPreferences var context: Context fun createSession(key: String?, value: String?) { val editor = settings.edit() editor.putString(key, value) editor.commit() } fun getSession(key: String?): String? { val settings: SharedPreferences = context.getSharedPreferences(Variables().SESSION_NAME, 0) return settings.getString(key, "") } init { this.context = context settings = context.getSharedPreferences( Variables().SESSION_NAME, 0 ) //we have to define session name here } }
Contoh diatas menggunakan variabel global. Untuk mempelajari mengenai pembuatan dan penggunakan variabel global bisa disimak pada Cara Membuat variabel Global pada Kotlin.
Cara Menyimpan Session Pada Kotlin
Perhatikan contoh kode di bawah ini untuk menyimpan session pada kotlin menggunakan fungsi yang telah kita buat diatas adalah menggunakan method createSession(KEY, VALUE) . Perhatikan contoh di bawah ini:
//deklarasikan variabel session lateinit var session: Sessions //isi variabel dengan fungsi Sessions pad method onCreate session = Sessions(this) //simpan session dengan kode di bawah ini session.createSession("is_login", "true")
Pada contoh di atas, kita menyimpan session dengan key is_login dengan nilai true . Nilai session ini bisa diganti-ganti sesuai kebutuhan.
Cara Mengakses Session yang Telah Disimpan
Kita bisa mengakses session yang telah disimpan menggunakan method getSession(KEY) . Setelah kita deklarasikan variabel dan mengisinya dengan fungsi yang telah dibuat seperti sebelumnya maka kita bisa memanggil session yang telah disimpan. Perhatikan contoh di bawah ini:
var check_login = sessions.getSession("is_login") if (check_login.equals("true")) { //user sudah login }else{ //user belum login }
Pada contoh di atas, kita mengecek nilai session dengan key is_login seperti yang telah kita buat sebelumnya. Jika nilainya true maka itu menandakan user sudah login. Sebaliknya jika nilainya bukan true maka itu menandakan user belum melakukan login.