Robospice RequestListener 不适用于离线任务
Robospice RequestListener does not work with offline task
我遇到了很奇怪的问题。我正在尝试将 Robospice 用于非网络任务 (JSON serialization/deserialization)。
我已经实现了 SpiceService(基于 Robospice github 的离线示例)和 Requests - 在 loadDataFromNetwork() 中进行序列化。
我在 OnStart() 和 OnStop() 中启动和停止 SpiceManager。
我的问题是请求正在执行,但 侦听器未被触发(None OnRequestSuccess 和 OnRequestFailure 方法被触发)
这是负责执行任务的代码行
manager.execute(saveRequest, new SaveRequestListener());
和我的听众
private class SaveRequestListener implements com.octo.android.robospice.request.listener.RequestListener<Boolean> {
@Override
public void onRequestFailure(SpiceException spiceException) {
Log.d("saving",spiceException.getMessage());
Toast.makeText(getActivity(),"Some error :(((", Toast.LENGTH_SHORT).show();
}
@Override
public void onRequestSuccess(Boolean aBoolean) {
Log.d("saving","Saved!!! " + aBoolean);
Toast.makeText(getActivity(),"Saved!!! " + aBoolean, Toast.LENGTH_SHORT).show();
}
}
在 android studio 中尝试 ctrl+i 或 ctrl+o 来重新实现这些方法。并检查方法的输入输出类型。
您是否有可能在等待回调之前停止 SpiceManager
?
在这种情况下,请求将完成,因为它已经开始,但 RequestListener
将永远不会被调用,因为请求侦听器会自动分离。它以这种方式工作,以确保上下文不会泄漏。
我遇到了很奇怪的问题。我正在尝试将 Robospice 用于非网络任务 (JSON serialization/deserialization)。
我已经实现了 SpiceService(基于 Robospice github 的离线示例)和 Requests - 在 loadDataFromNetwork() 中进行序列化。
我在 OnStart() 和 OnStop() 中启动和停止 SpiceManager。
我的问题是请求正在执行,但 侦听器未被触发(None OnRequestSuccess 和 OnRequestFailure 方法被触发)
这是负责执行任务的代码行
manager.execute(saveRequest, new SaveRequestListener());
和我的听众
private class SaveRequestListener implements com.octo.android.robospice.request.listener.RequestListener<Boolean> {
@Override
public void onRequestFailure(SpiceException spiceException) {
Log.d("saving",spiceException.getMessage());
Toast.makeText(getActivity(),"Some error :(((", Toast.LENGTH_SHORT).show();
}
@Override
public void onRequestSuccess(Boolean aBoolean) {
Log.d("saving","Saved!!! " + aBoolean);
Toast.makeText(getActivity(),"Saved!!! " + aBoolean, Toast.LENGTH_SHORT).show();
}
}
在 android studio 中尝试 ctrl+i 或 ctrl+o 来重新实现这些方法。并检查方法的输入输出类型。
您是否有可能在等待回调之前停止 SpiceManager
?
在这种情况下,请求将完成,因为它已经开始,但 RequestListener
将永远不会被调用,因为请求侦听器会自动分离。它以这种方式工作,以确保上下文不会泄漏。