URL资源请求

来源:互联网 发布:约瑟夫环算法python 编辑:程序博客网 时间:2024/06/05 23:05
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();    }}
原创粉丝点击