Util

来源:互联网 发布:apache impala 安装 编辑:程序博客网 时间:2024/05/16 15:52
ImageloaderUtil
package com.example.zhoukaolisnxi3.Util;import android.content.Context;import android.graphics.Bitmap;import android.os.Environment;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;import java.io.File;/** * Created by DELL on 2017/10/23. */public class ImageloaderUtil {    public static void initConfig(Context context) {        //配置//        File cacheFile=context.getExternalCacheDir();        File cacheFile= new File(Environment.getExternalStorageDirectory()+"/"+"image");        ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(context)                .memoryCacheExtraOptions(480, 800)//缓存图片最大的长和宽                .threadPoolSize(2)//线程池的数量                .threadPriority(4)                .memoryCacheSize(2*1024*1024)//设置内存缓存区大小                .diskCacheSize(20*1024*1024)//设置sd卡缓存区大小                .writeDebugLogs()//打印日志内容                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//给缓存的文件名进行md5加密处理                .build();        ImageLoader.getInstance().init(config);    }    /**     * 获取图片设置类     * @return     */    public static DisplayImageOptions getImageOptions(){        DisplayImageOptions optionsoptions=new DisplayImageOptions.Builder()                .cacheInMemory(true)//使用内存缓存                .cacheOnDisk(true)//使用磁盘缓存                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式                .displayer(new RoundedBitmapDisplayer(10))//设置圆角,参数代表弧度                .build();        return optionsoptions;    }}
MimageLoader

package com.example.zhoukaolisnxi3.Util;import android.content.Context;import android.widget.ImageView;import com.youth.banner.loader.ImageLoader;/** * Created by DELL on 2017/10/23. */public class MimageLoader extends ImageLoader {    @Override    public void displayImage(Context context, Object path, ImageView imageView) {        com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();        instance.displayImage((String) path, imageView);    }}


MyApplication

package com.example.zhoukaolisnxi3.Util;import android.app.Application;/** * Created by DELL on 2017/10/23. */public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        ImageloaderUtil.initConfig(this);    }}

MyTask
package com.example.zhoukaolisnxi3.Util;import android.os.AsyncTask;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by DELL on 2017/10/23. */public class MyTask extends AsyncTask<String,Void,String> {    //申请一个接口类对象    private Icallbacks icallbacks;    //将无参构造设置成私有的,使之在外部不能够调用    private MyTask() {    }    //定义有参构造方法    public MyTask(Icallbacks icallbacks) {        this.icallbacks = icallbacks;    }    @Override    protected String doInBackground(String... params) {        String str="";        try {            //使用HttpUrlConnection            URL url = new URL(params[0]);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setConnectTimeout(5000);            connection.setReadTimeout(5000);            int code = connection.getResponseCode();            if(code==200){                InputStream stream = connection.getInputStream();                //调用工具类中的静态方法                str=StreamToString.streamTostr(stream,"utf-8");            }        } catch (MalformedURLException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        return str;    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        //解析,封装到bean,更新UI组件        icallbacks.updataUiByjson(s);    }    //定义一个接口    public  interface Icallbacks{        //根据回传的json字符串,解析并更新页面组件        void updataUiByjson(String jsonstr);    }}

StreamToString
package com.example.zhoukaolisnxi3.Util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * Created by DELL on 2017/10/23. */public class StreamToString {    public static String streamTostr(InputStream inputStream, String chartSet){        StringBuilder builder = new StringBuilder();        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));        String con;        try {            while((con=reader.readLine())!=null){                StringBuilder append = builder.append(con);            }            return builder.toString();        } catch (IOException e) {            e.printStackTrace();        }        return "";    }}
依赖
compile 'com.youth.banner:banner:1.4.9'//noinspection GradleCompatibleimplementation 'com.android.support:design:27.0.1'