package test.bawei.com.httpdemo; 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 java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView lv; private List<Date.DataBean> list; private Baseadapter baseadapter; private Handler handler = new Handler() { public void handleMessage(Message msg) { Date date = (Date) msg.obj; list.addAll(date.getData()); baseadapter.notifyDataSetChanged(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.listview); list = new ArrayList<>(); baseadapter = new Baseadapter(this, list); lv.setAdapter(baseadapter); loadDate(); } //因为不能再主线程进行更改,所以要创建一个子线程 private void loadDate() { new Thread() { @Override public void run() { try { //URL URL url = new URL("http://api.expoon.com/AppNews/getNewsList/type/1/p/1"); //HttpUrlConnect HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection(); //链接 urlConnection.connect(); //请求 因为没有参数所以不用请求 //响应 if(urlConnection.getResponseCode() == 200) { InputStream in = urlConnection.getInputStream(); byte[] buff = new byte[1024]; int len = -1; StringBuffer sb = new StringBuffer(); while ((len = in.read(buff)) != -1) { sb.append(new String(buff,0,len,"UTF-8")); } Date date = new Gson().fromJson(sb.toString(),Date.class); Message msg = Message.obtain(); msg.what = 1; msg.obj = date; handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } }
URL资源请求
最新推荐文章于 2024-06-24 21:29:01 发布