Panduan Belajar SharedPreferences di Android

SharedPreferences adalah salah satu cara untuk menyimpan data kecil secara permanen di aplikasi Android. Data yang disimpan dalam SharedPreferences akan tetap ada bahkan setelah aplikasi ditutup, sehingga sangat berguna untuk menyimpan informasi seperti preferensi pengguna, status login, atau konfigurasi aplikasi.
Apa Itu SharedPreferences?
SharedPreferences adalah API di Android yang memungkinkan Anda untuk menyimpan data dalam bentuk pasangan key-value. Data ini disimpan dalam file XML yang berada di direktori aplikasi.
Kelebihan SharedPreferences:
- Mudah digunakan.
- Cocok untuk menyimpan data kecil.
- Data bersifat persistent (tetap ada meskipun aplikasi ditutup).
Kekurangan SharedPreferences:
- Tidak cocok untuk menyimpan data besar atau kompleks.
- Tidak mendukung operasi konkuren secara langsung.
Cara Kerja SharedPreferences
- Mengakses SharedPreferences: Anda dapat mengaksesnya dengan menggunakan metode
getSharedPreferences()
ataugetPreferences()
. - Menyimpan Data: Gunakan
SharedPreferences.Editor
untuk menyimpan data. - Mengambil Data: Data dapat diambil dengan metode seperti
getString()
,getInt()
, dll. - Menghapus Data: Anda dapat menghapus data tertentu atau semua data menggunakan
Editor
.
Contoh Implementasi SharedPreferences
Langkah 1: Membuat dan Menyimpan Data
Berikut adalah contoh untuk menyimpan data sederhana seperti nama pengguna dan status login:
import android.content.SharedPreferences;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String PREF_NAME = "MyAppPreferences";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Mendapatkan instance SharedPreferences
SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
// Menyimpan data ke SharedPreferences
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", "JohnDoe");
editor.putBoolean("isLoggedIn", true);
editor.apply();
}
}
Langkah 2: Membaca Data
Untuk membaca data yang telah disimpan, gunakan metode get
:
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String PREF_NAME = "MyAppPreferences";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Mendapatkan instance SharedPreferences
SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
// Membaca data dari SharedPreferences
String username = sharedPreferences.getString("username", "Guest");
boolean isLoggedIn = sharedPreferences.getBoolean("isLoggedIn", false);
// Menampilkan data
TextView textView = findViewById(R.id.textView);
textView.setText("Username: " + username + "\nLogged In: " + isLoggedIn);
}
}
Langkah 3: Menghapus Data
Anda dapat menghapus data tertentu atau semua data:
import android.content.SharedPreferences;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String PREF_NAME = "MyAppPreferences";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Mendapatkan instance SharedPreferences
SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
// Menghapus data tertentu
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.remove("username");
editor.apply();
// Menghapus semua data
editor.clear();
editor.apply();
}
}
Praktik Terbaik dalam Menggunakan SharedPreferences
- Hindari menyimpan data sensitif seperti kata sandi dalam SharedPreferences.
- Gunakan
apply()
daripadacommit()
untuk performa yang lebih baik. - Gunakan nama file yang unik untuk SharedPreferences agar tidak berbenturan dengan modul lain.
Penutup
SharedPreferences adalah alat yang sangat berguna untuk menyimpan data kecil yang bersifat lokal di aplikasi Android. Dengan memahami cara kerja dan implementasinya, Anda dapat membuat aplikasi yang lebih interaktif dan responsif terhadap preferensi pengguna. Semoga panduan ini membantu Anda memahami dan menggunakan SharedPreferences dalam proyek Android Anda!