Cara Menyimpan Session Pada Kotlin

[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.

Leave a Comment