工具类Utils

来源:互联网 发布:在淘宝上洗照片安全吗 编辑:程序博客网 时间:2024/05/24 06:36

1.字符转换工具类:

public class getstring {    public static String getstrings(InputStream inputStream, String charset) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);            BufferedReader br = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while((s=br.readLine())!=null){                builder.append(s);            }            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}
2.判断网络状态工具类:
public class Network {    public static boolean isConn(Context context){        boolean bisConnFlag=false;        //1.获取网络连接的管理对象        ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        //2.通过管理者对象拿到网络的信息        NetworkInfo network = conManager.getActiveNetworkInfo();        if(network!=null){            //3.网络状态是否可用的返回值            bisConnFlag=network.isAvailable();        }        return bisConnFlag;    }    /**     * 如果没有网络 弹出dialog对话框,,,是否进入设置网络的页面     * @param context     */    public static void showNoNetWorkDlg(final Context context) {        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setIcon(R.mipmap.ic_launcher)         //                .setTitle("警告")            //                .setMessage("当前无网络,是否去设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // 跳转到系统的网络设置界面                Intent intent = null;                // 先判断当前系统版本                if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                }else{                    intent = new Intent();                    intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");                }                context.startActivity(intent);            }        }).setNegativeButton("取消", null).show();    }}
3.获取网络数据工具类
public class getfromnet {    public  static void getdata(Context context, final String path, final Callback callback){        if (Network.isConn(context)){            AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {                @Override                protected String doInBackground(Void... params) {                    try {                        URL url = new URL(path);                        HttpURLConnection connection = (HttpURLConnection) url.openConnection();                        connection.setRequestMethod("GET");                        connection.setReadTimeout(5000);                        connection.setConnectTimeout(5000);                        int responseCode = connection.getResponseCode();                        if (responseCode==200){                            InputStream inputStream = connection.getInputStream();                            String json = getstring.getstrings(inputStream,"utf-8");                            return json;                        }                    } catch (Exception e) {                        e.printStackTrace();                    }                    return null;                }                @Override                protected void onPostExecute(String s) {                    if (s!=null){                        callback.getjson(s);//接口                    }                }            };            asyncTask.execute();        }else{            Network.showNoNetWorkDlg(context);        }    }}
接口类:
public interface Callback {    public void getjson(String json);}
4.Imageloader工具类:
public class Imageloaderutil {    public static void  init(Context context){        File cacheDir = StorageUtils.getCacheDirectory(context);  //缓存文件夹路径        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)                .threadPoolSize(3) // default  线程池内加载的数量                .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级                .tasksProcessingOrder(QueueProcessingType.FIFO) // default                .denyCacheImageMultipleSizesInMemory()                .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现                .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值                .memoryCacheSizePercentage(13) // default                .diskCache(new UnlimitedDiskCache(cacheDir)) // default 可以自定义缓存路径                .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值                .diskCacheFileCount(100)  // 可以缓存的文件数量                // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())                .imageDownloader(new BaseImageDownloader(context)) // default                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default                .writeDebugLogs() // 打印debug log                .build(); //开始构建        ImageLoader.getInstance().init(config);    }    public  static DisplayImageOptions getDefultOption(){        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片                .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片                .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片                .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位                .delayBeforeLoading(1000)  // 下载前的延迟时间                .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中                .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中                .considerExifParams(true) // default                .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default 设置图片以如何的编码方式显示                .bitmapConfig(Bitmap.Config.ARGB_8888) // default 设置图片的解码类型                .displayer(new RoundedBitmapDisplayer(20)) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)                .build();        return options;    }}
需要+app
public class app extends Application {    @Override    public void onCreate() {        super.onCreate();        Imageloaderutil.init(this);    }}