Preferencias compartidas en Android
Preferencias compartidas (SharedPreference) en Android
PREFERENCIAS COMPARTIDAS
La clase SharedPreference es una clase que permite almacenar datos denominados primitivos, generalmente datos de configuración de la aplicación, en un archivo xml en la memoria del dispositivo en lugar de una base de datos y que de la misma forma que la base de datos al cerrar la aplicación los datos se mantienen almacenados. Datos primitivos: byte,short,int,long,float,double,boolean,char.
Estas preferencias dispone de tres modos de almacenamiento: privado (private), legible (readable) y editable (writeable).
Privado: Solo la aplicación tiene acceso a ellas.
Legible: Una aplicación externa tiene solamente acceso de lectura.
Editable: Una aplicación externa tiene acceso de lectura y escritura.
A continuación un ejemplo básico de SharedPreferences en el que se almacenan los datos introducidos y se leen esos datos.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="//schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:id="@+id/editT"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre"
/>
<Button
android:id="@+id/boton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Guardar"/>
</LinearLayout>
MainActivity.java
package xip.midominio.com.sharedpreference;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.view.View.OnClickListener;
public class MainActivity extends AppCompatActivity implements OnClickListener{
EditText editT;
Button boton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editT = (EditText)findViewById(R.id.editT);
boton = (Button) findViewById(R.id.boton);
SharedPreferences pref = getSharedPreferences("nombre",Context.MODE_PRIVATE);
editT.setText(pref.getString("nombre",""));
boton.setOnClickListener(this);
}
public void onClick(View v){
switch(v.getId()){
case R.id.boton:
String guardar = editT.getText().toString();
SharedPreferences preferencias = getSharedPreferences("nombre", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferencias.edit();
editor.putString("nombre",guardar);
editor.commit();
finish();
break;
default:
break;
}
}
}
Para poder comentar es necesario iniciar sesión