- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在通过网络接收简单数据,即文本中的名称/值对。我需要编写一个流程来获取这些对,将它们切碎并通过事件总线将它们发送到不同的区域进行处理。每个名称代表不同的数据“类型”或我必须对字符串的值部分执行的转换操作。
从表面上看,这非常简单,但我正在寻找一个简单、“正确”的架构来执行此操作,以便我可以转换 300 种不同类型的值。这是一个简单的例子:
输入:
9,19.0,31,0.00,34,0.379579,37,1.319952,55,0.03,66,0.00,81,1.558965,82,1.578690,92,0.03,99,24.57,100,-8144.29,101,0.13,105,2.999,106,148.3,108,-155.8,111,4.263,112,155.0,113,-170.0,167,10.60,205,1.558965,231,-0.040,232,-93.8,237,75.0,238,0.100
真正的意思是:
9,19.0
31,0.00
34,0.379579
等等...
对于“34”事件,我必须将该数字转换为不同的值以显示给用户。因此,每种事件类型都可能有不同的转换过程。实际上,我认为所有 300 种事件类型中可能存在多组转换过程(例如 12 个)。
这是我的问题。
如何处理所有转换类型?这是否类似于可以注入(inject)解析器的排序算法或比较器?
如何才能高效地创建对象和 GC?这些对来自网络,我不想仅仅丢弃可 GC 的对象(我使用的是 Android)。
我应该将各种类型映射到公共(public)汽车上的事件,并且只让消费者注册他们感兴趣的事件,还是应该向每个消费者发送通用事件并让他们每次做出决定(我在想前者,但也害怕样板)。
任何一般性的想法将不胜感激。
最佳答案
我最终让编译器为我担心了。我有一个巨大的 switch 语句,其中针对每种特定类型的转换有很多很多情况。
我还梳理了代码并提取了我将重用的对象声明。我确保它们在想要使用它们的函数之上声明,然后我在函数中尽早将它们设置为它们需要的任何值。
对于我正在收集的网络数据,我有一个事件类型。我让每个接收者决定是否关心该事件。这只是消除了必须编写大量样板代码才能让工厂创建每种不同的事件类型。
关于java - 在 Java 中解析 EventBus 的不同值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414261/
我经常使用 greenrobot 的 EventBus https://github.com/greenrobot/EventBus 但我刚刚意识到 Guava 有自己的 EventBus com.g
对于 EventBus,我将代码合并到我的 java Spring 应用程序中并完全控制它,但结果没有改变。 当我在 spring sts (javaw) 中运行 EventBus 时,没有问题,但是
我想做的是将一个事件从另一个 AWS 账户发送到我的包含事件总线的账户。 为此,我正在尝试将角色/策略附加到 EventBus,但我做不到。我尝试使用 grantPutEvents 但也没有运气。这个
我想做的是将一个事件从另一个 AWS 账户发送到我的包含事件总线的账户。 为此,我正在尝试将角色/策略附加到 EventBus,但我做不到。我尝试使用 grantPutEvents 但也没有运气。这个
我是这个 eventbus 库的粉丝,并且在其他项目中很好地使用了它,没有遇到任何问题。但是现在,我在 Activity 中注册事件总线时遇到了一些奇怪的问题,并且在这里卡住了这部分... java.
我目前正在使用 Fragments 在 Activities 下创建的 FragmentPagerAdapter。我使用 GreenRobot 的 EventBus 3.0 返回我从服务类创建的一些
前沿 vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过 props 向下传数据给子组件,当子组件有事情要告诉父组件时会通过 $emit 事件告诉父组件。如果1个页
早晨, 我正在使用 SimpleEvent总线将数据从我的集中式数据恢复器发送到小部件。这真的很好用,我从服务器获得一组新数据,RPC 调用的成功方法将它放在 Eventbus 上,每个小部件查看数据
我在Android应用程序中使用EventBus。在我的Eventbus.getDefault().register(this)中编写一个Application.onCreate()是一个好主意吗?我
我正在尝试使用 Vertx 上传文件,该请求是包含 PDF 的 POST 请求,我的处理程序如下所示(我从 github 中的示例中获取了代码): ... Set fileUploadSet = ro
所以我在 Vue.js 中使用 EventBus 将数据从一种方法发送到另一种方法。我有两种方法,比方说 one() 和 two()。我正在使用 EventBus,如下所示: one() { Ev
我有一个使用这个库的情况 greenrobot/EventBus保存数据并将它们传递给不同的 Activity 。在这种情况下,我使用 EventBus 来传递“订单”和 “cartItems” OB
我使用 greenrobot 作为 eventbus 来发布一些粘性事件。一切正常,当我打开应用程序时,ex。显示的内容表明粘帖工作正常。 但是当我关闭应用程序并打开它第二次、第三次……时,没有前任。
我在使用 EventBus 3.0.0 时遇到问题,我在其中发布了一个这样的事件: Call> call = httpService.getSessionSpecs(); call.enqueue(n
我在 android 中学习事件总线(http://greenrobot.org),我有以下代码 public class MainActivity extends AppCompatActivity
我正在尝试弄清楚如何在我的 AppWidgetProvider 中使用 Greenbot Eventbus 库。我尝试了以下方法,但没有用: public class SimpleWidgetProv
在我的安卓应用中我使用 org.greenrobot.eventbus.EventBus; 1.我创建事件: public class NotLoginEvent { } 在我的 fragment 中
我正在尝试从我的 WS 获取位置并更新我的 GoogleMap fragment 中的标记,所以我正在做的是: 我的 HomeActivity 包含 2 个 fragment (2 个 GoogleM
我正在尝试在我所有对话的基类中实现一些通用逻辑和对某些事件的 react 。 并在 EventBus 中注册和注销,并在基类中捕获一些事件。 因此,当我尝试实例化派生类的实例时 - EventBus
我在库中有一个带注释的 Activity,它是同一库中 EventBus 事件的订阅者。它看起来像这样,大大简化了: @EActivity(resName = "activity_foo") publ
我是一名优秀的程序员,十分优秀!