首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在安卓系统中使用捆绑包代替直接意图putExtra()的优势

在安卓系统中使用捆绑包代替直接意图putExtra()的优势
EN

Stack Overflow用户
提问于 2013-03-06 17:44:57
回答 2查看 39.4K关注 0票数 81

在我的android应用程序中,我总是使用Intent类的直接putExtra()函数将任意数量的值传递给新的Activity

如下所示:

代码语言:javascript
复制
Intent i = new Intent(this, MyActivity.class);
i.putExtra(ID_EXTRA1, "1");
i.putExtra(ID_EXTRA2, "111");
startActivity(i);

我知道安卓系统中的Bundle,我看到人们正在使用Bundle来传递值给新的Activity

如下所示:

代码语言:javascript
复制
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()有什么优势

EN

回答 2

Stack Overflow用户

发布于 2013-03-06 17:50:51

捆绑包很酷,因为您可以更容易地隔离它们的创建/读取,从而将处理捆绑包的代码与UI的代码分开。

在大多数情况下,这是无用的,因为您需要传输尽可能少的数据(通常只有几个字符串,一个id……)

票数 6
EN

Stack Overflow用户

发布于 2013-03-06 20:22:10

你可以指Intent and Bundle Relation (Stackoverflow),也可以指What is the importance of bundle in an Android program (Stackoverflow)

您可以在一个包中发送多个或多个数据,并通过Intent发送它。或者另一种方法是添加PutExtra()的多个语句。

据我所知,并没有什么重要的区别。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15243798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档