2010-11-18 20 views
5

Uygulamamı yapılandırmak için basit bir alan kaydetmem gerekiyor, buna bir veritabanı kullanmıyorum (sadece bir alan ...), bu alan için doğru veya yanlış değeri kaydetmem gerekiyor. dosya ve her zaman benim app bir bölümünü kontrol etmek istiyorum bu textfile kontrol etmek zorunda ve bir connexion bir veritabanına açmak için değilBir veritabanını kullanmadan uygulamamın yapılandırmasını nasıl kaydedebilirim ??? (basit textfile kullanarak)

hiç için yapılandırma kaydetmek gerekir ... Uygulamamdan çıkıyorum ve örneğin, cihazımı yeniden başlattığımda ve uygulamamı başlattığımda, Android cihazımı kapattım, yapılandırma

'un bu şekilde kaydedilmesi mümkün mü? nasıl yapabilirim? Ben o

DÜZENLEME hakkında herhangi bir bilgi bulamıyorum:

static SharedPreferences settings; 
static SharedPreferences.Editor configEditor; 
settings = this.getPreferences(MODE_WORLD_WRITEABLE); 

    if (settings.getBoolean("showMeCheckBox", true)) 
    showMeCheckBox.setChecked(true); 
    else 
    showMeCheckBox.setChecked(false); 

applyButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       // Perform action on clicks 
      if (showMeCheckBox.isChecked()) { 
       configEditor.putBoolean("showMeCheckBox", true); 
       } else { 
       configEditor.putBoolean("showMeCheckBox", false); 
       } 

      } 
}); 

Tamam, ama bu işleri yapar değil .. i ilk yanıt ile ilgili sorunlar var ... Bu kod benim OnCreate yönteminde üzerindedir allways seçili ... her zaman true, varsayılan değer gibi ... kontrol ettim veya işaretlemediysem farketmez ....: S

+1

işlemek zorunda (http://developer.android. com/guide/topics/data/data/storage.html # pref) – Tobias

cevap

9

Tercihen bir metin dosyası kullanmamayı tercih ederim.

static SharedPreferences settings; 
static SharedPreferences.Editor editor; 
settings = this.getPreferences(MODE_WORLD_WRITEABLE); 
editor = settings.edit(); 
//store value 
editor.putString("Preference_name_1", "1"); 
//get value 
//eill return "0" if preference not exists, else return stored value 
String val = settings.getString("Preference_name_1", "0"); 

Düzenleme: Eğer configEditor başlatmak zorunda ve bir değer ayarladıktan sonra, sizin [buradan] Paylaşılan Tercihler hakkında daha fazla bilgi için bkz

editor = settings.edit(); 
editor.putBoolean("name",true); 
editor.commit(); 
+1

ama yapılandırmayı hiç kaydetmem gerekiyor ... yani benim uygulamamdan çıktığımda ve android cihazımı kapattığımda, Cihazımı tekrar başlatıp uygulamamı başlattığımda, yapılandırmanın kaydedilmesi gerekiyor! Paylaşılanlar ile bunu yapamam ...:/ – NullPointerException

+1

SharedPreferences, "sonsuza dek" kaydedildi. Ayrıca bir putBoolean() yöntemi mevcut. – Tobias

+0

Hayır, temizlenene kadar saklanır. SharedPreferenceEditor, – 2red13

İlgili konular