自动轮播+获取网络json

来源:互联网 发布:用手机淘宝注册账号 编辑:程序博客网 时间:2024/05/29 17:21

public class MainActivity extends Activity {
private ViewPager vg;
private ListView lv;
private List data;
//接口*重点内容*
String jurl = “http://v.juhe.cn/toutiao/index?type=top&key=dbedecbcd1899c9785b95cc2d17131c5“;

//更新
Handler h = new Handler(){
public void handleMessage(android.os.Message msg) {
int s=msg.what;
switch (s) {
case 0:
String sf=(String)msg.obj;
sts(sf);
break;
case 1:
int stt=vg.getCurrentItem();
stt++;
vg.setCurrentItem(stt);
h.sendEmptyMessageDelayed(1,2000);
break;
default:
break;
}
};
};

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    lv = (ListView) findViewById(R.id.lv);    new MyAsynctssk().execute(jurl);    **//线程启动**    vg = (ViewPager) findViewById(R.id.vg);    new Thread(){        public void run() {            String getjson = new NetWorkUtils().getjson(jurl);             h.sendMessage(h.obtainMessage(0, getjson));        };    }.start();}private void sts (String st){**//json解析**    Gson gson = new Gson();    MySuperClass json = gson.fromJson(st, MySuperClass.class);    List<Data> data = json.getResult().getData();    vg.setAdapter(new Pager(MainActivity.this, data));    h.sendEmptyMessageDelayed(1,2000);}class MyAsynctssk extends AsyncTask<String, Integer, String>{    @Override    protected String doInBackground(String... params) {        String string = params[0];        NetWorkUtils utils = new NetWorkUtils();        String getjson = utils.getjson(string);        return getjson;    }    @Override    protected void onPostExecute(String result) {        // TODO Auto-generated method stub        super.onPostExecute(result);        Gson gson = new Gson();        MySuperClass json = gson.fromJson(result, MySuperClass.class);        List<Data> data = json.getResult().getData();        lv.setAdapter(new MyAdapter(data));    }}**//适配器**    class MyAdapter extends BaseAdapter{    List<Data> data;        public MyAdapter(List<Data> data) {        super();        this.data = data;    }        @Override        public int getCount() {            // TODO Auto-generated method stub            return data.size();        }        @Override        public Object getItem(int position) {            // TODO Auto-generated method stub            return data.get(position);        }        @Override        public long getItemId(int position) {            // TODO Auto-generated method stub            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            MyHolder holder;            if(convertView == null){                convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_zi, parent, false);                holder = new MyHolder();                holder.tv = (TextView) convertView.findViewById(R.id.title);                holder.message = (ImageView) convertView.findViewById(R.id.message);                convertView.setTag(holder);            }else{                holder = (MyHolder) convertView.getTag();            }            Data item = (Data) getItem(position);            holder.tv.setText(item.getTitle());            String thumbnail_pic_s = item.getThumbnail_pic_s();            ImageLoader instance = ImageLoader.getInstance();            instance.displayImage(thumbnail_pic_s, holder.message);            return convertView;        }        class MyHolder{            private TextView tv;            private ImageView message;        }    }    class Pager extends PagerAdapter{        private Context context;        private List<Data>  list;        private ImageLoader imageLoader;        public Pager(Context context, List<Data> list) {            super();            this.context = context;            this.list = list;            imageLoader=ImageLoader.getInstance();        }        @Override        public void destroyItem(ViewGroup container, int position,                Object object) {            // TODO Auto-generated method stub            container.removeView((View)object);        }        @Override        public int getCount() {            // TODO Auto-generated method stub            return Integer.MAX_VALUE;        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            // TODO Auto-generated method stub            ImageView imageView = new ImageView(context);             imageView.setScaleType(ImageView.ScaleType.FIT_XY);             imageLoader.displayImage(list.get(position%list.size()).getThumbnail_pic_s(), imageView);             container.addView(imageView);            return imageView;        }        @Override        public boolean isViewFromObject(View arg0, Object arg1) {            // TODO Auto-generated method stub            return arg0==arg1;        }}}
原创粉丝点击