是通过意向传递数据更好,还是在需要时查询数据库更好



我只是想知道在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();

相关内容

最新更新