2010-10-03 25 views
5

Ich bin neu in Android-Entwicklung - mit einem Buch namens Sams Teach Yourself Android Application Development in 24 Stunden. Es ist so weit gefolgt, aber ich habe versucht, SharedPreferences zu verwenden.So verwenden Sie SharedPreferences

Im Ordner src/com.androidbook.triviaquiz ich eine Datei QuizActivity genannt haben, darin ich folgendes haben:

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(); 
} 

Dies ist, was das Buch sagt mir, zu verwenden, aber es gibt Fehler an den folgenden Punkten zurück: unter dem "." nach den ersten 2 PreFeditor-Anweisungen, unter ("UserName", "JaneDoe") unter ("UserAge", 22); und unter "commit"

Ich habe auf vielen Websites nach Hilfe gesucht, aber alle scheinen den gleichen Code zu verwenden. Was mache ich falsch?

+0

prüfen diese http://www.gadgetsaint.com/go/xb023 – ASP

Antwort

7

Versuchen Sie es in Ihrem onCreate(). Auch getDefaultSharedPreferences() ist einfacher:

@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

Verwenden SharedPreferences erst, nachdem die Aktivität erstellt wird. Initialisieren Sie SharedPreferences in 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 ist eine der StorageOptions in Android die benutzer preferences.This zum Speichern verwendet wird, während des gesamten application.Example von SharedPreferences zugänglich. http://www.codestacks.in/2013/03/sharedpreferences/

Beispielcode:

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(); 
    } 
}