转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72843153

1.ToastUtil.class(展示Toast的工具类)

import android.content.Context;import android.widget.Toast;/** * Created by mythmayor on 2016/12/14. */public class ToastUtil {    private static String oldMsg;    protected static Toast toast = null;    private static long oneTime = 0;    private static long twoTime = 0;    public static void showToast(Context context, String s) {        if (toast == null) {            toast = Toast.makeText(context, s, Toast.LENGTH_SHORT);            toast.show();            oneTime = System.currentTimeMillis();        } else {            twoTime = System.currentTimeMillis();            if (s.equals(oldMsg)) {                if (twoTime - oneTime > Toast.LENGTH_SHORT) {                    toast.show();                }            } else {                oldMsg = s;                toast.setText(s);                toast.show();            }        }        oneTime = twoTime;    }    public static void showToast(Context context, int resId) {        showToast(context, context.getString(resId));    }}

2.PrefUtil.class(管理SharedPreferences的工具类)

import android.content.Context;import android.content.SharedPreferences;/** * Created by mythmayor on 2016/12/14. * 

* 专门访问和设置SharePreference的工具类, 保存和配置一些设置信息 */public class PrefUtil { private static final String SHARE_PREFS_NAME = "mythmayor"; public static void putBoolean(Context ctx, String key, boolean value) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); pref.edit().putBoolean(key, value).commit(); } public static boolean getBoolean(Context ctx, String key, boolean defaultValue) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); return pref.getBoolean(key, defaultValue); } public static void putString(Context ctx, String key, String value) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); pref.edit().putString(key, value).commit(); } public static String getString(Context ctx, String key, String defaultValue) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); return pref.getString(key, defaultValue); } public static void putInt(Context ctx, String key, int value) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); pref.edit().putInt(key, value).commit(); } public static int getInt(Context ctx, String key, int defaultValue) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); return pref.getInt(key, defaultValue); } public static void clear(Context ctx) { SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREFS_NAME, Context.MODE_PRIVATE); pref.edit().clear().commit(); }}

3.IntentUtil.class(Activity跳转的工具类)

import android.content.Context;import android.content.Intent;import android.os.Bundle;/** * Created by mythmayor on 2016/12/14. */public class IntentUtil {    public static void startActivity(Context context, Class<?> cls) {        Intent intent = new Intent();        intent.setClass(context, cls);        context.startActivity(intent);    }    public static void startActivityWithExtra(Context context, Bundle bundle, Class<?> cls) {        Intent intent = new Intent();        intent.putExtras(bundle);        intent.setClass(context, cls);        context.startActivity(intent);    }    public static void startActivityClearTask(Context context, Class<?> cls) {        Intent intent = new Intent();        intent.setClass(context, cls);        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);    }    public static void startActivityClearTaskWithExtra(Context context, Bundle bundle, Class<?> cls) {        Intent intent = new Intent();        intent.putExtras(bundle);        intent.setClass(context, cls);        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);    }    public static void startIntentActivity(Context context, String mTitle, String url, Class<?> cls) {        Intent intent = new Intent();        intent.setClass(context, cls);        intent.putExtra(MyConstant.INTENT_EXTRA_TITLE, mTitle);        intent.putExtra(MyConstant.INTENT_EXTRA_URL, url);        context.startActivity(intent);    }}

4.FileUtil.class(文件管理工具类)

import java.io.File;import java.text.DecimalFormat;/** * Created by mythmayor on 2016/12/26. */public class FileUtil {    /**     * 递归计算文件夹大小     *     * @param f     * @return     * @throws Exception     */    public static long getFileSize(File f) throws Exception {        long size = 0;        File[] flist = f.listFiles();        for (int i = 0; i < flist.length; i++) {            if (flist[i].isDirectory()) {                size = size + getFileSize(flist[i]);            } else {                size = size + flist[i].length();            }        }        return size;    }    /**     * 得到字符串方式的文件大小     *     * @param fileS ,单位b     * @return     */    public static String FormetFileSize(long fileS) {        DecimalFormat df = new DecimalFormat("0.00");        String fileSizeString;        if (fileS < 1024) {            fileSizeString = df.format((double) fileS) + "B";        } else if (fileS < 1048576) {            fileSizeString = df.format((double) fileS / 1024) + "K";        } else if (fileS < 1073741824) {            fileSizeString = df.format((double) fileS / 1048576) + "M";        } else {            fileSizeString = df.format((double) fileS / 1073741824) + "G";        }        return fileSizeString;    }}

