解析json图片

原创 2016年06月01日 19:44:19

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;
        }
    }

    

}


工具包解析json和图片

public static String tonet(String net){ try { URL url=new URL(net); HttpURLConn...
  • lishuaileibo
  • lishuaileibo
  • 2017年11月01日 10:16
  • 35

java解析JSON步骤

一、   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。  Json建构于两种结构:      1、“名称/值”对的集合(A col...
  • xiaole0313
  • xiaole0313
  • 2016年04月26日 10:25
  • 870

JAVA解析JSON

一json-lib.jar开发包使用依赖包  json-lib.jar开发包使用需要依赖包以下开发包:  Json-lib requires (at least) the following ...
  • lianqiangjava
  • lianqiangjava
  • 2014年03月08日 21:49
  • 35924

Volley解析Json加载图片

1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来...
  • a550508153
  • a550508153
  • 2016年07月14日 10:58
  • 1497

解析JSON数据,并从其中的图片地址取图片

首先,要解决的是取JSON对象,JSON对象里面还嵌套了3个JSON对象,然后其中一个JSON对象又嵌套了一个JSON对象和数组,如下格式的:     下面开始解析,首先联网取得JSON数据...
  • c1163208826
  • c1163208826
  • 2015年08月12日 21:22
  • 6170

iOS解析json的4种方法

转自 http://blog.csdn.net/enuola/article/details/7903632/ 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。...
  • chy555chy
  • chy555chy
  • 2016年06月13日 00:28
  • 563

servlet解析json

先导包 路径如下: 1、实体类 package test; public class shiti { private String IUrl; private String ITitle; ...
  • u010310183
  • u010310183
  • 2015年02月06日 16:55
  • 957

Android开发 json解析包含图片地址无法显示图片的问题

最近闲来无事用了聚合的api写着玩玩,然而死活加载不出来图片,把地址直接放在浏览器中打开是可以显示图片的,写死地址也是可以显示图片的,然而在代码中就是不显示,就是不显示,就是不显示…..为此我还请公司...
  • pkandroid
  • pkandroid
  • 2016年09月14日 11:17
  • 1378

Swift基础--解析服务器Json内容

// // ViewController.swift // JieParseJson // // Created by jiezhang on 14-10-5. // Copyright (c...
  • jwzhangjie
  • jwzhangjie
  • 2014年10月17日 16:01
  • 9788

js jquery前台解析json字符串

一、js解析json字符串eval()和JSON.parse()对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,就是将该字符串放于...
  • jethai
  • jethai
  • 2016年08月28日 14:08
  • 689
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解析json图片
举报原因:
原因补充:

(最多只允许输入30个字)