为了账号安全,请及时绑定邮箱和手机立即绑定

什么是Android应用程序中的“捆绑”

什么是Android应用程序中的“捆绑”

Qyouu 2019-08-14 17:34:56
什么是Android应用程序中的“捆绑”什么是bundleAndroid应用程序?什么时候用?
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

捆绑包通常用于在各种Android活动之间传递数据。这取决于您要传递的值的类型,但bundle可以包含所有类型的值并将它们传递给新活动。

你可以像这样使用它:

Intent intent = new...Intent(getApplicationContext(), SecondActivity.class);intent.putExtra("myKey", AnyValue);  startActivity(intent);

您可以通过执行以下操作获取传递的值:

Bundle extras = intent.getExtras(); String tmp = extras.getString("myKey");

您可以在以下位置找到更多信息


查看完整回答
反对 回复 2019-08-14
?
跃然一笑

TA贡献1826条经验 获得超6个赞

通过使用BundleIntent对象在活动之间传递数据


你首先创建一个Bundle对象

Bundle b = new Bundle();

然后,将存储的字符串数据anystring与bundle密钥相关联"myname"

b.putString("myname", anystring);

现在,创建一个Intent对象

Intent in = new Intent(getApplicationContext(), secondActivity.class);

将bundle对象传递b给intent

in.putExtras(b);

并开始第二项活动

startActivity(in);

在第二个活动中,我们必须访问从第一个活动传递的数据

Intent in = getIntent();

现在,您需要从捆绑包中获取数据

Bundle b = in.getExtras();

最后,获取与key命名关联的字符串数据的值 "myname"

String s = b.getString("myname");


查看完整回答
反对 回复 2019-08-14
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

我必须补充一点,活动使用bundle来将数据传递给自己。

当屏幕旋转或启动另一个活动时,将protected void onSaveInstanceState(Bundle outState)调用该方法,并销毁活动。稍后,将创建另一个活动实例,并public void onCreate(Bundle savedInstanceState)进行调用。创建第一个活动实例时,该包为空; 如果bundle不为null,则活动将继续由其前身启动的某些业务。

Android会自动将文本保存在文本字段中,但它不会保存所有内容,并且有时会出现细微的错误。

但是,最常见的反模式假设onCreate()只是初始化。这是错误的,因为它也必须恢复状态。

有一个选项可以禁用这种“重新创建旋转活动”行为,但它不会阻止与重启相关的错误,它只会使它们更难以提及。

另请注意,当活动将被销毁时,唯一可以保证其调用的方法是onPause()。(请参阅文档中的活动生命周期图。)


查看完整回答
反对 回复 2019-08-14
  • 3 回答
  • 0 关注
  • 530 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信