解析json图片

来源:互联网 发布:qt网络编程实战源码 编辑:程序博客网 时间:2024/05/06 08:53

public class MyPagerAdapter extends PagerAdapter {
    public Context context;
    public List<Item> list;
    
    public MyPagerAdapter(Context context, List<Item> list){
        this.context=context;
        this.list=list;        
    }
    
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        // TODO Auto-generated method stub
        View v = View.inflate(context, R.layout.itempage, null);
        ImageView imagepage = (ImageView)v.findViewById(R.id.imagepage);
        BitmapUtils bit=new BitmapUtils(context);
        bit.display(imagepage,list.get(position%list.size()).img);
        container.addView(v);
        return v;
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        // TODO Auto-generated method stub
        container.removeView((View) object);
    }
    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0==arg1;
    }

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////



public class MainActivity extends FragmentActivity implements OnClickListener{
    private ViewPager page;
    private LinearLayout line;
    private List<ImageView> str;
    List<Item> list;
    private List<Fragment> listfragment;
    private ViewPager page2;
    private Button but1;
    private Button but2;
    private Button but3;
    private Button but4;
    List<Button> listButton;
    String path="http://172.17.29.120/localuser/ljy/shoptest/commodity.json";
    Handler han=new Handler(){
        public void handleMessage(android.os.Message msg){
            Bean[] bean = (Bean[])msg.obj;
            for (Bean bean2 : bean) {
                list = bean2.item;
            }
            page.setAdapter(new MyPagerAdapter(MainActivity.this,list));
            initData();
            setchge();
        };
    };    
    Handler han1=new Handler(){
        public void handleMessage(Message msg) {
            int item = page.getCurrentItem();
            item++;
            page.setCurrentItem(item);
            han1.sendEmptyMessageDelayed(0, 2000);
        };
    };
        
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //寻找控件
        getText1();
        //注册监听
        getonclick();
        //开启线程解析数据
        getThread();
        getData();
        page2.setAdapter(new MypageAdapter2(getSupportFragmentManager(), listfragment));
        listButton=new ArrayList<Button>();
        listButton.add(but1);
        listButton.add(but2);
        listButton.add(but3);
        listButton.add(but4);
        page2.setOnPageChangeListener(new OnPageChangeListener() {
            
            @Override
            public void onPageSelected(int arg0) {
                // TODO Auto-generated method stub
                for (int i = 0; i < listButton.size(); i++) {
                    if(i==arg0){
                        listButton.get(i).setTextColor(Color.RED);
                    }else{
                        listButton.get(i).setTextColor(Color.BLACK);
                    }
                }
            }
            
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub
                
            }
        });
    }
    private void getThread() {
        new Thread(){
            public void run() {
                getJson();
            };
        }.start();
    }
    private void getText1(){
        page = (ViewPager)findViewById(R.id.page);
        page2 = (ViewPager)findViewById(R.id.page2);
        line = (LinearLayout)findViewById(R.id.line);
        but1 = (Button)findViewById(R.id.but1);
        but2 = (Button)findViewById(R.id.but2);
        but3 = (Button)findViewById(R.id.but3);
        but4 = (Button)findViewById(R.id.but4);
    }
    private void getonclick() {
        but1.setOnClickListener(this);
        but2.setOnClickListener(this);
        but3.setOnClickListener(this);
        but4.setOnClickListener(this);
    }
    public void getData(){
        listfragment = new ArrayList<Fragment>();
        listfragment.add(new F1());
        listfragment.add(new F2());
        listfragment.add(new F3());
        listfragment.add(new F4());
    }
    
    @SuppressLint("NewApi")
    private void initData() {
        str = new ArrayList<ImageView>();
        str.clear();
        line.removeAllViews();
        // TODO Auto-generated method stub
        for (int i = 0; i <list.size(); i++) {
            ImageView imag=new ImageView(MainActivity.this);
            if(i==0){
                imag.setImageResource(R.drawable.dra);
            }else{
                imag.setImageResource(R.drawable.dra2);
            }
            LayoutParams params=new LayoutParams(15, 15);
            params.setMargins(5, 0, 5, 0);
            str.add(imag);
            line.addView(imag,params);
        }
    }
    private void setchge() {
        // TODO Auto-generated method stub
        page.setOnPageChangeListener(new OnPageChangeListener() {
            @Override
            public void onPageSelected(int arg0) {
                // TODO Auto-generated method stub
                for (int i = 0; i < str.size(); i++) {
                    if(i==arg0%list.size()){
                        str.get(i).setImageResource(R.drawable.dra);
                    }else{
                        str.get(i).setImageResource(R.drawable.dra2);
                    }
                }
            }
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub
                
            }
        });
        han1.sendEmptyMessageDelayed(0, 2000);
    }

    private void getJson() {
        // TODO Auto-generated method stub
        try {
            HttpClient http=new DefaultHttpClient();
            HttpGet get = new HttpGet(path);
            HttpResponse execute = http.execute(get);
            HttpEntity entity = execute.getEntity();
            String json = EntityUtils.toString(entity, "gbk");
            Gson gson=new Gson();
            Bean[] bean = gson.fromJson(json, Bean[].class);
            Message msg=Message.obtain();
            msg.obj=bean;
            han.sendMessage(msg);
            
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        switch (arg0.getId()) {
        case R.id.but1:
            page2.setCurrentItem(0);
            break;
        case R.id.but2:
            page2.setCurrentItem(1);
            break;
        case R.id.but3:
            page2.setCurrentItem(2);
            break;
        case R.id.but4:
            page2.setCurrentItem(3);
            break;
        default:
            break;
        }
    }

    

}


0 0
原创粉丝点击