5.DensityUtil.class(单位转换和获取屏幕宽高的工具类)

import android.app.Activity;import android.content.Context;import android.util.DisplayMetrics;/** * Created by mythmayor on 2016/12/14. */public class DensityUtil {    /**     * 将px值转换为 dip或dp值,保证尺寸大小不变     *     * @param pxValue 像素值     * @param context Context 对象     * @return dp值     */    public static int px2dip(float pxValue, Context context) {        float scale = getDensity(context);        return (int) (pxValue / scale + 0.5f);    }    /**     * 将dip或dp值转换为px值,保证尺寸大小不变     *     * @param dipValue dip数值     * @param context  Context 对象     * @return 像素值     */    public static int dip2px(float dipValue, Context context) {        float scale = getDensity(context);        return (int) (dipValue * scale + 0.5f);    }    /**     * 将px值转换为sp值,保证文字大小不变     *     * @param pxValue 像素值     * @param context Context 对象     * @return 返回sp数值     */    public static int px2sp(float pxValue, Context context) {        float scale = getDensity(context);        return (int) (pxValue / scale + 0.5f);    }    /**     * 将sp值转换为px值,保证文字大小不变     *     * @param spValue sp数值     * @param context Context 对象     * @return 返回像素值     */    public static int sp2px(float spValue, Context context) {        float scale = getDensity(context);        return (int) (spValue * scale + 0.5f);    }    /**     * 取得手机屏幕的密度     *     * @param context 上下文     * @return 手机屏幕的密度     */    public static float getDensity(Context context) {        float scale = context.getResources().getDisplayMetrics().density;        return scale;    }    /**     * 获取屏幕高     * @param activity     * @return 手机屏幕的高度     */    public static int getScreenHeight(Activity activity) {        DisplayMetrics dm = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(dm);        return dm.heightPixels;    }    /**     * 获取屏幕宽     * @param activity     * @return 手机屏幕的宽度     */    public static int getScreenWidth(Activity activity) {        DisplayMetrics dm = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(dm);        return dm.widthPixels;    }}

6.ResourceUtil.class(获取资源文件的工具类)

import android.app.Activity;import android.content.Context;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.util.DisplayMetrics;public class CommonUtil {    /**     * 获取Resource对象     */    public static Resources getResources() {        return MainApplication.getContext().getResources();    }    /**     * 获取Drawable资源     */    public static Drawable getDrawable(int resId) {        return getResources().getDrawable(resId);    }    /**     * 获取字符串资源     */    public static String getString(int resId) {        return getResources().getString(resId);    }    /**     * 获取color资源     */    public static int getColor(int resId) {        return getResources().getColor(resId);    }    /**     * 获取dimens资源     */    public static float getDimens(int resId) {        return getResources().getDimension(resId);    }    /**     * 获取字符串数组资源     */    public static String[] getStringArray(int resId) {        return getResources().getStringArray(resId);    }

7.DateUtil.class(日期时间转换的工具类)

import android.annotation.SuppressLint;import android.text.format.Time;import java.text.SimpleDateFormat;import java.util.Date;/** * 时间、日期转换工具 * Created by mythmayor on 2016/9/14. */public class DateUtils {    /**     * 获取当前时间     *     * @return 年月日时分秒字符串     */    public static String getCurrentTime() {        Time time = new Time("GMT+8");        time.setToNow();        String year = "" + time.year;        int imonth = time.month + 1;        String month = imonth > 9 ? "" + imonth : "0" + imonth;        String day = time.monthDay > 9 ? "" + time.monthDay : "0"                + time.monthDay;        String hour = (time.hour + 8) > 9 ? "" + (time.hour + 8) : "0"                + (time.hour + 8);        String minute = time.minute > 9 ? "" + time.minute : "0" + time.minute;        String sec = time.second > 9 ? "" + time.second : "0" + time.second;        String currentTime = year + month + day + hour + minute + sec;        return currentTime;    }    //获取 日期/时/分/秒    @SuppressLint("SimpleDateFormat")    public static String getDateTime(long time) {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String date = sdf.format(new Date(time));        return date;    }    //获取 日期/时/分    @SuppressLint("SimpleDateFormat")    public static String getHourMinute(long time) {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分");        String date = sdf.format(new Date(time));        return date;    }    //获取 日期年月日    @SuppressLint("SimpleDateFormat")    public static String getYearMonthDay(long time) {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");        String date = sdf.format(new Date(time));        return date;    }    //获取日期年月    public static String getYearMonth(long time){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");        String date = sdf.format(new Date(time));        return date;    }    //获取日期年月    public static String getYearMonth2(long time){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");        String date = sdf.format(new Date(time));        return date;    }    //获取日期年    public static String getYear(long time){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年");        String date = sdf.format(new Date(time));        return date;    }    //获取  时/分    public static String getTime(long time) {        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");        String date = sdf.format(new Date(time));        return date;    }}

8.GlideCacheUtil.class(管理Glide产生的缓存的工具类)

/** * Created by mythmayor on 2017/2/22. */import android.content.Context;import android.os.Looper;import android.text.TextUtils;import com.bumptech.glide.Glide;import com.bumptech.glide.load.engine.cache.ExternalCacheDiskCacheFactory;import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory;import java.io.File;import java.math.BigDecimal;/**Glide缓存工具类 * Created by mythmayor on 2016/10/10. */public class GlideCacheUtil {    private static GlideCacheUtil inst;    public static GlideCacheUtil getInstance() {        if (inst == null) {            inst = new GlideCacheUtil();        }        return inst;    }    /**     * 清除图片磁盘缓存     */    public void clearImageDiskCache(final Context context) {        try {            if (Looper.myLooper() == Looper.getMainLooper()) {                new Thread(new Runnable() {                    @Override                    public void run() {                        Glide.get(context).clearDiskCache();//                        BusUtil.getBus().post(new GlideCacheClearSuccessEvent());                    }                }).start();            } else {                Glide.get(context).clearDiskCache();            }        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 清除图片内存缓存     */    public void clearImageMemoryCache(Context context) {        try {            if (Looper.myLooper() == Looper.getMainLooper()) { //只能在主线程执行                Glide.get(context).clearMemory();            }        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 清除图片所有缓存     */    public void clearImageAllCache(Context context) {        clearImageDiskCache(context);        clearImageMemoryCache(context);        String ImageExternalCatchDir=context.getExternalCacheDir()+ ExternalCacheDiskCacheFactory.DEFAULT_DISK_CACHE_DIR;        deleteFolderFile(ImageExternalCatchDir, true);    }    /**     * 获取Glide造成的缓存大小     *     * @return CacheSize     */    public String getCacheSize(Context context) {        try {            return getFormatSize(getFolderSize(new File(context.getCacheDir() + "/"+ InternalCacheDiskCacheFactory.DEFAULT_DISK_CACHE_DIR)));        } catch (Exception e) {            e.printStackTrace();        }        return "";    }    /**     * 获取指定文件夹内所有文件大小的和     *     * @param file file     * @return size     * @throws Exception     */    private long getFolderSize(File file) throws Exception {        long size = 0;        try {            File[] fileList = file.listFiles();            for (File aFileList : fileList) {                if (aFileList.isDirectory()) {                    size = size + getFolderSize(aFileList);                } else {                    size = size + aFileList.length();                }            }        } catch (Exception e) {            e.printStackTrace();        }        return size;    }    /**     * 删除指定目录下的文件,这里用于缓存的删除     *     * @param filePath       filePath     * @param deleteThisPath deleteThisPath     */    private void deleteFolderFile(String filePath, boolean deleteThisPath) {        if (!TextUtils.isEmpty(filePath)) {            try {                File file = new File(filePath);                if (file.isDirectory()) {                    File files[] = file.listFiles();                    for (File file1 : files) {                        deleteFolderFile(file1.getAbsolutePath(), true);                    }                }                if (deleteThisPath) {                    if (!file.isDirectory()) {                        file.delete();                    } else {                        if (file.listFiles().length == 0) {                            file.delete();                        }                    }                }            } catch (Exception e) {                e.printStackTrace();            }        }    }    /**     * 格式化单位     *     * @param size size     * @return size     */    private static String getFormatSize(double size) {        double kiloByte = size / 1024;        if (kiloByte < 1) {            return size + "B";        }        double megaByte = kiloByte / 1024;        if (megaByte < 1) {            BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));            return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB";        }        double gigaByte = megaByte / 1024;        if (gigaByte < 1) {            BigDecimal result2 = new BigDecimal(Double.toString(megaByte));            return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB";        }        double teraBytes = gigaByte / 1024;        if (teraBytes < 1) {            BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));            return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB";        }        BigDecimal result4 = new BigDecimal(teraBytes);        return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "TB";    }}

9.JsonUtil.class(管理Json数据的工具类)

import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;public class JsonUtils {    public static Map jsonToMap(String jsonString) {        Map map = new HashMap();        try {            JSONObject json = new JSONObject(jsonString);            Iterator<?> it = json.keys();            String key = null;            Object value = null;            while (it.hasNext()) {                key = it.next().toString();                value = json.get(key);                if (value.toString().equals("null") || value.toString().equals("")) {                    value = "";                }                map.put(key, value);            }        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();            return null;        }        return map;    }    public static JSONObject mapToJson(@SuppressWarnings("rawtypes") Map map) {        JSONObject json = null;        json = new JSONObject(map);        return json;    }    public static List> jsonToList(String jsonArrayString) {        List> list = new ArrayList>();        try {            JSONArray array = new JSONArray(jsonArrayString);            for (int i = 0; i < array.length(); i++) {                JSONObject json = array.getJSONObject(i);                Map map = jsonToMap(json.toString());                list.add(map);            }        } catch (JSONException e) {            e.printStackTrace();            return null;        }        return list;    }    /**     * @param json     * @return     */    public static Map jsonToMap(JSONObject json) {        Map map = new HashMap();        try {            Iterator<?> it = json.keys();            String key = null;            Object value = null;            while (it.hasNext()) {                key = it.next().toString();                value = json.get(key);                if (value.toString().equals("null") || value.toString().equals("")) {                    value = "";                }                map.put(key, value);            }        } catch (JSONException e) {            e.printStackTrace();            return null;        }        return map;    }    /**     * @param array     * @return     */    public static List> jsonToList(JSONArray array) {        List> list = new ArrayList>();        try {            for (int i = 0; i < array.length(); i++) {                JSONObject json = array.getJSONObject(i);                Map map = jsonToMap(json.toString());                list.add(map);            }        } catch (JSONException e) {            e.printStackTrace();            return null;        }        return list;    }    /**     * @param json     * @param name     * @return     */    public static int getInt(JSONObject json, String name) {        if (json.has(name)) {            try {                if (!json.getString(name).equals("null") & json.getString(name) != "")                    return json.getInt(name);                return -100;            } catch (JSONException e) {                e.printStackTrace();            }        }        return 0;    }    /**     * @param array     * @param index     * @return     */    public static int getInt(JSONArray array, int index) {        try {            return array.getInt(index);        } catch (JSONException e) {            e.printStackTrace();        }        return 0;    }    /**     * @param json     * @param name     * @return     */    public static String getString(JSONObject json, String name) {        if (json.has(name)) {            try {                if (json.has(name) && !json.getString(name).equals("null") && json.getString(name) != "")                    return json.getString(name);                return "";            } catch (JSONException e) {                e.printStackTrace();            }        }        return "";    }    /**     * @param array     * @param index     * @return     */    public static String getString(JSONArray array, int index) {        String s = "";        try {            s = array.getString(index);        } catch (JSONException e) {            e.printStackTrace();        }        return s;    }    /**     * @param json     * @param arrayName     * @return     */    public static JSONArray getJSONArray(JSONObject json, String arrayName) {        JSONArray array = new JSONArray();        try {            if (json.has(arrayName))                array = json.getJSONArray(arrayName);        } catch (JSONException e) {            e.printStackTrace();        }        return array;    }    /**     * @param array     * @param index     * @return     */    public static JSONObject getJSONObject(JSONArray array, int index) {        JSONObject json = new JSONObject();        try {            json = array.getJSONObject(index);        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return json;    }    /**     * @param json     * @param name     * @return     */    public static JSONObject getJSONObject(JSONObject json, String name) {        JSONObject json2 = new JSONObject();        try {            if (json.has(name))                json2 = json.getJSONObject(name);        } catch (JSONException e) {            e.printStackTrace();        }        return json2;    }//  public static String resolveUri(String uri){//      return Constants.URI+uri;//  }}

10.MyCountDownTimer.class(验证码倒计时及重新发送验证码的工具类)

import android.os.CountDownTimer;import android.widget.Button;/** * Created by mythmayor on 2017/4/17. */public class MyCountDownTimer extends CountDownTimer {    private Button mBtn;    private int mEnable;    private int mDisable;    /**     * @param millisInFuture    The number of millis in the future from the call     *                          to {@link #start()} until the countdown is done and {@link #onFinish()}     *                          is called.     * @param countDownInterval The interval along the way to receive     *                          {@link #onTick(long)} callbacks.     */    public MyCountDownTimer(long millisInFuture, long countDownInterval, Button btn, int enable, int disable) {        super(millisInFuture, countDownInterval);        mBtn = btn;        mEnable = enable;        mDisable = disable;    }    //计时过程    @Override    public void onTick(long l) {        //防止计时过程中重复点击        mBtn.setClickable(false);        mBtn.setText(l / 1000 + "s");        //设置按钮背景色        mBtn.setBackgroundResource(mDisable);    }    //计时完毕的方法    @Override    public void onFinish() {        //重新给Button设置文字        mBtn.setText("重新获取验证码");        //设置可点击        mBtn.setClickable(true);        //设置按钮背景色        mBtn.setBackgroundResource(mEnable);    }}

11.ProgressDlgUtil.class(ProgressDialog使用的工具类)

import android.app.ProgressDialog;import android.content.Context;/** * Created by mythmayor on 2017/3/29. */public class ProgressDlgUtil {    private static ProgressDialog progressDlg = null;    /**     * 启动进度条     * @param ctx 当前的activity     * @param content 进度条显示的信息     */    public static void show(Context ctx, String content) {        if (null == progressDlg) {            progressDlg = new ProgressDialog(ctx);            progressDlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条            //progressDlg.setTitle("提示");//设置进度条标题            progressDlg.setMessage(content);//提示的消息            progressDlg.setIndeterminate(false);            progressDlg.setCancelable(false);            //progressDlg.setIcon(R.drawable.ic_launcher_scale);            progressDlg.show();        }    }    /**     * 结束进度条     */    public static void dismiss() {        if (null != progressDlg) {            progressDlg.dismiss();            progressDlg = null;        }    }}

更多相关文章

  1. Android(安卓)获取音频时长
  2. android截图代码
  3. android 调用相册里的图片并返回
  4. android 获取系统和SD卡音乐
  5. Android(安卓)view 转化为Bitmap并保存在本地
  6. android中dialog工具类的实现(多种dialog的创建)
  7. android根据包名获取签名MD5信息
  8. Android(安卓)获取电池电量
  9. 【Android】Activity与服务Service绑定

随机推荐

  1. 设置布局默认为LinearLayout,却成了Relat
  2. Android网络连接状态
  3. Android(安卓)api28 tablayout改变
  4. android 开发之动画Activity
  5. Android模拟器常用操作
  6. pAdTy_-5 保存数据
  7. cocos2dx 安卓电量,网络信号获取(android
  8. android 设置为壁纸代码
  9. 个人Code整理
  10. android之getApplicationContext