import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MyActivity extends Activity {
private EditText et1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
et1=(EditText)findViewById(R.id.et1);
//obtenemos una refernecia al objeto de la Clase SharePreferences a través de del metodo getSharePreferences
//datos = nombre del archivo de preferencia
//mode_private = indica que solo la aplicacion que la crea puede consultar la información
SharedPreferences prefe=getSharedPreferences("datos",Context.MODE_PRIVATE);
et1.setText(prefe.getString("mail",""));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.my, menu);
return true;
}
public void ejecutar(View v) {
SharedPreferences preferencias=getSharedPreferences("datos",Context.MODE_PRIVATE);
Editor editor=preferencias.edit();
editor.putString("mail", et1.getText().toString());
editor.commit();
finish();
}
}
/* conclusiones
SharedPreferences ponemos el dato
Editor lo guardamos //Editor es de SharePrefences
MODE_PRIVATE solo la aplicación puede acceder al archivo de preferencias.
MODE_WORLD_READABLE otras aplicaciones pueden consultar el archivo de preferencias
MODE_WORLD_WRITEABLE otras aplicaciones pueden consultar y modificar el archivo.
MODE_MULTI_PROCESS varios procesos pueden acceder (Requiere Android 2.3)
editor.putInt("edad",3);
editor.putBoolean("activo", true);
editor.putFloat("altura", 2.3f);
Cuando los recuperamos debemos indicar también que tipo de datos extraemos:
int e=prefe.getInt("edad", 0);
boolean acti=prefe.getBoolean("activo", false);
float alt=prefe.getFloat("altura", 0f);
*/
XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MyActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/et_nombre" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/et_dni" android:inputType="number"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText" /> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:text="Aceptar" android:id="@+id/button" android:layout_weight="1" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:text="Finalizar" android:id="@+id/finalizar" android:layout_weight="1" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:text="Guardar" android:id="@+id/guardar" android:layout_weight="1" /> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/tv_nombre" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/tv_dni" /> </LinearLayout>