package com.bwie.skn.zuoye1;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.bwie.skn.zuoye1.bean.JsonBean;import com.google.gson.Gson;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private List<JsonBean.NewslistBean> list = new ArrayList<>();//创建集合    private ListView lv;    private MAdapter mAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv = (ListView) findViewById(R.id.lv);        mAdapter = new MAdapter();        lv.setAdapter(mAdapter);    }    public void HttpURLConnection(View view){        //list.clear();        //mAdapter.notifyDataSetChanged();        //mAdapter = new MAdapter();        //lv.setAdapter(mAdapter);        new MHttpURLConnectionAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");        Toast.makeText(MainActivity.this,list.size()+"",Toast.LENGTH_SHORT).show();    }    public void HttpClient(View view){        //list.clear();        //mAdapter.notifyDataSetChanged();        //mAdapter = new MAdapter();        //lv.setAdapter(mAdapter);        new MHttpClientAsyncTask().execute("http://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");        Toast.makeText(MainActivity.this,list.size()+"",Toast.LENGTH_SHORT).show();    }    //适配器    class MAdapter extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return list.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            ViewHordel vh;            if(view==null){                view = View.inflate(MainActivity.this,R.layout.lv_item_layout,null);                vh = new ViewHordel();                vh.image=view.findViewById(R.id.image);                vh.title=view.findViewById(R.id.title);                view.setTag(vh);            }else{                vh = (ViewHordel) view.getTag();            }            vh.title.setText(list.get(i).getTitle());            new MAsyncTaskImage(vh.image).execute(list.get(i).getPicUrl());            return view;        }    }    class ViewHordel{        ImageView image;        TextView title;    }    //网络获取图片    class MAsyncTaskImage extends AsyncTask<String,Void,Bitmap>{        ImageView image;        public MAsyncTaskImage(ImageView image) {            this.image = image;        }        @Override        protected Bitmap doInBackground(String... strings) {            try {                URL url = new URL(strings[0]);                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                int responseCode = urlConnection.getResponseCode();                if (responseCode==200){                    InputStream inputStream = urlConnection.getInputStream();                    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);                    return bitmap;                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            image.setImageBitmap(bitmap);        }    }    //HttpURLConnection获得数据    class MHttpURLConnectionAsyncTask extends AsyncTask<String,Void,String>{        @Override        protected String doInBackground(String... strings) {            try {                URL url = new URL(strings[0]);                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                int responseCode = urlConnection.getResponseCode();                if (responseCode==200) {                    InputStream inputStream = urlConnection.getInputStream();                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));                    StringBuffer buffer = new StringBuffer();                    String string="";                    while ((string=reader.readLine())!=null){                        buffer.append(string);                    }                    return buffer.toString();                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            JsonBean jsonBean = gson.fromJson(s, JsonBean.class);            List<JsonBean.NewslistBean> newslist = jsonBean.getNewslist();            list.addAll(newslist);            Log.e("name","name"+list.size());            mAdapter.notifyDataSetChanged();        }    }    //HttpClient获得数据    class MHttpClientAsyncTask extends AsyncTask<String,Void,String>{        @Override        protected String doInBackground(String... strings) {            //1.创建HttpClient            HttpClient hc=new DefaultHttpClient();            //2.创建HttpGet对象            HttpGet hg = new HttpGet(strings[0]);            //3.执行请求            try {                HttpResponse response = hc.execute(hg);                //4.得到结果吗                int code = response.getStatusLine().getStatusCode();                if(code==200){                    //5.得到结果数据                    HttpEntity result = response.getEntity();                    String string = EntityUtils.toString(result);                    Log.e("TTTTTT",string+"++++++++++++++tttt");                    return string;                }            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Log.e("TTTTTT",s+"++++++++++++++ssss");            Gson gson = new Gson();            JsonBean jsonBean = gson.fromJson(s, JsonBean.class);            List<JsonBean.NewslistBean> newslist = jsonBean.getNewslist();            list.addAll(newslist);            mAdapter.notifyDataSetChanged();        }    }}

更多相关文章

  1. Android_在线视频播放器
  2. Android(安卓)Banner 广告条
  3. Android开发: 调用Camera API 创建Camera
  4. android中实现一个DrawerLayout滑动菜单
  5. Android(安卓)通信录中的联系人操作
  6. android 在SD卡创建文件夹
  7. android 如何在对话框中获取edittext中的数据
  8. android 结束进程
  9. Android(安卓)7.0 app代码修改抓包

随机推荐

  1. Android(安卓)Volley运用
  2. Android菜鸡提升之路---android你应该知
  3. Android(安卓)源码下利用jni编译自己的项
  4. android 客制化系统签名文件
  5. android 反编译(apk 源代码)
  6. Android代码优化----PullToRefresh+unive
  7. android 动态设置控件的高度,使用对应布局
  8. ubuntu android 命令环境下操作sqlite
  9. android 下载资源代码
  10. : Android(安卓)requires compiler compli