この問題を解決しようとしています: AsyncTask から拡張されたクラスがあり、いくつかの http メソッドを実行します。次のようなものです。
public class RESTManager extends AsyncTask<Object, Object, String>
{
public RESTManager(String url, MethodTypes myMethod,ICallbackHandler hndl, String restMethod)
{
initialize();
}
private String doGET()
{
}
private String doPOST()
{
}
@Override
protected String doInBackground(Object... params)
{
}
@Override
protected void onPostExecute(String result)
{
}
}
だから、アクティビティから私はこれをやっています:
RESTManager webService = new WSManager(URL, MethodTypes.REGISTER, params, this, WSManager.GET_METHOD);
webService.execute();
次に、アクティビティは callbak メソッドで応答を受け取ります (アクティビティがこのインターフェイスを実装しているため)。
public void response(String response)
{
// some process
}
これは正常に機能していますが、私の問題は、たとえば、関数への同じ呼び出しで回答が得られ、その関数が .execute メソッドを呼び出すことです。
// This is a new class
public class MyWebServices()
{
public User getUser(int id)
{
User myUser;
RESTManager webService = new WSManager(URL, MethodTypes.REGISTER, params, this, WSManager.GET_METHOD);
webService.execute();
// BUT I WANT TO RETURN FROM HERE THE CALL FROM THE ACTIVITY....LIKE
return myUser;
}
}
したがって、アクティビティから、これは次のようになります。
MyWebServices myService = new MyWebServices();
User usr = myService.getUser(id);
私が説明しようとしたことを理解してください、ありがとう!