目前,我正在为Android设备开发可扩展的传感和数据处理框架。该框架将通过Android移动设备实现各种数据信号(例如,位置,wifi,电池,加速度计)。
我认为这些数据信号是发布数据的发布者。扩展Activity(public class MainActivity extends Activity
)的类是订阅者。
我认为实现此功能的理想方式是在发布者和订阅者之间实现小型发布/订阅中间件。
你能否建议 - 如何在Android设备上实现发布/订阅中间件?对我来说,主要问题是 - MainActivity
类如何注册自己获取事件以及各种数据信号如何通知许多已登记的MainActivity
班级?请注意,此中间件不需要通过网络进行通信等高级功能。
答案 0 :(得分:5)
有人为你做了http://square.github.io/otto/。使用此框架或检查源代码。
答案 1 :(得分:0)
以这种方式思考一个例子:
在这种情况下,当片段发布任何新内容时,它会通过调用其方法来执行此操作,并根据需要传回参数。
try{
((YourInterFaceListetener) activity).someMethod(arguments);
}catch(ClassCastException cce){
Log.d(cce.getMessage());
}
这样做可以创建应用程序的其他部分与活动之间的轻松通信,您可以通过简单地实现所需的接口来扩展它。
祝你好运!