당분간 AsyncHttpClient를 사용하여 Android 장치에서 RESTfull WebService를 호출하고 정상적으로 실행 중입니다. FutureTask를 사용하여 최적화하고 싶습니다. 스레드가 완료되었는지 여부를 확인할 수 있습니다. 내가 지금 사용하고있는 코드는 내가 알고하는 WebService를 전화, 전화 호출 가능 < 클래스>의 함수 내에서 AsyncHttpClient를 확인하는 것입니다이FutureTask를 사용하여 RESTful 웹 서비스 호출
AsyncHttpClient client = new AsyncHttpClient();
try {
client.post(applicationContext, "http://" + ip
+ ":8080/MyWebService/jaxrs/service/getData",
new StringEntity("String"), "application/json",
new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
}
@Override
public void onFailure(Throwable e, String content) {
System.err.println("Exception: "
+ e.getMessage());
}
});
} catch (Exception e) {
System.err.println("Exception: "
+ e.getMessage());
}
같은 것입니다.
여기에도 AsyncHttpClient가 스레드로 실행되기 때문에 혼란 스럽습니다. Future을 사용하여 웹 서비스를 호출하는 방법
참고 : - 초급 스레딩.
하지만 미래와 마찬가지로 어떤 결과를 발신자에게 다시 보낼 수 있습니까? –
나는 더 많은 내용을 읽고 그것에 대해 연구했고, 비동기 작업에서 비동기 작업이 아닌 비동기 작업으로 되돌아 오는 경우를 발견했습니다. –
@MuneebMirza FutureTask를 사용하는 비동기식 방법은 'Executor.execute (futureTask)'입니다. 다른 스레드에서 실행되도록합니다. Executor는'java.util.concurrent.Executors'에 의해 생성 될 수 있습니다. – Anderson