http+Gson+lv

来源:互联网 发布:方圆设计软件下载 编辑:程序博客网 时间:2024/04/19 17:58
public class MainActivity extends AppCompatActivity {    ListView lv;    Been     been;    List<Been.NewslistBean>   list;    Myadapter  adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ImageLoaderConfiguration config=ImageLoaderConfiguration.createDefault(this);        ImageLoader.getInstance().init(config);        DisplayImageOptions options=DisplayImageOptions.createSimple();        lv=(ListView) findViewById(R.id.lv);        list=new ArrayList<Been.NewslistBean>();        intoData();        adapter=new Myadapter();        lv.setAdapter(adapter);        }    class   Myadapter extends BaseAdapter{        @Override        public int getCount() {            if(list!=null){                return   list.size();            }            return 0;        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            ViewHolder  holder;            if(view==null){                holder=new ViewHolder();                view=View.inflate(MainActivity.this,R.layout.lv_item,null);                holder.ctime=(TextView) view.findViewById(R.id.ctime);                holder.title=(TextView) view.findViewById(R.id.title);                holder.picUrl=(ImageView) view.findViewById(R.id.picUrl);                view.setTag(holder);            }else {                holder=(ViewHolder) view.getTag();            }            holder.ctime.setText(list.get(i).getCtime());            holder.title.setText(list.get(i).getTitle());            ImageLoader.getInstance().displayImage(list.get(i).getPicUrl(),holder.picUrl);            return view;        }    }class   ViewHolder {    TextView  ctime;    TextView  title;    ImageView picUrl;}    private  void intoData(){        new AsyncTask<String,String,String>(){            @Override            protected String doInBackground(String... strings) {                String str=gethttp();                return str;            }            @Override            protected void onPostExecute(String s) {                Gson  gson=new Gson();                been=gson.fromJson(s,Been.class);                list=been.getNewslist();                adapter.notifyDataSetChanged();                super.onPostExecute(s);            }        }.execute();    }    //获取网址    private String gethttp(){        String httpstr="";        try {            URL url=new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1");            HttpURLConnection connection=(HttpURLConnection) url.openConnection();            connection.setRequestMethod("GET");            int code=connection.getResponseCode();            if(code==200)            {                InputStream  inputStream=connection.getInputStream();                ByteArrayOutputStream  bos=new ByteArrayOutputStream();                int len=-1;                byte[] b=new byte[1024];                while ((len=inputStream.read(b))!=-1){                    bos.write(b,0,len);                }                httpstr=new String(bos.toByteArray());            }        } catch (Exception e) {            e.printStackTrace();        }        return  httpstr;    }}