2011-04-20 51 views
20

Hola ¿Cuál es la mejor manera de almacenar objetos/instancias globales a través de la aplicación?Datos globales de la aplicación de tienda

+2

¿Qué quieres decir con almacenar? ¿Persiste los datos o solo desea acceder a ellos durante la vida útil de la aplicación? – Flo

+0

Quiero acceder a ellos durante la vida útil de la aplicación –

+0

puede usar las preferencias compartidas & onDestroy() borrar todas las variables de preferencia –

Respuesta

1

Extienda el objeto Aplicación y almacene las referencias a sus objetos globales en él.

+0

mira mi publicación anterior http://stackoverflow.com/questions/5726095/store-objects-in-applicationcontext. –

1

¿Qué hay de Singleton pattern?

+0

Android borrará los objetos singleton cuando la aplicación está en segundo plano –

+1

Por lo que sé, esto es incorrecto. Los borrará solo si tu aplicación está siendo asesinada. Luego, su proceso en segundo plano, es decir, la actividad está en estado si los objetos "Pausados" no pueden ser eliminados. – Olegas

+0

¿Necesita guardar el estado de las instancias de objetos entre diferentes ejecuciones de aplicaciones? – Olegas

26

Aquí está el siguiente código que utilizo para almacenar String en Application Context.

hago la clase GlobalVariable.java

import android.app.Application; 

public class GlobalVariable extends Application 
{ 
     private String myState; 

     public String getState() 
     { 
     return myState; 
     }//End method 

     public void setState(String s) 
     { 
     myState = s; 
     }//End method 
}//End Class 

En .manifest agrego el siguiente código

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name="GlobalVariable"> 

Donde quiero establecer el valor de cadena que utilizo el siguiente código

GlobalVariable appState = ((GlobalVariable)getApplicationContext()); 
appState.setState("Testing"); 

& donde quiero recuperar los datos que uso

GlobalVariable appState = ((GlobalVariable)getApplicationContext()); 
appState.getState(); 
+0

¿qué pasa con un objeto (por ejemplo, clase A) –

+0

mira mi publicación anterior http://stackoverflow.com/questions/ 5726095/store-objects-in-applicationcontext –

+0

@Harikrishnan R, he agregado el objeto de la clase A usando el mismo procedimiento. – Siddiqui

Cuestiones relacionadas