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


当前回答

通过使用Bundle和Intent对象在活动之间传递数据。


首先创建一个Bundle对象

Bundle b = new Bundle();

然后,将存储在anystring中的字符串数据与bundle key "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();

最后,获取与名为"myname"的键相关的字符串数据的值

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

其他回答

捆绑包通常用于在各种Android活动之间传递数据。这取决于你想传递什么类型的值,但是包可以保存所有类型的值并将它们传递给新活动。

你可以这样使用它:

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

你可以通过这样做来获取传递的值:

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

你可以在这里找到更多信息:

android-using-bundle-for-sharing-variables和 Passing-Bundles-Around-Activities

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

Bundle不仅用于在两个不同的组件之间传输数据,更重要的是用于恢复在activity被销毁为新activity之前存储的值。

例如EditText小部件中的文本或ListView的滚动位置。

通过使用Bundle和Intent对象在活动之间传递数据。


首先创建一个Bundle对象

Bundle b = new Bundle();

然后,将存储在anystring中的字符串数据与bundle key "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();

最后,获取与名为"myname"的键相关的字符串数据的值

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

使用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");

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