2010-10-03 13 views
5

Soy nuevo en el desarrollo de Android - usando un libro llamado Sams Teach Yourself Desarrollo de aplicaciones para Android en 24 horas. Lo seguí hasta el momento, pero me tragué al tratar de usar SharedPreferences.Cómo usar las Preferencias Compartidas

En la carpeta src/com.androidbook.triviaquiz Tengo un archivo llamado QuizActivity, en el que tengo el siguiente:

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

Esto es lo que el libro me indica que utilice, pero devuelve errores en los siguientes puntos: debajo de "." después de las primeras 2 declaraciones prefEditor, debajo ("Nombre de usuario", "JaneDoe") debajo ("UserAge", 22); y en "commit"

He buscado en muchos sitios web ayuda, pero todos parecen usar el mismo código. ¿Qué estoy haciendo mal?

+0

Marque esta http://www.gadgetsaint.com/go/xb023 – ASP

Respuesta

7

Intenta ponerlo en tu onCreate(). Además, es más fácil getDefaultSharedPreferences():

@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

Use SharedPreferences sólo después de que se crea la actividad. Inicializar SharedPreferences en 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 es uno de los StorageOptions en Android que se utiliza para almacenar preferences.This usuario es accesible en todo el application.Example de SharedPreferences. http://www.codestacks.in/2013/03/sharedpreferences/

código Ejemplo:

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