膨大な量のデータを扱うアプリを構築しており、この問題に対処するための優れたソリューションが必要です。データセットを表すクラスがあります。これには、いくつかの ArrayLists といくつかの単純なデータ型が含まれています。これらのクラスの多くを ArrayList にファイルに保存したいと考えています。アプリを起動すると、データが読み込まれ、すべてのアクティビティがこれらのデータを使用する必要があります。異なるアクティビティ間でこれらのデータを共有するにはどうすればよいですか?
質問する
98 次
1 に答える
0
最初のアクティビティが開始されたら、AsyncTaskを使用して、データベースまたはアプリに配置した場所からすべてのデータを読み込み、モデル クラスに設定します。モデル クラスを公開し、すべての変数とメソッドも公開します。アプリのすべてのアクティビティがそのデータを使用できるようにします。例はここにあります。
/* Calling a LoadDataBase() class extending AsyncTask
* to run in background for creating or loading data base.
*/
new LoadDataBase().execute();
この AsyncTask クラスを次のようにコーディングするよりも:
// LoadDataBase class for background execution.
private class LoadDataBase extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... arg0) {
// DataBaseHelper class object.
DataBaseHelperClass dbHelper = new DataBaseHelperClass(this);
// Create database for the first time.
try {
dbHelper.createOrLoadDataBase();
} catch (IOException e) {
e.printStackTrace();
}
// Closing the database connection.
dbHelper.close();
return "";
}
@Override
protected void onPostExecute(String result) {
//Your code to set data loaded from database to model classes by using getter
//setter methods.
} // end onPostExecute(Void... values).
} // LoadDataBase.
これがあなたを助けますように。
于 2012-12-30T06:14:45.463 に答える