İOS'ta NSUserDefaults'un Android eşdeğeri


104

Bazı basit verileri kaydetmek istiyorum. İPhone'da bunu NSUserDefaultsObjective-C ile yapabilirim.

Android'deki benzer komut nedir?

Uygulama kurulduğu sürece yeniden kullanılmak üzere birkaç değişken kaydediyorum. Bunu yapmak için karmaşık bir veritabanı kullanmak istemiyorum.

Yanıtlar:


212

Bulduğum en basit çözüm bu:

//--Init
int myvar = 12;


//--SAVE Data
SharedPreferences preferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("var1", myvar);
editor.commit();


//--READ data       
myvar = preferences.getInt("var1", 0);  

'Bağlam' mevcut bağlam olduğunda (örneğin, bir aktivite alt sınıfında bu olabilir ).


bu, çok basit şeyleri saklamanın yolu, basit ve doğrudan
konuya

Koddaki hatayı düzelttim (var olmayan getPreferences'ı çağırıyordum, getSharedPreferences'ı değil).
Ben Clayton

14
2015 Güncellemesi: Android, kalıcı verileri hemen depolamak ve olası ana iş parçacığını engellemek yerine apply () bir arka plan iş parçacığı üzerinde çalıştığından, şimdi commit () yerine apply () kullanılmasını önerir.
AppsIntheParkNYC

Bu Paylaşılan Tercihlere jni kodundan erişmenin bir yolu var mı?
IgorGanapolsky

2
AppCompatActivitygetApplicationContext()
İçeriden
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.