如何将数据传递给更多活动

时间:2015-07-04 12:08:25

标签: android android-intent

我想将数据从一个活动传递到另一个活动。如果它是两个或三个活动,我们可以通过intent.suppose发送更多活动(大约20个)。我可以将数据从第一个活动传递到最后的活动?

我想去活动A - > B - > C - > D - > ...... Y - > Z

如果我们通过intent(put Extra)发送数据,这是最糟糕的方法。

有没有其他方式发送数据?

提前致谢

3 个答案:

答案 0 :(得分:1)

我会使用SharedPreferences

这将更容易,因为我们可以在任何活动中的任何位置更改它,并根据需要访问它们。我们不需要传递每一个活动过渡。

简单示例: 在共享首选项中设置值

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Nabin");
 editor.putInt("idName", 12);
 editor.commit();

并检索为

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value.
}

您可以参考here了解更多信息。

答案 1 :(得分:0)

如果您需要将一些数据用于多个活动,只需将数据保存到SharedPreference,您就可以访问所有活动。 Here是完整的教程。

保存数据

    // Create object of SharedPreferences.
     SharedPreferences sharedPref= getSharedPreferences("mypref", 0);
     SharedPreferences.Editor editor= sharedPref.edit();
    //put your value
     editor.putString("name", strName);
     editor.putString("pwd", strPass);
     editor.commit();  //commits your edits

检索数据

 SharedPreferences sharedPref= getSharedPreferences("mypref", 0);
 String name = sharedPref.getString("name", "");
 String password = sharedPref.getString("pwd", "");

答案 2 :(得分:0)

如果不是必须使用活动的情况,您可以将活动更改为片段,将它们附加到相同的活动,将数据缓存在活动中并从片段中获取。