2010-10-03 6 views
5

Jestem nowy w rozwoju Androida - za pomocą książki o nazwie Sams Teach Yourself Application Development w ciągu 24 godzin. Poszedłem do tej pory, ale utknąłem próbując korzystać z SharedPreferences.Jak korzystać z SharedPreferences

w folderze src/com.androidbook.triviaquiz Mam plik o nazwie QuizActivity, w nim mam następujące:

package com.androidbook.triviaquiz; 

import android.app.Activity; 
import android.os.Bundle; 
import android.content.SharedPreferences; 
public class QuizActivity extends Activity { 

    public static final String GAME_PREFERENCES = "GamePrefs"; 
    SharedPreferences settings = getSharedPreferences(GAME_PREFERENCES, MODE_PRIVATE); 
    SharedPreferences.Editor prefEditor = settings.edit(); 
    prefEditor.putString("UserName", "JaneDoe"); 
    prefEditor.putInt("UserAge", 22); 
    prefEditor.commit(); 
} 

To właśnie książka mówi mi w użyciu, ale zwraca błędy w następujących punktach: pod "." po pierwszych dwóch instrukcjach prefEditor, w ("UserName", "JaneDoe") w ("UserAge", 22); i pod "commit"

Szukałem na wielu stronach internetowych o pomoc, ale wszystkie wydają się używać tego samego kodu. Co ja robię źle?

+0

zobacz to http://www.gadgetsaint.com/go/xb023 – ASP

Odpowiedz

7

Spróbuj umieścić go w swoim onCreate(). Również getDefaultSharedPreferences() jest łatwiejsze: tylko

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

    // Access the default SharedPreferences 
    SharedPreferences preferences = 
    PreferenceManager.getDefaultSharedPreferences(this); 
    // The SharedPreferences editor - must use commit() to submit changes 
    SharedPreferences.Editor editor = preferences.edit(); 

    // Edit the saved preferences 
    editor.putString("UserName", "JaneDoe"); 
    editor.putInt("UserAge", 22); 
    editor.commit(); 
} 
6

Stosować SharedPreferences po utworzeniu aktywność. Inicjuj SharedPreferences w onCreate().

public class QuizActivity extends Activity { 

public static final String GAME_PREFERENCES = "GamePrefs"; 
SharedPreferences settings; 
SharedPreferences.Editor prefEditor; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    settings = getSharedPreferences(GAME_PREFERENCES, MODE_PRIVATE); 
    prefEditor = settings.edit(); 

    prefEditor.putString("UserName", "JaneDoe"); 
    prefEditor.putInt("UserAge", 22); 
    prefEditor.commit(); 
    } 
} 

SharedPreferences jest jednym z StorageOptions w Android, który jest używany do przechowywania preferences.This użytkownik jest dostępny w całym application.Example z SharedPreferences. http://www.codestacks.in/2013/03/sharedpreferences/

Przykład Kod:

package com.example.test; 

import android.app.Activity; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.widget.Toast; 

public class SharedPreferencesDemo extends Activity { 

SharedPreferences shared_preferences; 
SharedPreferences.Editor shared_preferences_editor; 
String test_string = ""; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 

    shared_preferences = getSharedPreferences("shared_preferences_test", 
      MODE_PRIVATE); 
    test_string = shared_preferences.getString("test_key", "Default"); 

    Toast.makeText(getApplicationContext(), test_string, Toast.LENGTH_SHORT) 
      .show(); 

    shared_preferences_editor = shared_preferences.edit(); 

    shared_preferences_editor.putString("test_key", "Hello World"); 
    shared_preferences_editor.commit(); 

    test_string=shared_preferences.getString("test_key", "Default"); 

    Toast.makeText(getApplicationContext(), test_string, Toast.LENGTH_SHORT).show(); 
    } 
}