在活动之间提供大量数据,寻找最佳解决方案

时间:2012-12-29 23:10:03

标签: android file android-activity large-data

我正在构建一个包含大量数据的应用程序,我需要一个很好的解决方案来解决这个问题。我有一个表示数据集的类。它包含几个ArrayLists和一些简单的数据类型。我想将ArrayList中的很多这些类保存到文件中。当我启动应用程序时,应该加载数据,并且每个活动都应该使用这些数据。如何在不同的活动之间共享这些数据?

1 个答案:

答案 0 :(得分:0)

当您的第一个活动开始时,使用 AsyncTask 并加载数据库中的所有数据或放置在应用中的位置并将其设置为模型类。使模型类公开,也是所有变量和方法。以便app的所有活动都可以使用该数据。这个例子就在这里。

/* 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.

愿这对你有所帮助。