我有一个Android应用程序,通过供应商提供的库连接第三方硬件.当准备好处理来自硬件的数据时,库将回调我的应用程序.
由于它的设计,第三方库只对应用程序进行一次回调.但是,我的应用程序在调用回调时有一些不同的异步任务(例如,记录,更新UI显示,调用外部程序).试图以某种方式将事件分散到不同的方法中.所以,我正在考虑在我的Application类中执行此操作:
interface MyCallback {
public void doSomething(ArrayList<DataClass>);
}
public class MyApp extends Application {
...
private MyCallback cb;
public void registerCallback (MyCallback callback) {
cb = callback;
}
public methodCalledBy3rdPartyAPIOnData (ArrayList<DataClass> data){
cb.doSomething(ArrayList<DataClass> data);
}
Run Code Online (Sandbox Code Playgroud)
这将适用于单个方法调用,但我遇到了如何为一系列回调执行此操作的问题...并确保它们被异步调用.是否有任何示例或最佳实践在Android应用程序或Java中执行此类操作?