Glide读取图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WAngyouWei_0/article/details/73955008
package com.andy.fragment;

import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;

import com.andy.kk.BannersBean;
import com.andy.kk.Data;
import com.andy.kk.R;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;

import org.litepal.crud.DataSupport;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;

/**
 * 类描述:
 * 创建人:wyw
 * 创建时间:2017/6/29 14:41
 */
public class One extends Fragment{
    private String urlPath = "http://api.kkmh.com/v1/topic_new/discovery_list?gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3ODM5MDM5MzE1LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjIuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tRmluZENhdGVnb3J5VGFiTmFtZSI6IuWFqOmDqCIsIklzQXV0b0xvYWQiOmZhbHNlLCIkbGliX3ZlcnNpb24iOiIxLjYuMzQiLCIkbmV0d29ya190eXBlIjoiV0lGSSIsIiR3aWZpIjp0cnVlLCIkbWFudWZhY3R1cmVyIjoic2Ftc3VuZyIsIkZyb21GaW5kVGFiTmFtZSI6IuaOqOiNkCIsIiRzY3JlZW5faGVpZ2h0Ijo1NzYsIkNhdGVnb3J5Ijoi5peg5rOV6I635Y-WIiwiSG9tZXBhZ2VVcGRhdGVEYXRlIjowLCJQcm9wZXJ0eUV2ZW50IjoiUmVhZEZpbmRQYWdlIiwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCJGaW5kQ2F0ZWdvcnlUYWJOYW1lIjoi5YWo6YOoIiwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNNQ0MiLCIkbW9kZWwiOiJHVC1QNTIxMCIsIiRhcHBfdmVyc2lvbiI6IjMuOC4xIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5Iiwib3JpZ2luYWxfaWQiOiJBOjkwNTEwNDI3NjM3NTUxMDkiLCJldmVudCI6IlJlYWRGaW5kUGFnZSJ9";
    private Banner mBanner;
    private List<BannersBean> list;
    private Handler mHandler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            Data data=new Gson().fromJson(msg.obj.toString(),Data.class);
            list = data.getData().getInfos().get(0).getBanners();
            //保存
            if(list!=null&&list.size()>0){
                DataSupport.saveAll(list);
            }
            mBanner.setImages(list);
            mBanner.start();

        }
    };
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.one,container,false);
        mBanner= (Banner) v.findViewById(R.id.banner);
        //设置图片加载器
        mBanner.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                Glide.with(context).load(path.toString()).into(imageView);
            }
        });

        //读取
        list=DataSupport.findAll(BannersBean.class);
        if(list!=null&&list.size()>0){
            Toast.makeText(getContext(), "从数据库取", Toast.LENGTH_SHORT).show();
            mBanner.setImages(list);
            mBanner.start();
        }else{
            Toast.makeText(getContext(), "从网络取", Toast.LENGTH_SHORT).show();
            loadData();
        }

        return v;
    }

    private void loadData() {
        new Thread(){
            @Override
            public void run() {
                try {
                    URL url=new URL(urlPath);
                    HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
                    if(urlConnection.getResponseCode()==200){
                        InputStream in=urlConnection.getInputStream();

                        byte [] buff=new byte[1024];
                        int len =-1;
                        StringBuffer sb=new StringBuffer();
                        while ((len=in.read(buff))!=-1){
                            sb.append(new String(buff,0,len));
                        }

                        String result = sb.toString();
                        Message msg = Message.obtain();
                        msg.obj=result;
                        mHandler.sendMessage(msg);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }.start();
    }
}

猜你喜欢

转载自blog.csdn.net/WAngyouWei_0/article/details/73955008