package example.com.httpclient; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.widget.ListView; import com.google.gson.Gson; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { public String urlString="http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; String urlBitmap="https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg"; private ListView listview; List<UserData.DataBean> list=new ArrayList<UserData.DataBean>(); private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //更新适配器 adapter.notifyDataSetChanged(); } }; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找控件 listview =(ListView)findViewById(R.id.listview); //设置适配器 adapter = new MyAdapter(MainActivity.this, list); listview.setAdapter(adapter); new Thread(){ @Override public void run() { super.run(); //创建FefaultHttpClient实现,用来发送请求 DefaultHttpClient defaultHttpClient = new DefaultHttpClient(); //get发送数据 HttpGet httpGet = new HttpGet(urlString); try { //执行服务器响应的数据 HttpResponse response = defaultHttpClient.execute(httpGet); //响应状态栏得到状态码 int statusCode = response.getStatusLine().getStatusCode(); if (statusCode==200){ HttpEntity entity = response.getEntity(); String string = EntityUtils.toString(entity); Gson gson = new Gson(); UserData userData = gson.fromJson(string, UserData.class); List<UserData.DataBean> data = userData.getData(); list.addAll(data); handler.sendEmptyMessage(1); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } }