我想将数据从一个活动传递到另一个活动。如果它是两个或三个活动,我们可以通过intent.suppose发送更多活动(大约20个)。我可以将数据从第一个活动传递到最后的活动?
我想去活动A - > B - > C - > D - > ...... Y - > Z
如果我们通过intent(put Extra)发送数据,这是最糟糕的方法。
有没有其他方式发送数据?
提前致谢
答案 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)
如果不是必须使用活动的情况,您可以将活动更改为片段,将它们附加到相同的活动,将数据缓存在活动中并从片段中获取。