Cara Menyimpan Data Menggunakan SharedPreferences


Assalamualaikum Warahmatullahi Wabarakatuh.

SharedPreference adalah sebuah class yang berfungsi sebagai media penyimpanan data primitif pada file internal pada aplikasi dalam bentuk key-value. SharedPreference  menyediakan method sederhana untuk membaca dan menulis, kita dapat meggunakan class ini untuk menyimpan nilai-kunci yang relatif kecil.

Terdapat beberapa media penyimpanan yang bisa kalian gunakan pada Aplikasi Android, seperti SharedPreferences, SQLite, File Storage, Content Providers, dan Cloud Storage. Kelima media penyimpanan tersebut mempunyai fungsi yang sama, tetapi dengan penggunaan yang berbeda.

Contohnya SQLite digunakan sebagai media penyimpanan atau Database yang digunakan untuk meyimpan data-data yang relatif banyak, SQLite terdiri dari kolom dan baris, didalam SQLite kita bisa mengkategorikan data-data yang disimpan, berdasarkan nama kolomnya.

Contoh kedua misalnya CloudStorage, CloudStorage merupakan penyimpanan online, yang memerlukan koneksi internet untuk mengaksesnya, contohnya seperti sosial media, semua konten yang kita upload akan disimpan di server mereka.


Itulah beberapa jenis penyimpanan yang bisa kalian gunakan pada Android, Tapi pada materi kali ini saya hanya akan membahas mengenai penggunakan SharedPreferences.

Salah satu kebutuhan menggunakan SharedPreferences adalah saat user melakukan login pada aplikasi, username dan password bisa kita simpan menggunakan SharedPreferences, jadi saat user keliar aplikasi, user tidak perlu menginputkan kembali username & password untuk bisa mengakses aplikasinya lagi.

Bisa kita gambarkan cara kerja SharedPreferences seperti berikut ini:
Sumber Gambar : https://wirasetiawan29.files.wordpress.com/2016/03/shared-preference-di-android.png

Gambar tersebut menjelaskan, pertama program akan meyimpan nilai beserta keynya, setiap nilai mempunyai keynya masing masing, untuk mencari atau mengaakses atau mencari nilai yang terseimpan didalam SharedPreferences, kita tinggal memanggil keynya saja.

Materi lainnya yang direkomandasikan:

Shared Preferences pada umumnya digunakan untuk pemyimpanan data yang berukuran kecil, seperti pengaturan aplikasi, usr token, theme, dll. Data tersebut akan tersimpan dalam bentuk file XML di penyimpanan Internal aplikasi Android.

Cara Menyimpan Data Menggunakan SharedPreferences

Pada tutorial ini, kita akan membuat contoh sederhana dengan menggunakan SharedPreferences

1) Buka aplikasi Android Studio kalian, Buat Project Baru.

2) Buka layout activity_main.xml kalian, disini kita akan menambahkan Edittext (Untuk Input), TextView (Untuk Output Data) dan Button (Untuk mengeksekusi program).
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="8dp"
    android:orientation="vertical"
    android:background="#FFF5F5F5"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">


    <EditText
        android:id="@+id/input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Masukan Data"
        android:inputType="textPersonName" />

    <Button
        android:id="@+id/save"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Simpan" />

    <TextView
        android:id="@+id/output"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="Output Data :"
        android:textStyle="bold" />
</LinearLayout>
View:


3) Selanjutnya buka file MainActivity.java, pada source code berikut ini kita akan menambahkan SharedPreferences, serta beberapa fungsi/methodnya.
package android.cianjur.developer.net.basicandroid;

/*
 Dibuat Oleh WILDAN M ATHOILLAH
 */

import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity{

    //Deklarasi Variable Pendukung
    private TextView Hasil;
    private EditText Masukan;
    private Button Eksekusi;

    //Deklarasi dan Inisialisasi SharedPreferences
    private SharedPreferences preferences;

    //Digunakan Untuk Konfigurasi SharedPreferences
    private SharedPreferences.Editor editor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Masukan = findViewById(R.id.input);
        Hasil = findViewById(R.id.output);
        Eksekusi = findViewById(R.id.save);

        //Membuat File Baru Beserta Modifiernya
        preferences = getSharedPreferences("Belajar_SharedPreferences", Context.MODE_PRIVATE);

        Eksekusi.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getData();
                Toast.makeText(getApplicationContext(),"Data Tersimpan", Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void getData(){
        //Mendapatkan Input dari user
        String getKonten = Masukan.getText().toString();

        //Digunakan Untuk Pengaturan Konfigurasi SharedPreferences
        editor = preferences.edit();

        //Memasukan Data Pada Editor SharedPreferences dengan key (data_saya)
        editor.putString("data_saya", getKonten);

        //Menjalankan Operasi
        editor.apply();

        //Menampilkan Output
        Hasil.setText("Output Data : "+preferences.getString("data_saya", null));
    }
}
Penjelasan:

Pertama kita mendeklarasikan beberapa variable pendukung, seperti TextView, Edittext dan Button, lalu kita juga Menginisialisasi SharedPreferences dan juga SharedPreferences,Editor, yang digunakan konfigurasi data pada SharedPreferences.

Fungsi getSharedPreferences() gunakan jika kita ingin membuat file Shared Preference yang baru dengan parameter yang spesifik dan juga nama filenya sepesifik dan gunakan Context untuk mengakses file pada aplikasi.

Didalam method getSharedPreferences() file yang akan kita buat mempunyai mode private, yang artinya, data pada file tersebut hanya untuk aplikasi itu saja.

Untuk memasukan data, kita dapat menggunakan fungsi putString(); dengan parameter key dan nilai.

Dan untuk menampilkan output, kita dapat menggunakan fungsi getString(), kita dapat menampilkan data tersebut dengan memanggil keynya saya.

Demo:



Untuk melihat hasil dari SharedPreferences, caranya jalankan project tersebut menggunakan Emulator, lalu buka Android Device Emulator, seperti berikut ini:


Jangan lupa untuk mencentang Enable ADB Interation. Selanjutnya buka direktori data > data > (Nama Package pada Aplikasi Kita) > shared_prefs.

Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.