gpt4 book ai didi

android - 如何为改造android应用同步任务

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:42 24 4
gpt4 key购买 nike

我在我的一个应用程序中使用改造 API。下面是代码:-

for(int i=0; i< mFileArrayList.size();i++){


WebServiceManager.getInstance().getFrogService().postNotes("HI", "Hello", "Done", new Callback<NotesResponse>() {

@Override
public void success(NotesResponse response, retrofit.client.Response response2) {
System.out.println(response);
Toast.makeText(AllKPIActivity.this, "Success", Toast.LENGTH_SHORT).show();
}

@Override
public void failure(RetrofitError error) {
System.out.println(error);
Toast.makeText(AllKPIActivity.this, "Fail", Toast.LENGTH_SHORT).show();
}
});


}

发生的事情是在成功到来之前的某个时间,循环继续进行,失败到来。我想要的是当第一次成功到来时,只有循环向前移动。请帮忙,我怎样才能做到这一点?

最佳答案

如果我是你,我会重新组织代码以手动执行循环。像这样

int i = 0;

private void fowardLoop(){
if(i => mFileArrayList.size()){
return; //loop is finished;
}

i++;
WebServiceManager.getInstance().getFrogService().postNotes("HI", "Hello", "Done", new Callback<NotesResponse>() {

@Override
public void success(NotesResponse response, retrofit.client.Response response2) {
System.out.println(response);
Toast.makeText(AllKPIActivity.this, "Success", Toast.LENGTH_SHORT).show();
forwardLoop(); // loop continues only if you get the success callback from previous request.
}

@Override
public void failure(RetrofitError error) {
System.out.println(error);
Toast.makeText(AllKPIActivity.this, "Fail", Toast.LENGTH_SHORT).show();
// the loop breaks when there is failure callabck.
}
});
}

只需使用 forwardLoop() 方法在您想要的地方开始循环

retrofit 仍然是异步的,但应用程序的行为符合您的要求。希望它会有所帮助我没有测试这个解决方案。

关于android - 如何为改造android应用同步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37275891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com