Hoy vamos a ver como poder guardar datos en nuestra aplicación de manera persistente, es decir, si cierra la aplicación y mata el proceso al abrirla esos datos guardados seguirán estado disponibles para su utilización.
La clase que vamos a utilizar es SharedPreferences que funciona con una Key y su valor. Por ejemplo, key=email value=xxx@tutorialeshtml5.com. Para acceder al email abra que buscar la key 'email'.
Vamos a ver un ejemplo totalmente explicado para entenderlo perfectamente:
public class MyActivity extends ActionBarActivity { //Creamos los objetos necesarios private Button bt_guardar; private TextView txt; private EditText ed_text; private SharedPreferences datos; private String valorLeido; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); //Relacionamosocn el Layout XML bt_guardar = (Button)findViewById(R.id.button); txt = (TextView)findViewById(R.id.textView); ed_text = (EditText)findViewById(R.id.editText); //Leemos si hay datos guardados llamados 'Mail' en el archivo fichero_app //si no encuentra ningún dato cojerá como valor 'dato no encontrado' datos = getSharedPreferences("fichero_app", Context.MODE_PRIVATE); valorLeido = datos.getString("Mail", "Dato no encontrado"); //Añadimos el valor leido al textview de la aplicacion txt.setText(valorLeido); //Al pulsar el boton guardar bt_guardar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //recuperamos el 'datos' abierto anteriormente SharedPreferences.Editor editor = datos.edit(); //guardamos ne el campo 'mail' lo que este escrito en el edittext 'ed_text' editor.putString("Mail", ed_text.getText().toString()); //aquí podemois guardar más datos antes del commit. editor.commit(); } }); } }
Para ver el resultado añado el vídeo del proyecto.
Muchas gracias!
Espero comentarios!
No hay comentarios:
Publicar un comentario