getLabelFromServer
를 호출하여 내 응용 프로그램의 UI에 표시 할 Retrofit2를 사용
을 업데이트 UI 마지막 API 호출에 따라 있도록 여러 개조 호출을 관리하고 취소 할 수 있습니다. 사용자 이후이전 호출
내가 서버로부터 정보를 수신하기 위해 기다리고있는 동안, 내가받은 정보를 이전 호출을 취소하고 새 통화에 대한 응답에 새 위치 및 업데이트 UI에 대한 정보를 수신하기 위해 대기해야하는 위치를 선택 달라질 수 있습니다. 지금 사용자가 선택하지 않은 이전의 위치에 대한 정보를 표시하기 때문에 UI를 업데이트해야 그 이전 호출을 유의하시기 바랍니다. 가 어떻게 이것을 달성하기 위해 코드를 아래에 변경할 수 있습니다 (제가 UI 스레드에서이 방법 때마다 새로운 위치가지도에 선택 호출주의해야한다).
private void getLabelFromServer(Context ctx, GeoPoint geoPoint) {
MapServiceGenerator serviceGenerator = MapServiceGenerator.getInstance(ctx, null);
Call<JsonObject> call = serviceGenerator.getGeoCodeApi().getAddress(geoPoint.getLatitude() + "," + geoPoint.getLongitude());
call.enqueue(new Callback<JsonObject>() {
@Override
public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
JsonObject result = response.body();
String positionLabel = MapUtils.generateLabelFromJSON(result);
tvLabel.setText(positionLabel);
}
@Override
public void onFailure(Call<JsonObject> call, Throwable t) {
if (t != null) {
t.printStackTrace();
}
}
}
);
}
체크 call.isExecuted(); 메서드를 호출하여 다음 요청을 제공합니다. 요청이 완료되면 true를 반환합니다. 나는'call.cancel()를 호출하면 –