6

我只是想知道在 android 的几个活动中处理数据的更好方法是什么。

假设我有两个活动,A 和 B,它们持有一些观点。首先,我从 SQL 数据库加载一些数据并扩充 A 中的视图。现在,我想启动活动 B,它使用与 A 相同的数据集。

是通过 Intent ( putExtra()) 传递数据然后膨胀视图更好,还是再次查询数据库然后膨胀​​更好。

我不确定,因为这两种方法似乎都有其缺点:

  • 查询数据库需要更多时间/更多资源
  • 由于放置和获取数据(尤其是在处理更多活动时),将额外数据放入意图使其更加复杂

有人可以就最佳做法给我一些建议吗?

4

2 回答 2

2

与 DB Query 相比,使用 Intent。

另一种方法是,使用一个通用类来临时保存您的数据。

于 2013-08-26T09:06:20.287 回答
0

有多种方法可以传递和获取数据。使用 Intent 比使用 DB 查询更有用。

但是还有另一种有用的方法是共享偏好。通过它您可以创建、编辑、删除数据以及从任何活动中获取数据。

要创建或编辑共享首选项:

String share_pref_file = "your_file_name";      
SharedPreferences prefs1 = getSharedPreferences(
        share_pref_time_file, Context.MODE_PRIVATE);
SharedPreferences.Editor editor1 = prefs1.edit();
editor1.putString("your_data", data); //data is your variable
editor1.commit();

要获取数据:

String share_pref_file = "your_file_name";
SharedPreferences prefs = getSharedPreferences(share_pref_file,
    Context.MODE_PRIVATE);
String strJson = prefs.getString("your_data", "");

删除:

String share_pref_file = "your_file_name";
SharedPreferences prefs1 = getSharedPreferences(
            share_pref_file, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs1.edit();
    editor.remove(share_pref_file);
    editor.clear();
    editor.commit();
于 2013-08-26T09:32:22.850 回答