2011-07-26 16 views
5

私は文字列とintのいくつかのArrayListsにデータを格納するためにAndroidアプリケーションクラス(MyApplication.java)を使用しようとしています。データベースを使用せずに永続データを簡単に保存する方法は?

これらのデータは、データベースのように、のように永久に保存されますが、アプリケーションを簡素化するためにデータベースは使用しません。

現在、データが保存されます。アプリを終了すると、アプリのプロセスはバックグラウンドで実行されます。しかし、私がアプリのプロセスを終了すると、MyApplication.javaクラスに保存されたデータが削除されます。だから、MyApplicationの変数からのデータをファイルに格納する何らかの種類の関数と、変数にデータを復元する別の関数が必要です。

これを解決する簡単な方法はありますか?

コードを再開:

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" 

答えて

8

状況に応じて(特にデータのサイズに関係するだけでなく)、共有設定、内蔵ストレージ、または外付けストレージ(SDカード)を使用することができます。

公式ガイドについてはis available hereです。

+0

共有設定には、数千の要素を持つ2次元配列とarraylistsを格納できますか? – NullPointerException

+2

いいえ、それのために設計されていません:http://developer.android.com/reference/android/content/SharedPreferences.html。あなたのコレクションが小さい(重量の点で言えば、1メガバイト以下と言う)場合は、むしろ内部ストレージを使用したいと思います。それが大きければ、私は外部ストレージを使用します。 – Shlublu

+0

私は何をすべきですか? – NullPointerException

3

複雑なデータを保存しない場合は、SharedPreferencesを使用するのが最も簡単で簡単な方法です。

+0

共有設定は、要素の何千もの2次元アレイとのArrayListを保存することができますか? – NullPointerException

関連する問題