Saya ingin menyimpan nilai waktu dan perlu mengambil dan mengeditnya. Bagaimana saya bisa menggunakan SharedPreferences
ini?
android
sharedpreferences
Muhammad Maqsoodur Rehman
sumber
sumber
Jawaban:
Untuk mendapatkan preferensi bersama, gunakan metode berikut ini dalam aktivitas Anda:
Untuk membaca preferensi:
Untuk mengedit dan menyimpan preferensi
Direktori sampel Android sdk berisi contoh pengambilan dan penyimpanan preferensi bersama. Terletak di:
Edit ==>
Saya perhatikan, penting untuk menulis perbedaan antara
commit()
dan diapply()
sini juga.commit()
kembalitrue
jika nilai berhasil disimpan sebaliknyafalse
. Ini menyimpan nilai ke SharedPreferences secara sinkron .apply()
ditambahkan pada 2.3 dan tidak mengembalikan nilai apa pun baik sukses atau gagal. Ini menyimpan nilai ke SharedPreferences segera tetapi memulai komit asinkron . Lebih detail ada di sini .sumber
this.getSharedPreferences
memberi saya kesalahan berikut:The method getSharedPreferences(String, int) is undefined for the type MyActivity
Untuk menyimpan nilai dalam preferensi bersama:
Untuk mengambil nilai dari preferensi bersama:
sumber
Map<DateTime, Integer>
?Untuk mengedit data dari
sharedpreference
Untuk mengambil data dari
sharedpreference
Edit
Saya mengambil cuplikan ini dari sampel Demo API. Ada sebuah
EditText
kotak di sana. Dalamcontext
hal ini tidak diperlukan. Saya berkomentar sama.sumber
Untuk menulis :
Untuk membaca :
sumber
Cara termudah:
Untuk menyimpan:
Mendapatkan kembali:
sumber
Menetapkan nilai dalam Preferensi:
Ambil data dari preferensi:
Info lebih lanjut:
Menggunakan Preferensi Bersama
Preferensi Bersama
sumber
Kelas Preferensi Bersama Singleton. ini dapat membantu orang lain di masa depan.
Hanya memanggil
SharedPref.init()
padaMainActivity
sekaliUntuk Menulis data
Untuk Membaca Data
sumber
Untuk menyimpan informasi
Untuk mengatur ulang preferensi Anda
sumber
Jika Anda membuat aplikasi besar dengan pengembang lain di tim Anda dan berniat untuk mengatur semuanya dengan baik tanpa kode yang tersebar atau contoh SharedPreferences yang berbeda, Anda dapat melakukan sesuatu seperti ini:
Dalam aktivitas Anda, Anda dapat menyimpan SharedPreferences dengan cara ini
dan Anda dapat mengambil SharedPreferences Anda dengan cara ini
sumber
Dalam aplikasi apa pun, ada preferensi default yang dapat diakses melalui
PreferenceManager
instance dan metode terkaitgetDefaultSharedPreferences(Context)
.Dengan
SharedPreference
instance, seseorang dapat mengambil nilai int dari preferensi apa pun dengan getInt (kunci String, int defVal) . Preferensi yang kami minati dalam kasus ini adalah kontra.Dalam kasus kami, kami dapat memodifikasi
SharedPreference
instance dalam kasus kami menggunakan edit () dan menggunakanputInt(String key, int newVal)
Kami meningkatkan jumlah untuk aplikasi kami yang ada di luar aplikasi dan ditampilkan sesuai.Untuk demo lebih lanjut ini, restart dan aplikasi Anda lagi, Anda akan melihat bahwa jumlah akan meningkat setiap kali Anda me-restart aplikasi.
PreferensiDemo.java
Kode:
main.xml
Kode:
sumber
Solusi sederhana tentang cara menyimpan nilai masuk oleh
SharedPreferences
.Anda bisa memperluas
MainActivity
kelas atau kelas lain tempat Anda akan menyimpan "nilai sesuatu yang ingin Anda pertahankan". Masukkan ini ke dalam kelas penulis dan pembaca:Berikut
InputClass
adalah input danOutputClass
kelas output, masing-masing.Sekarang Anda dapat menggunakannya di tempat lain, seperti kelas lainnya. Berikut ini adalah
OutputClass
.sumber
Simpan di SharedPreferences
Dapatkan di SharedPreferences
Catatan: "temp" adalah nama preferensi yang dibagikan dan "nama" adalah nilai input. jika nilai tidak keluar maka kembalikan nol
sumber
Edit
Baca
sumber
Ide dasar SharedPreferences adalah untuk menyimpan sesuatu pada file XML.
Nyatakan jalur file xml Anda. (Jika Anda tidak memiliki file ini, Android akan membuatnya. Jika Anda memiliki file ini, Android akan mengaksesnya.)
Tulis nilai ke Preferensi Bersama
itu
preference_file_key
adalah nama file preferensi bersama. Dan1010101
nilai yang Anda butuhkan untuk menyimpan.apply()
akhirnya adalah untuk menyimpan perubahan. Jika Anda mendapatkan kesalahan dariapply()
, ubah kecommit()
. Jadi kalimat alternatif ini adalahBaca dari Preferensi Bersama
lsp
akan-1
jikapreference_file_key
tidak memiliki nilai. Jika 'prefer_file_key' memiliki nilai, itu akan mengembalikan nilai ini.Seluruh kode untuk menulis adalah
Kode untuk membaca adalah
sumber
Anda dapat menyimpan nilai menggunakan metode ini:
Dan menggunakan metode ini Anda bisa mendapatkan nilai dari SharedPreferences:
Ini
prefKey
adalah kunci yang Anda gunakan untuk menyimpan nilai tertentu. Terima kasih.sumber
Di sini,
mSaved
dapat berupa apa sajaTextView
atauEditText
dari mana kita dapat mengekstraksi string. Anda cukup menentukan string. Di sini teks akan menjadi kunci yang menyimpan nilai yang diperoleh darimSaved
(TextView
atauEditText
).Juga tidak perlu menyimpan file preferensi menggunakan nama paket yaitu, "com.example.app". Anda dapat menyebutkan nama pilihan Anda sendiri. Semoga ini membantu !
sumber
Ada banyak cara orang merekomendasikan cara menggunakan SharedPreferences . Saya telah membuat proyek demo di sini . Poin kunci dalam sampel adalah menggunakan ApplicationContext & objek preferensipengguna bersama . Ini menunjukkan cara menggunakan SharedPreferences dengan fitur berikut: -
Contoh penggunaan seperti di bawah ini: -
Dapatkan kode sumber di sini & API Terperinci dapat ditemukan di sini di developer.android.com
sumber
Praktik terbaik yang pernah ada
Buat Antarmuka bernama dengan PreferenceManager :
Cara menggunakan dengan Aktivitas / Fragmen :
Catatan: Ganti kunci SharedPreference Anda dengan SP_TITLE .
Contoh:
Simpan string dalam Sharepence :
Dapatkan string dari shareperence :
Semoga ini bisa membantu Anda.
sumber
Untuk menyimpan nilai dalam preferensi bersama:
Untuk mengambil nilai dari preferensi bersama:
sumber
untuk menyimpan
untuk retreive:
sumber
Saya menulis kelas pembantu untuk preferensi bersama:
sumber
Gunakan contoh yang digunakan sederhana dan jelas dan diperiksa
sumber
Menggunakan perpustakaan sederhana ini , berikut adalah cara Anda melakukan panggilan ke SharedPreferences ..
sumber
Saya ingin menambahkan di sini bahwa sebagian besar cuplikan untuk pertanyaan ini akan memiliki sesuatu seperti MODE_PRIVATE saat menggunakan SharedPreferences. Nah, MODE_PRIVATE berarti bahwa apa pun yang Anda tulis ke dalam preferensi bersama ini hanya dapat dibaca oleh aplikasi Anda saja.
Kunci apa pun yang Anda berikan untuk metode getSharedPreferences (), android membuat file dengan nama itu dan menyimpan data preferensi ke dalamnya. Juga ingat bahwa getSharedPreferences () seharusnya digunakan ketika Anda bermaksud memiliki beberapa file preferensi untuk aplikasi Anda. Jika Anda bermaksud menggunakan file preferensi tunggal dan menyimpan semua pasangan nilai kunci ke dalamnya, maka gunakan metode getSharedPreference (). Ini aneh mengapa semua orang (termasuk saya) hanya menggunakan getSharedPreferences () rasa bahkan tanpa memahami perbedaan antara dua di atas.
Tutorial video berikut ini akan membantu https://www.youtube.com/watch?v=2PcAQ1NBy98
sumber
Perpustakaan sederhana dan bebas gangguan :: "Android-SharedPreferences-Helper"
Lebih baik terlambat daripada tidak sama sekali: Saya membuat perpustakaan "Android-SharedPreferences-Helper" untuk membantu mengurangi kerumitan dan upaya penggunaan
SharedPreferences
. Ini juga menyediakan beberapa fungsi tambahan. Beberapa hal yang ditawarkannya adalah sebagai berikut:Cukup sederhana! Tidak seperti cara default (saat menggunakan kelas SharedPreferences) Anda TIDAK perlu menelepon
.edit()
dan.commit()
kapan pun.Itu dia! Nilai-nilai Anda disimpan dalam preferensi bersama.
Sekali lagi, hanya satu panggilan metode sederhana dengan nama kunci.
Periksa detail fungsionalitas yang diperluas, penggunaan dan instruksi instalasi dll pada Halaman Repositori GitHub .
sumber
Anda perlu menggunakan SharedPreferences di AdapterClass atau yang lainnya. saat itu cukup gunakan deklarasi ini dan gunakan pantat yang sama di atas.
untuk nilai string atau boolean
ambil data yang sama seperti di atas
sumber
2.Untuk Menyimpan dalam preferensi bersama
2.Untuk mengambil penggunaan yang sama
sumber
Di sini saya telah membuat kelas Helper untuk menggunakan preferensi di android.
Ini adalah kelas pembantu:
sumber
Untuk menyimpan dan mengambil variabel global dengan cara fungsi. Untuk menguji, pastikan Anda memiliki item Textview di halaman Anda, batalkan komentar dua baris dalam kode dan jalankan. Kemudian komentari dua baris lagi, dan jalankan.
Di sini id dari TextView adalah nama pengguna dan kata sandi.
Di setiap Kelas tempat Anda ingin menggunakannya, tambahkan dua rutinitas ini di akhir. Saya ingin rutin ini menjadi rutinitas global, tetapi tidak tahu caranya. Ini bekerja.
Variabel tersedia di mana-mana. Ini menyimpan variabel dalam "MyFile". Anda dapat mengubahnya dengan cara Anda.
Anda menyebutnya menggunakan
nama pengguna variabel akan diisi dengan "frans" dan kata sandi dengan "! 2 # 4%". Bahkan setelah restart mereka tersedia.
dan Anda mengambilnya menggunakan
di bawah seluruh kode grid.java saya
di bawah ini Anda menemukan item tampilan teks
sumber
Saya telah menciptakan kelas Helper untuk membuat Hidup saya mudah. Ini adalah kelas generik dan memiliki banyak metode yang biasa digunakan dalam Aplikasi seperti Preferensi Bersama, Validitas Email, Format Waktu Tanggal. Salin kelas ini dalam kode Anda dan akses metode itu di mana pun Anda butuhkan.
sumber