import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Memperbarui
Menurut Preferensi Bersama | Tutorial Pengembang Android (Bagian 13) oleh Sai Geetha MN,
Banyak aplikasi dapat menyediakan cara untuk menangkap preferensi pengguna pada pengaturan aplikasi atau aktivitas tertentu. Untuk mendukung ini, Android menyediakan satu set API sederhana.
Preferensi biasanya pasangan nilai nama. Mereka dapat disimpan sebagai "Preferensi Bersama" di berbagai aktivitas dalam aplikasi (perhatikan saat ini tidak dapat dibagi di seluruh proses). Atau bisa juga sesuatu yang perlu disimpan khusus untuk suatu kegiatan.
Preferensi Bersama: Preferensi bersama dapat digunakan oleh semua komponen (aktivitas, layanan, dll) dari aplikasi.
Preferensi yang ditangani aktivitas: Preferensi ini hanya dapat digunakan dalam aktivitas tertentu dan tidak dapat digunakan oleh komponen lain dari aplikasi.
Preferensi Bersama:
Preferensi bersama dikelola dengan bantuan getSharedPreferences
metode Context
kelas. Preferensi disimpan dalam file default (1) atau Anda dapat menentukan nama file (2) yang akan digunakan untuk merujuk pada preferensi.
(1) Cara yang disarankan adalah menggunakan mode default, tanpa menentukan nama file
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Inilah cara Anda mendapatkan instance saat Anda menentukan nama file
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
adalah mode operasi untuk preferensi. Ini adalah mode default dan berarti file yang dibuat akan diakses oleh hanya aplikasi panggilan. Dua mode lain yang didukung adalah MODE_WORLD_READABLE
dan MODE_WORLD_WRITEABLE
. Di MODE_WORLD_READABLE
aplikasi lain bisa membaca file yang dibuat tetapi tidak bisa memodifikasinya. Dalam hal MODE_WORLD_WRITEABLE
aplikasi lain juga memiliki izin menulis untuk file yang dibuat.
Akhirnya, setelah Anda memiliki instance preferensi, berikut adalah cara Anda dapat mengambil nilai yang disimpan dari preferensi:
int storedPreference = preferences.getInt("storedInt", 0);
Untuk menyimpan nilai dalam SharedPreference.Editor
objek file preferensi harus digunakan. Editor
adalah antarmuka bersarang di SharedPreference
kelas.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor juga mendukung metode seperti remove()
dan clear()
untuk menghapus nilai preferensi dari file.
Preferensi Kegiatan:
Preferensi bersama dapat digunakan oleh komponen aplikasi lain. Tetapi jika Anda tidak perlu membagi preferensi dengan komponen lain dan ingin memiliki aktivitas, preferensi pribadi Anda dapat melakukannya dengan bantuan getPreferences()
metode aktivitas. The getPreference
Metode menggunakan getSharedPreferences()
metode dengan nama kelas aktivitas untuk nama file preferensi.
Berikut ini adalah kode untuk mendapatkan preferensi
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Kode untuk menyimpan nilai juga sama seperti dalam hal preferensi bersama.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Anda juga dapat menggunakan metode lain seperti menyimpan status aktivitas dalam database. Catatan Android juga berisi paket yang disebut android.preference
. Paket ini mendefinisikan kelas untuk mengimplementasikan UI preferensi aplikasi.
Untuk melihat beberapa contoh lainnya periksa pos Penyimpanan Data Android di situs pengembang.
package.prefs
tapi saya tidak yakin.Jika Anda tidak memiliki akses
getDefaultSharedPreferenes()
, Anda dapat menggunakannyagetSharedPreferences(name, mode)
, Anda hanya perlu memasukkan nama yang benar.Android membuat nama ini (mungkin berdasarkan nama paket proyek Anda?). Anda bisa mendapatkannya dengan memasukkan kode berikut ke dalam
SettingsActivity
onCreate()
, dan melihat apa yangpreferencesName
ada.String harus seperti ini
com.example.projectname_preferences
. Kode keras di suatu tempat di proyek Anda, dan meneruskannya kegetSharedPreferences()
dan Anda harus baik untuk pergi.sumber
Deklarasikan metode ini terlebih dahulu ..
Kemudian panggil ini saat Anda ingin meletakkan pref:
panggil ini saat Anda ingin mendapatkan pref:
Atau Anda dapat menggunakan objek ini https://github.com/kcochibili/TinyDB--Android-Shared-Preferences-Turbo yang menyederhanakan semuanya lebih jauh
Contoh:
sumber
harus melewati konteks di mana-mana benar-benar mengganggu saya. kode menjadi terlalu bertele-tele dan tidak bisa diatur. Saya melakukan ini di setiap proyek sebagai gantinya ...
dan mengaturnya di aktivitas utama buat
juga semua kunci preferensi harus bahasa independen, saya terkejut tidak ada yang menyebutkan itu.
sekarang menyebutnya sangat sederhana seperti ini dalam satu baris kode
sumber
getApplicationContext()
jika Anda memiliki kotak centang dan Anda ingin mengambil nilainya yaitu benar / salah dalam file java apa saja -
Menggunakan--
sumber
Diperbarui 2019
Anda cukup menggunakan
PowerPreference
perpustakaanhttps://github.com/AliEsaAssadi/Android-Power-Preference
Mendapatkan contoh preferensi bersama
Untuk mendapatkan instance default, Anda hanya perlu menelepon
Atau jika Anda menginginkan file preferensi tertentu
Menulis data:
Mendapatkan Data
sumber
Coba ikuti kode sumber itu berhasil untuk saya
sumber