我有一个 Android 应用程序,它通过供应商提供的库连接 3rd 方硬件。当来自硬件的数据准备好进行处理时,库会回调我的应用程序。
3rd 方库,由于它的设计,只对应用程序进行一次回调。但是,我的应用程序有一些不同的异步任务,它希望在调用回调时执行(例如,记录、更新 UI 显示、调用外部程序)。在某种程度上,试图以不同的方法将事件展开。所以,我正在考虑在我的应用程序类中这样做:
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);
}
这适用于单个方法调用,但我在如何为一系列回调执行此操作时遇到问题......并确保它们被异步调用。是否有任何示例或最佳实践可以在 Android 应用程序或一般 Java 中执行此类操作?