Android应用程序中的捆绑包是什么?什么时候使用?


当前回答

包: 从String值到各种Parcelable类型的映射。

Bundle通常用于在android的各个活动之间传递数据。

当我们调用onPause(),然后调用onStop(),然后以相反的顺序调用onStop()到onPause()。

系统用来恢复先前状态的保存数据称为“实例状态”,是存储在Bundle对象中的键-值对的集合。

其他回答

使用bundle在intent对象的帮助下将数据从一个活动发送到另一个活动; 捆绑包保存可以是任何类型的数据。

现在我告诉它如何创建在两个活动之间传递数据的bundle。

第一步:第一个活动

Bundle b=new Bundle();

b.putString("mkv",anystring);

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

in.putExtras(b);

startActivity(in);

第二步:第二项活动

Intent in=getIntent();

Bundle b=in.getExtras();

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

我认为这对你很有用...........

Bundle用于在活动之间共享数据, 在oncreate()方法中保存应用程序的状态,这样应用程序就会知道它在哪里停止了… 我希望它能帮助你:)

Bundle用于在活动之间传递数据。你可以创建一个bundle,将它传递给Intent来启动活动,然后可以从目标活动中使用。

我必须补充的是,bundle被活动用来在将来将数据传递给自己。

当屏幕旋转时,或者当另一个活动启动时,方法protected void onSaveInstanceState(Bundle outState)被调用,并且活动被销毁。稍后,创建该活动的另一个实例,并调用公共void onCreate(Bundle savedInstanceState)。当activity的第一个实例被创建时,bundle是空的;如果bundle不为空,活动将继续由它的前任开始的一些业务。

Android会自动将文本保存在文本框中,但它不会保存所有内容,有时会出现一些微妙的错误。

不过,最常见的反模式是假设onCreate()只进行初始化。这是错误的,因为它也必须恢复国家。

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

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

bundle可以用来通过intent将任意数据从一个活动发送到另一个活动。当你广播一个Intent时,感兴趣的activity(和其他broadcastreceivers)会得到通知。一个intent可以包含一个Bundle,这样你就可以发送额外的数据。

bundle是键-值映射,因此在某种程度上它们类似于Hash,但它们并不严格限制于单个String / Foo对象映射。请注意,只有特定的数据类型被认为是“可打包的”,并且它们在Bundle API中被显式地拼写出来。