周考一

来源:互联网 发布:大数据需要学哪些技术 编辑:程序博客网 时间:2024/06/07 16:31
package demo.song.com.myap;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.os.AsyncTask;import android.os.Bundle;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 com.google.gson.Gson;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import demo.song.com.myap.Bean.MyBean;public class Second  extends Activity {    public static final int TYPE_0 = 0;    public static final int TYPE_1 = 1;    private ListView listView;    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.second);        getDatas("http://api.expoon.com/AppNews/getNewsList/type/1/p/1");        listView = (ListView) findViewById(R.id.mylist);    }    private void getDatas(String path) {        new AsyncTask<String, Void, String>() {            private String s;            //onPostExecute这个方法需要自己写,相当于handler   RunOnUIThread,更新UI界面            @Override            protected void onPostExecute(String s) {                super.onPostExecute(s);                //gson解析网上的json串,需要导入gson依赖,这个是我用的json串,自己看情况修改                Gson gson = new Gson();                MyBean dateBean = gson.fromJson(s, MyBean.class);                List<MyBean.DataBean> itemList1 = dateBean.getData();                myAdapter adapter = new myAdapter(itemList1,Second.this);                listView.setAdapter(adapter);            }            //就是子线程,用来做耗时操作的            @Override            protected String doInBackground(String... strings) {                try {                    String string = strings[0];                    URL url = new URL(string);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setConnectTimeout(5000);                    connection.setReadTimeout(5000);                    int code = connection.getResponseCode();                    if (code==HttpURLConnection.HTTP_OK){                        InputStream is = connection.getInputStream();                        s = StreamTools.readFromFile(is);   //StreamTools工具类,可以看我另外一个                        return s;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return null;            }        }.execute(path); //这个很关键,execute就是告诉 AsyncTask开始执行了,启动了。 一定要写    }    class myAdapter extends BaseAdapter {        Context context;        List<MyBean.DataBean> list;        public myAdapter(List<MyBean.DataBean> list,Context context) {            this.list = list;            this.context = context;        }        @Override        public int getItemViewType(int position) {            if (position%2==0){                return TYPE_0;            }else {                return TYPE_1;            }        }        @Override        public int getViewTypeCount() {            return 2;        }        @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) {            int type = getItemViewType(i);            viewHolder0 holder0 = null;            viewHolder1 holder1 = null;            switch (type){                case 0:                    if (view==null){                        view = View.inflate(context,R.layout.er,null);                        holder0=new viewHolder0();                        holder0.text_1 = (TextView) view.findViewById(R.id.text1_f1);                        holder0.img_1= (ImageView) view.findViewById(R.id.img1_f1);                        view.setTag(holder0);                    }else {                        holder0 = (viewHolder0) view.getTag();                    }                    break;                case 1:                    if (view==null){                        view = View.inflate(context,R.layout.san,null);                        holder1 = new viewHolder1();                        holder1.text_2 = (TextView) view.findViewById(R.id.text2_f1);                        holder1.img_2= (ImageView) view.findViewById(R.id.img2_f1);                        view.setTag(holder1);                    }else {                        holder1 = (viewHolder1) view.getTag();                    }                    break;            }            switch (type){                case 0:                    holder0.text_1.setText(list.get(i).getNews_title());                    loderImage(list.get(i).getPic_url(),holder0.img_1);                    break;                case 1:                    holder1.text_2.setText(list.get(i).getNews_title());                    loderImage(list.get(i).getPic_url(),holder1.img_2);                    break;            }            return view;        }        class viewHolder0{            ImageView img_1;            TextView text_1;        }        class viewHolder1{            ImageView img_2;            TextView text_2;        }    }    public  void loderImage(String url,ImageView imageView){        ImageLoaderConfiguration configuration = ImageLoaderConfiguration                .createDefault(this);        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.mipmap.ic_launcher)                .showImageOnFail(R.mipmap.ic_launcher)                .cacheInMemory(true)                .cacheOnDisk(true)                .bitmapConfig(Bitmap.Config.RGB_565)                .build();        ImageLoader instance = ImageLoader.getInstance();        instance.init(configuration);        instance.displayImage(url, imageView ,options);        //compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'    }}
原创粉丝点击