如何在非活动类的活动中执行某些操作?

时间:2015-09-24 08:08:20

标签: android android-activity

我正在异步类中执行某些操作(来自活动A),在结果出现之前,我开始另一个活动B. 现在我想根据异步类的结果在B中执行一段代码。

我无法通过互联网找到合适的解决方案。因此在这里张贴。

2 个答案:

答案 0 :(得分:0)

定义您自己的MyApp extends Application类,并在清单中将其声明为<application android:name="mypackage.MyApp></application>

然后在我的应用程序中有一个公共字段myResult。然后,您可以存储结果,并将该结果作为((MyApp)getApplication()).myResult

从公共字段中获取

这是因为MyApp单例对象在您的应用程序运行时始终存在。

如果您需要通知,可以使用Otto等事件总线

或者您可以发送广播并在其他活动中通过广播接收器捕捉它。

答案 1 :(得分:0)

有很多可能的解决方案可以做到这一点。让我添加我的最爱:

  1. 活动巴士(Square's Otto或GreenDroid's)。在这种情况下,您需要订阅您的活动以获得结果。
  2. 加载器 - 本机安卓解决方案,不需要库。要烹饪这个,您需要使用内容提供程序,其中包含带有结果的表,在异步任务中应该有一个方法将结果插入到db中。