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();/**
易探云服务器怎么样?易探云是国内一家云计算服务商家,致力香港云服务器、美国云服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。目前,易探云推出的国内云服务器优惠活动,国内云服务器2核2G5M云服务器低至330元/年起;成都4核8G/200G硬盘/15M带宽,仅1888元/3年起!易探云便宜vps服务器配置推荐:易探云vps云主机,入门型云...
妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...
印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...