Android开发10个常用工具类
原文出处 张鸿洋的博客
打开大家手上的项目基本都会有一大批的辅助类今天特此整理出10个基本每个项目中都会使用的工具类用于快速开发~~
在此感谢群里给我发项目中工具类的兄弟/姐妹~
1、 日志工具类L.javap ac kage c om.zhy.utils;import android.util.Log;
*Lo g统一管理类public class Lprivate L()
/*cannot be instantiated*/throw new UnsupportedOperationExc eption(c annot be instantiatedpublic static boolean isDebug=true;//是否需要打印bug可以在application的onCreate函数里面初始化private static final String TAG=way
//下面四个是默认tag的函数public static void i(String msg)if(is Debug)
Lo g.i(TAG,m s g);public static void d(String msg)if(is Debug)
Lo g.d(TAG,ms g);public static void e(String msg)if(is Debug)
Lo g.e(TAG,m s g);public static void v(String msg)if(is Debug)
Lo g.v(TAG,ms g);
//下面是传入自定义tag的函数public static void i(String tag,String msg)if(is Debug)
Log.i(tag,ms g);public static void d(String tag,String msg)if(is Debug)
Log.i(tag,ms g);public static void e(String tag,String msg)if(is Debug)
Log.i(tag,ms g);public static void v(String tag,String msg)if(is Debug)
Log.i(tag,ms g);
}
网上看到的类注释上应该原创作者的名字很简单的一个类 网上也有很多提供把日
志记录到SDCard上的不过我是从来没记录过所以引入个最简单的大家可以进行评价是否需要扩充~~
2、 To ast统一管理类p ac kage c om.zhy.utils;import android.c ontent.Context;import android.widget.Toast;
*To ast统一管理类public classTprivate T()
/**cannot be instantiated**/throw new UnsupportedOperationExc eption(c annot be instantiatedpublic static boolean isShow=true;
/**
*短时间显示To as t
*@param context
*@param messagepublic static void showShort(Context context,CharSequence message)if(is Show)
Toast.makeText(c ontext,mes sage,Toast.LENGTH_SHORT).show();
/**
*短时间显示To as t
*@param context
*@param messagepublic static void showShort(Context context, int message)if(is Show)
Toast.makeText(c ontext,mes sage,Toast.LENGTH_SHORT).show();/**
*长时间显示To as t
*@param context
*@param messagepublic static void showLong(Context context,CharSequence message)if(is Show)
Toast.makeText(c ontext,mes s age,Toast.LENGTH_LONG).show();/**
*长时间显示To as t
*@param context
*@param messagepublic static void showLong(Context context, int message)if(is Show)
Toast.makeText(c ontext,mes s age,Toast.LENGTH_LONG).show();/**
* 自定义显示To as t时间
*@param context
*@param message
*@param durationpublic static void show(Context context,CharSequence message, int duration)if(is Show)
Toast.makeText(c ontext,mes s age,duration).show();
/**
* 自定义显示To as t时间
*@param context
*@param message
*@param durationpublic static void show(Context context, int message, int duration)if(is Show)
Toast.makeText(c ontext,mes s age,duration).show();
}
也是非常简单的一个封装能省则省了~~
3、 SharedPreferenc es封装类SPUtilsp ac kage c om.zhy.utils;import java.lang.reflect.Invoc ationTargetExc eption;import java.lang.reflec t.Method;import java.util.Map;import android.c ontent.Context;import android.c ontent.SharedPreferenc es;public class SPUtils
/**
*保存在手机里面的文件名public static final String FILE_NAME=share_data
/**
*保存数据的方法我们需要拿到保存数据的具体类型然后根据类型调用不同的保存方法
*@param context
*@param key
*@param objectpublic static void put(Context c ontext,String key,Object object)
SharedPreferences sp=context.getSharedPreferences(FILE_NAME,
Context.MODE_PRI VATE);
SharedPreferenc es.Editor editor=sp.edit();if(object instanceof String)editor.putString(key, (String)objec t);
} else if(object instanceof Integer)editor.putInt(key, (Integer)objec t);
} else if(object instanceof Boolean)editor.putBoo lean(key, (Boo le an)object);
} else if(object instanceof Float)editor.putFloat(key, (Float)objec t);
} else if(object instanceof Long)
editor.putLong(key, (Long)objec t);
} els eeditor.putString(key,object.toString());
SharedPreferenc es Compat.apply(editor);
/**
*得到保存数据的方法我们根据默认值得到保存的数据的具体类型然后调用相对于的方法获取值
*@param context
*@param key
*@param defaultObject
*@r eturnpublic static Object get(Context context,String key,Object defaultObject)
SharedPreferences sp=context.getSharedPreferences(FILE_NAME,
Context.MODE_PRI VATE);if(defaultObject instanceof String)return sp.getString(key, (String)defaultObjec t);
} else if(defaultObject instanceof Integer)return sp.getInt(key, (Integer)defaultObj ec t);
} else if(defaultObject instanceof Boolean)return sp.getBoo lean(key, (Boo lean)defaultObj ect);
} else if(defaultObject instanceof Float)return sp.getFloat(key, (Float)defaultObjec t);
} else if(defaultObject instanceof Long)
return sp.getLong(key, (Long)defaultObjec t);r eturn null;
/**
*移除某个key值已经对应的值
*@param context
*@param keypublic static void remove(Context context,String key)
SharedPreferences sp=c ontext.getSharedPreferences(FILE_NAME,Context.MODE_PRI VATE);
SharedPreferenc es.Editor editor=sp.edit();editor.remove(key);
SharedPreferenc es Compat.apply(editor);
/**
*清除所有数据
*@param contextpublic static void clear(Context context)
SharedPreferences sp=context.getSharedPreferences(FILE_NAME,Context.MODE_PRI VATE);
SharedPreferenc es.Editor editor=sp.edit();editor.clear();
SharedPreferenc es Compat.apply(editor);
/**
*查询某个key是否已经存在
*@param context
*@param key
*@r eturnpublic static boolean contains(Context context,String key)
SharedPreferences sp=context.getSharedPreferences(FILE_NAME,Context.MODE_PRI VATE);return sp.c ontains(key);
/**
*返回所有的键值对
*@param context
*@r eturnpublic static Map String, ?getAll(Context context)
SharedPreferences sp=context.getSharedPreferences(FILE_NAME,Context.MODE_PRI VATE);r eturn s p.g etAl l();
/**
*创建一个解决SharedPreferenc es Compat.apply方法的一个兼容类
*@author zhyprivate static class SharedPreferencesCompatprivate static final Method sApp lyMethod=findApp lyMethod();/**
易探云怎么样?易探云是目前国内少数优质的香港云服务器服务商家,目前推出多个香港机房的香港云服务器,有新界、九龙、沙田、葵湾等机房,还提供CN2、BGP及CN2三网直连香港云服务器。近年来,许多企业外贸出海会选择香港云服务器来部署自己的外贸网站,使得越来越多的用户会选择易探云作为网站服务提供平台。今天,云服务器网(yuntue.com)小编来谈谈易探云和易探云服务器怎么样?具体香港云服务器多少钱1个...
天上云服务器怎么样?天上云是国人商家,成都天上云网络科技有限公司,专注于香港、美国海外云服务器的产品,有多年的运维维护经验。世界这么大 靠谱最重,我们7*24H为您提供服务,贴心售后服务,安心、省事儿、稳定、靠谱。目前,天上云香港大带宽物理机服务器572元;20Mbps带宽!三网CN2线路,香港沙田数据中心!点击进入:天上云官方网站地址香港沙田数据中心!线路说明 :去程中国电信CN2 +中国联通+...
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...