2011-07-26 18 views
5

Estoy tratando de usar la clase de aplicación de Android (MyApplication.java) para almacenar datos en ArrayLists de cadenas y entradas.¿Cómo almacenar datos persistentes fácilmente sin usar bases de datos?

Quiero que estos datos se guarden para siempre, como una base de datos, pero sin usar las bases de datos, para simplificar mi aplicación.

Actualmente se almacenan los datos, cuando salgo de la aplicación, el proceso de la aplicación todavía se ejecuta en segundo plano. Pero si elimino el proceso de la aplicación, se eliminan los datos almacenados en la clase MyApplication.java get. Entonces necesito algún tipo de función que almacene los datos de mis variables de MyApplication en un archivo, y otra función que restaura los datos en las variables.

¿Hay una manera simple y fácil de resolver esto?

código reanudó:

public class MyApplication extends Application { 
    public static String LeagueTable[][] = new String[21][8]; 
    //COLUMNAS MATRIZ: 
    //0  /1 /2 /3 /4 /5 /6 /7 
    //nombre/P.J./P.G./P.E./P.P./G.F./G.C./Pts 

    public static League LFP = new League(); 
    public static Category Primera = new Category(20); 
    public static int NEQUIPOS=20; 
    public static int[][] matriz= new int[NEQUIPOS+1][NEQUIPOS+1]; //esta es la matriz de emparejamientos, representa el calendario 
    public static int PlayerTeamID; 
    public static boolean ExistingSaveGame=false;//esto es true cuando existe una partida guardada 

    //variables candidatas a poner dentro de una de las clases del modelo, como season por ejemplo 
    public static int RoundNumber; //jornada actual 
    public static boolean SeasonOver=false;//true cuando la temporada ha terminado 

    public void onCreate() { 
     super.onCreate(); 
    } 

    public void onTerminate() { 
     super.onTerminate(); 
    } 

"and a lot of functions that works with the static variables" 

Respuesta

8

Dependiendo de su contexto (especialmente pero no solo relacionado con el tamaño de sus datos), puede usar las Preferencias Compartidas, el almacenamiento interno o el almacenamiento externo (la tarjeta SD).

Una guía oficial sobre eso is available here.

+0

¿las preferencias compartidas pueden almacenar matrices de 2 dimensiones y listas de arrays con miles de elementos? – NullPointerException

+2

No, no está diseñado para eso: http://developer.android.com/reference/android/content/SharedPreferences.html. Si su colección es pequeña (en términos de peso, digamos que menos de un megabyte), prefiero usar el almacenamiento interno. Y si es más grande, utilizaría el almacenamiento externo. – Shlublu

+0

¿entonces qué debería hacer? – NullPointerException

3

La manera más rápida y fácil es usar SharedPreferences si no almacena datos complejos.

+0

preferencias compartidas pueden almacenar 2 matrices de dimensiones y ArrayLists con miles de elementos? – NullPointerException

Cuestiones relacionadas