android-async-http

package com.example.youngwind.helloworld.HttpRequest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.example.youngwind.helloworld.R;
import com.google.gson.Gson;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;

import java.lang.reflect.Array;
import java.util.Arrays;

import cz.msebera.android.httpclient.Header;

// 使用android-async-http库
public class AsyncHttp extends AppCompatActivity {

    private TextView getResponse;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_async_http);
        getResponse = (TextView) findViewById(R.id.getResponse);

        findViewById(R.id.startGetRequest).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                asynhttpGet("http://apis.baidu.com/txapi/weixin/wxhot?num=10");
            }
        });
    }


    private void asynhttpGet(String url) {
        AsyncHttpClient client = new AsyncHttpClient();
        client.addHeader("apiKey", "2c25fe0184c7cb0b54c813eae914ad7b");
        client.get(url, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                String response = new String(responseBody);
                getResponse.setText(response);
                Log.d("response", response);

                // 使用Gson解析json数据
                Gson gson = new Gson();
              Newslist newslist = gson.fromJson(response, Newslist.class);
                Log.d("response", String.valueOf(newslist.code));
                Log.d("response", newslist.msg);
                Log.d("response", String.valueOf(newslist.newslist[0].ctime));
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
                Log.d("fai", new String(responseBody));
            }
        });
    }
}
原文地址:https://www.cnblogs.com/Jeely/p/11064654.html