从被调用的活动传递值

时间:2012-04-11 08:41:31

标签: android

我是Android编程的新手,并提出以下问题。

我有一个调用另一个活动(屏幕)的活动(屏幕)。我可以通过创建一个intext并使用putExtras从Activity2传回值。然后当我返回到我的main activity1然后我可以(onActivityResult)我可以从返回的intent中检索字符串值对。

问题1如果Activity2完成,如果垃圾收集器启动,我在那里创建的Intent可能会被释放的可能性是多少?或者Android在退出应用程序之前不会清除任何类似的内存。

问题2)如果我再回到Activity2并再次做一个“新意图.....”就是分配更多的内存,如果是这样,效率低下呢?“

问题3 - 是否有更好的方法将数据从被调用的活动传递回调用活动,或者只使用Intent和putExtras等?

由于 贝

3 个答案:

答案 0 :(得分:2)

在您要发送数据的类中 -

Intent intent = new Intent(context,NextClass.class); 
intent.putExtra("ACTIVITY_ID","Any value or variable" );
intent.putExtra("CUSTOMER_ID","Any Value or variable" );
startActivityForResult(intent, 0);

现在在Receiving类中,让我们说NextClass

Bundle extras=getIntent().getExtras();
String ACTIVITY_ID=extras.getString("ACTIVITY_ID");
String CUSTOMER_ID=extras.getString("CUSTOMER_ID");

通过使用此方法,我们可以轻松地将数据从一个活动传递到另一个活动......

答案 1 :(得分:1)

我的建议是。

如果您有使用过各种活动的数据,那么使用Intent从1活动到另一个活动来传递数据。创建全局级静态变量,然后通过应用程序访问该全局变量。

答案 2 :(得分:0)

您要在活动之间传递多少数据?字节,千字节或兆字节?

如果它只有字节或几千字节,那么这就是我的答案:

  1. 不要担心垃圾收集器。它会完成它的工作
  2. 是的,将分配更多内存。不,它不是低效率的
  3. Intent和putExtras是首选方式。
  4. 如果数据非常大,您可以将其保存到SD卡并在活动之间传递文件uri。