Java 在活动之间传递未来对象

Java 在活动之间传递未来对象,java,android,asynchronous,Java,Android,Asynchronous,从Java EE到Android应用程序(我不是Java EE的专家),对于应用程序最致命的负载,我们决定异步处理文件,当应用程序启动时,我们启动一些异步通道读取文件,然后打开主活动,这个想法是用户可能不会直接进入需要这些文件的用例,但是如果他直接进入并且异步读取没有终止,他应该等待一段时间(客户机想要的) 我的问题是如何在活动之间传递未来对象?我的团队同意使用静态方法或单例,但我真的不喜欢单例,因为它是一种反模式,我不喜欢静态方法,因为它们的行为几乎像单例 尝试使用可打包或可序列化,但futu

从Java EE到Android应用程序(我不是Java EE的专家),对于应用程序最致命的负载,我们决定异步处理文件,当应用程序启动时,我们启动一些异步通道读取文件,然后打开主活动,这个想法是用户可能不会直接进入需要这些文件的用例,但是如果他直接进入并且异步读取没有终止,他应该等待一段时间(客户机想要的)

我的问题是如何在活动之间传递未来对象?我的团队同意使用静态方法或单例,但我真的不喜欢单例,因为它是一种反模式,我不喜欢静态方法,因为它们的行为几乎像单例

尝试使用可打包或可序列化,但future不使用实现任何一个,我尝试使用RoboGuice(它基于静态字段,但基于总线),但它有一点缺陷,如果有其他想法,我如何在android中以漂亮的方式实现它,我将不得不使用单例或静态方法。

可用于将对象从一个位置发送到另一个位置(例如,asyncTask到Activity)。它很好用,而且很容易使用,它会完美地完成你想要完成的事情


您可以创建自定义对象类,以便在几乎任何两个类、活动、服务或您使用的任何对象之间发送。

您所说的是什么类型的文件和数据?确切地说。EventBus可用于将对象从一个位置发送到另一个位置(例如,asyncTask到Activity或其他任何东西)。我们正在从V1开始处理应用程序的V2(我在V1中没有工作),V1使用文件存储数据,因此我不想更改整个应用程序并使用数据库(没有时间这样做)客户希望有一个更快的开始。@Vucko感谢您的时间和建议,我直到现在才知道EventBus,我看到了它的“如何开始”部分,这似乎是一个很好的解决方案。一点问题都没有,兄弟。EventBus库是我曾经想要的一切。它的优雅,易于使用和做的工作。实际上,您可以将自己的自定义对象从任何对象发送到任何对象。我会将我的评论迁移到一个答案。这似乎是一个在组件之间共享数据的非常好的解决方案(Intent extras很糟糕),因为我现在只在将来使用它,我不会重构旧代码,这会让应用程序变得丑陋,但我认为在提供的时间内没有其他解决方案。是的,意图仅限于简单的数据类型。这是最好的方法,因为还有一件事:它是完全异步的,由您决定何时发布事件(例如,在获取数据时,在
AsyncTask
onPostExecute
中)。