Android loopj asynchttpclient返回响应



在我的一个项目中,我使用loopj asynchttpclient与我的网站进行通信。通信部分工作良好,也得到响应

我的活动看起来像

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        WebRequest test=new WebRequest();
        test.callService();
}

WebRequest类为

public class WebRequest extends Activity {

    public void callService(){

        AsyncHttpClient client = new AsyncHttpClient();
        client.post("http://domain.com/dp/index.php", new AsyncHttpResponseHandler() {

            @Override
            public void onSuccess(String response) {
                Log.v("P",response);
            }
            @Override
            public void onFailure(Throwable e, String response) {
                 Log.v("PS",e.toString());
            }
    });
    }


}

我很困惑如何将响应返回到主活动,这样我就可以根据该响应创建列表视图。

我是新手请帮帮我提前感谢

在WebRequest类中:

  • 我认为你不希望这个类扩展Activity。只有在创建要在应用程序中显示的页面时,才应扩展Activity。您只想执行一些代码,因此不需要扩展Activity
  • 将您的呼叫服务方法更改为静态,并将AsyncHttpClient作为参数

您的WebRequest类现在应该是这样的:

final class WebRequest {
    private AsyncHttpClient mClient = new AsyncHttpClient();
    public static void callService(AsyncHttpResponseHandler handler) {
        mClient.post("http://domain.com/dp/index.php", handler);
    }
}

在主活动中:

现在,您在主要活动中所要做的就是调用如下静态方法:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        WebRequest.callService(new AsyncHttpResponseHandler() {
            @Override
            public void onStart() {
                // Initiated the request
            }
            @Override
            public void onSuccess(String response) {
                // Successfully got a response
            }
            @Override
            public void onFailure(Throwable e, String response) {
                // Response failed :(
            }
            @Override
            public void onFinish() {
                // Completed the request (either success or failure)
            }
        });
}

在上述回调中,对活动中的视图执行任何需要执行的操作。希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新