在我的android应用程序中,我总是使用Intent
类的直接putExtra()
函数将任意数量的值传递给新的Activity
。
如下所示:
Intent i = new Intent(this, MyActivity.class);
i.putExtra(ID_EXTRA1, "1");
i.putExtra(ID_EXTRA2, "111");
startActivity(i);
我知道安卓系统中的Bundle
,我看到人们正在使用Bundle
来传递值给新的Activity
。
如下所示:
Intent intent = new Intent(this, MyActivity.class);
Bundle extras = new Bundle();
extras.putString("EXTRA_USERNAME","my_username");
extras.putString("EXTRA_PASSWORD","my_password");
intent.putExtras(extras);
startActivity(intent);
在这里,我有两个疑问。
如果我可以通过将值直接放到Intent
中来将值传递给新的Activity
,为什么还要使用Bundle
使用Bundle
而不是直接使用Intent
putExtra()
有什么优势
发布于 2013-03-06 17:50:51
捆绑包很酷,因为您可以更容易地隔离它们的创建/读取,从而将处理捆绑包的代码与UI的代码分开。
在大多数情况下,这是无用的,因为您需要传输尽可能少的数据(通常只有几个字符串,一个id……)
发布于 2013-03-06 20:22:10
你可以指Intent and Bundle Relation (Stackoverflow),也可以指What is the importance of bundle in an Android program (Stackoverflow)。
您可以在一个包中发送多个或多个数据,并通过Intent发送它。或者另一种方法是添加PutExtra()的多个语句。
据我所知,并没有什么重要的区别。
https://stackoverflow.com/questions/15243798
复制相似问题