Recuperación de valores de prefrences compartidos en otra actividad

¿Puede alguien decir dónde estoy equivocado porque es sólo un proceso simple, pero cómo su no recuperar los valores que no puedo entender y hacer comprobación condicional sobre la variable de cadena …

Actividad A: –

EditText e = (EditText) findViewById(R.id.editText1); EditText e1 = (EditText) findViewById(R.id.editText2); EditText e2 = (EditText) findViewById(R.id.editText3); EditText e3 = (EditText) findViewById(R.id.editText4); EditText e4 = (EditText) findViewById(R.id.editText5); EditText e5 = (EditText) findViewById(R.id.editText6); EditText e6 = (EditText) findViewById(R.id.editText7); SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor = myPrefs.edit(); editor.putString("text", e.getText().toString()); SharedPreferences myPrefs1 = getSharedPreferences("myPrefs1", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor1 = myPrefs1.edit(); editor1.putString("text1", e1.getText().toString()); SharedPreferences myPrefs2 = getSharedPreferences("myPrefs2", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor2 = myPrefs.edit(); editor2.putString("text2", e2.getText().toString()); SharedPreferences myPrefs3 = getSharedPreferences("myPrefs3", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor3 = myPrefs3.edit(); editor3.putString("text3", e3.getText().toString()); SharedPreferences myPrefs4 = getSharedPreferences("myPrefs4", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor4 = myPrefs4.edit(); editor4.putString("text4", e4.getText().toString()); SharedPreferences myPrefs5 = getSharedPreferences("myPrefs5", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor5 = myPrefs5.edit(); editor5.putString("text5", e5.getText().toString()); SharedPreferences myPrefs6 = getSharedPreferences("myPrefs6", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor6 = myPrefs6.edit(); editor6.putString("text6", e6.getText().toString()); 

Actividad B: -En esta actividad estoy accediendo a los valores y haciendo el chequeo condicional pero solo otra condición se está ejecutando en ambos casos

 public class CheckActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences myPrefs = getSharedPreferences("myPrefs",Context.MODE_PRIVATE); String restoredText = myPrefs.getString("text", ""); SharedPreferences myPrefs1 = getSharedPreferences("myPrefs1",Context.MODE_PRIVATE); String restoredText1 = myPrefs1.getString("text1", ""); SharedPreferences myPrefs2 = getSharedPreferences("myPrefs2",Context.MODE_PRIVATE); String restoredText2 =myPrefs2.getString("text2", ""); SharedPreferences myPrefs3 = getSharedPreferences("myPrefs3",Context.MODE_PRIVATE); String restoredText3 =myPrefs3.getString("text3", ""); SharedPreferences myPrefs4 = getSharedPreferences("myPrefs4",Context.MODE_PRIVATE); String restoredText4 = myPrefs4.getString("text4", ""); SharedPreferences myPrefs5 = getSharedPreferences("myPrefs5",Context.MODE_PRIVATE); String restoredText5 = myPrefs5.getString("text5", ""); SharedPreferences myPrefs6 = getSharedPreferences("myPrefs6",Context.MODE_PRIVATE); String restoredText6 = myPrefs6.getString("text6", ""); Intent i1 = new Intent(); if((restoredText.length()>1)&&(restoredText1.length()>1)&&(restoredText2.length()>1)&&(restoredText3.length()>1)&&(restoredText4.length()>1)&&(restoredText5.length()>1)&&(restoredText6.length()>1)) { i1.setClass(this,ShpoonkleActivity.class); } //if((restoredText.length()==0)||(restoredText1.length()==0)||(restoredText2.length()==0)||(restoredText3.length()==0)||(restoredText4.length()==0)||(restoredText5.length()==0)||(restoredText6.length()==0)) else { i1.setClass(this,Test.class); } startActivity(i1); finish(); } } 

usted debe confirmar sus datos con editor.commit();

Nota: en tu caso, no hay necesidad de usar muchas instancias de SharedPreferences , solo necesitas una instancia, y luego poner todas tus Strings en ella, y commit

Deberías usar

 editor.commit(); 

para que sus cambios sean preservados. y también, no es necesario utilizar diferentes archivos para almacenar varias cadenas, puede almacenar todas las cadenas en el mismo archivo de preferencias compartidas.

en realidad el texto de edittext de creación estaba creando ambigüedad y por lo tanto no estaba ejecutando así así que hice esto como se muestra a continuación: –

Actividad B: –

 protected void onPause() { EditText ed = (EditText)findViewById(R.id.editText1); EditText ed1 = (EditText)findViewById(R.id.editText2); EditText ed2 = (EditText)findViewById(R.id.editText3); EditText ed3 = (EditText)findViewById(R.id.editText4); EditText ed4 = (EditText)findViewById(R.id.editText5); EditText ed5 = (EditText)findViewById(R.id.editText6); EditText ed6 = (EditText)findViewById(R.id.editText7); super.onPause(); SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor = myPrefs.edit(); editor.putString("text", ed.getText().toString()); editor.putString("text1", ed1.getText().toString()); editor.putString("text2", ed2.getText().toString()); editor.putString("text3", ed3.getText().toString()); editor.putString("text4", ed4.getText().toString()); editor.putString("text5", ed5.getText().toString()); editor.putString("text6", ed6.getText().toString()); editor.commit(); } 

Actividad A: –

 public class CheckActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences myPrefs = getSharedPreferences("myPrefs",Context.MODE_PRIVATE); String restoredText = myPrefs.getString("text", ""); String restoredText1 = myPrefs.getString("text1", ""); String restoredText2 =myPrefs.getString("text2", ""); String restoredText3 =myPrefs.getString("text3", ""); String restoredText4 = myPrefs.getString("text4", ""); String restoredText5 = myPrefs.getString("text5", ""); String restoredText6 = myPrefs.getString("text6", ""); Intent i1 = new Intent(); if((restoredText.length()>0)&&(restoredText1.length()>0)&&(restoredText2.length()>0)&&(restoredText3.length()>0)&&(restoredText4.length()>0)&&(restoredText5.length()>0)&&(restoredText6.length()>0)) { i1.setClass(this,ShpoonkleActivity.class); } //if((restoredText.length()==0)||(restoredText1.length()==0)||(restoredText2.length()==0)||(restoredText3.length()==0)||(restoredText4.length()==0)||(restoredText5.length()==0)||(restoredText6.length()==0)) else { i1.setClass(this,Test.class); } startActivity(i1); finish(); } } 

Y funciona impresionante … thnx ..

  • Android - SharedPreferences a través de perfiles
  • Nube de Android - Administrador de copia de seguridad vs unidad
  • Almacenamiento de una matriz String en SharedPreferences
  • ¿La aplicación de actualización borra las preferencias compartidas o elimina las alarmas establecidas por la aplicación?
  • ¿Copiar / compartir configuraciones entre versiones pagadas / gratuitas de la aplicación para Android?
  • Android, sharedferencias o almacenamiento interno?
  • Configuración de valores predeterminados de varias instancias / archivos de SharedPreferences
  • Botón Inicio de la barra de acciones no funcional con PreferredScreen anidado
  • Sharedpreference con la pantalla de bienvenida
  • Cómo resolver un error: getSharedPreferences (String, int) no está definido para el tipo nuevo View.OnClickListener () {}
  • Expectativa de puntero nulo al obtener valores de preferencia compartida
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.