我只是想知道在android中处理几个活动中的数据的更好方法是什么。
假设我有两个活动,A和B,持有一些观点。首先,我从SQL数据库加载一些数据,并在a中展开视图。现在,我想启动活动B,它使用与a相同的数据集。
是通过Intent(putExtra()
)传递数据然后膨胀视图更好,还是再次查询数据库然后膨胀更好。
我不确定,因为这两种方法似乎都有缺点:
- 查询数据库需要更多的时间/资源
- 由于放入和获取数据(尤其是在处理更多活动时),将额外数据放入意图会使其更加复杂
有人能给我一些关于什么是最佳实践的建议吗?
与数据库查询相比,使用Intent。
另一种方法是,使用一个公共类来临时保存数据。
传递和获取数据的方式多种多样。使用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();