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();/**
陆零网络是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护 为核心数据库、关键应用系统、高性能计算业务提供云端专用的高性能、安全隔离的物理集群。分钟级交付周期助你的企业获得实时的业务响应能力,助力核心业务飞速成...
ZJI原名维翔主机,是原来Wordpress圈知名主机商家,成立于2011年,2018年9月更名为ZJI,提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。ZJI今年全新上架了台湾CN2线路服务器,本月针对香港高主频服务器和台湾CN2服务器提供7折优惠码,其他机房及产品提供8折优惠码,优惠后台湾CN2线路E5服务器月付595元起。台湾一型CPU:Inte...
欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...