比方说MVP。演示者为回调定义了一个接口
dataManager.downloadDataFromNetwork(currentDate, ACCESS_KEY, currentCurrency, new Callback<PostModel>() {
@Override
public void onResponse(Call<PostModel> call, Response<PostModel> response) {
PostModel postModel = response.body();
validationOfData(postModel);
}
@Override
public void onFailure(Call<PostModel> call, Throwable t) {
getView().showToast("Сетевая ошибка");
}
});
View 将数据传递给 Presenter,在 Presenter 中实现接口,然后框架retrofit 2调用网络。至此,一切都由应用程序的主线程完成。这里主线程被“释放”并继续监听用户的动作。
接下来,在 add 中向网络发出请求。溪流。结果被传递给回调接口的实现,它位于presenter中。据我了解,这一切都是如此。流动。而且他还调用了视图的接口方法并更新了视图..我理解一切正确吗?
事实是改造在
UI线程中执行回调。一切都在“引擎盖”下的改造中实施。UI不可触自加。流。runOnUiThread旨在将执行转移到主线程。