Foros del Web » Programando para Internet » Android »

SharedPreferences

Estas en el tema de SharedPreferences en el foro de Android en Foros del Web. Hola, estoy estudiando programación y intento hacer una app sencilla sin mucha complicacion para probar el uso de las SharedPreferences de Android y asi familiarizarme ...
  #1 (permalink)  
Antiguo 21/01/2013, 05:23
Avatar de Hateoner  
Fecha de Ingreso: octubre-2012
Ubicación: Madrid, Spain
Mensajes: 7
Antigüedad: 12 años
Puntos: 1
SharedPreferences

Hola, estoy estudiando programación y intento hacer una app sencilla sin mucha complicacion para probar el uso de las SharedPreferences de Android y asi familiarizarme un poco con ellas pero al hacer la app eclipse dice que todo bien ni errores ni fallos.. pero al ejecutarla me da un NullPointerException que no se donde está :S y no sé como avanzar ya que mis profesores no me hacen mucho caso este es el codigo, agradeceria su ayuda muchas gracias de antemano :D

Código:
package es.exitae.preferenciascompartidas;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	private Button btnSalir, btnAcercade;
	private TextView txtContador;
	SharedPreferences ajustes = getSharedPreferences("preferencias", Context.MODE_PRIVATE);
	SharedPreferences.Editor editor_ajustes = ajustes.edit();
	int veces_contador = 0;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		veces_contador = ajustes.getInt("veces", 1);
		txtContador = (TextView) findViewById(R.id.txtContador);
		txtContador.setText(String.valueOf(veces_contador).toString());
		
		btnSalir = (Button) findViewById(R.id.btnSalir);
		btnSalir.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				finish();
			}
		});
		
		btnAcercade = (Button) findViewById(R.id.btnAcercade);
		btnAcercade.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Toast.makeText(MainActivity.this, "Brian@Exitae (C) 2013", Toast.LENGTH_SHORT).show();
			}
		});
		
	}
	
	@Override
	protected void onStop() {
		veces_contador++;
		editor_ajustes.putInt("veces", veces_contador);
		editor_ajustes.commit();
		super.onStop();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}
  #2 (permalink)  
Antiguo 21/01/2013, 20:15
 
Fecha de Ingreso: mayo-2011
Ubicación: Lima
Mensajes: 25
Antigüedad: 13 años, 5 meses
Puntos: 2
Respuesta: SharedPreferences

Debes inicializar la variable "ajustes" dentro del metodo onCreate, no fuera de ese ambito, lo mismo con su editor de contenido, el error se genera porque intentas darles un valor por fuera.

Etiquetas: activity, eclipse, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:36.