Skip to content

AbrahamCaiJin/CommonUtilLibrary

Repository files navigation

Travis branch Travis CircleCI TeamCity (simple build status) Travis

如果您觉得本项目不错的话,来个star支持下作者吧!

快速开发工具类收集,史上最全的开发工具类 CommonUtilLibrary

GitHub stars GitHub forks GitHub watchers

常用的自定义view和第三方类库 CommonUILibrary

GitHub stars GitHub forks GitHub watchers

ViewPager无限滚动循环,支持Fragment和View,可自定义 LoopViewPager

GitHub stars GitHub forks GitHub watchers

底部导航+LinearLayout+Navigation+RecycleView+CardView+个人中心 BottomAndShapeDemo

GitHub stars GitHub forks GitHub watchers

个人博客 AbrahamCaiJin.github.io

GitHub stars GitHub forks GitHub watchers

API

银行卡管理 → BankCheck

checkBankCard       : 校验银行卡卡号是否合法
getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
getNameOfBank       : 通过银行卡的前六位确定判断银行开户行及卡种

SharePreference缓存数据 → AppSharePreferenceMgr

put     : 保存数据的方法
get     : 获取数据的方法
putImage: 保存图片到SharedPreferences
getImage: 从SharedPreferences读取图片
remove  : 移除某个key值已经对应的值
clear   : 清除所有数据
contains: 查询某个key是否已经存在
getAll  : 返回所有的键值对

提供App数据清理工作的类 → AppCleanMgr

cleanInternalCache   : 清除本应用内部缓存数据
cleanExternalCache   : 清除本应用外部缓存数据
cleanDatabases       : 清除本应用所有数据库
cleanSharedPreference: 清除本应用SharedPreference
cleanDatabaseByName  : 根据名字清除本应用数据库
cleanFiles           : 清除本应用files文件
cleanApplicationData : 清除本应用所有的数据
getAppClearSize      : 获取App应用缓存的大小

缓存工具类 → AppACache

put             : 保存String数据到缓存中
getAsString     : 读取String数据
getAsJSONObject : 读取JSONObject数据
getAsJSONArray  : 读取JSONArray数据
getAsBinary     : 获取byte数据
getAsObject     : 读取Serializable数据
getAsBitmap     : 读取bitmap数据
getAsDrawable   : 读取Drawable数据
file            : 获取缓存文件
remove          : 除某个key
clear           : 清除所有数据

App应用退出 → AppExit2Back

exitApp: 退出App程序应用

管理和回收Activity → AppDavikActivityMgr

getScreenManager      : 单例堆栈集合对象
removeActivity        : 堆栈中销毁并移除
removeAllActivity     : 栈中销毁并移除所有Act对象
currentActivity       : 取当前Act对象
getCurrentActivityName: 获得当前Act的类名
addActivity           : 将Act纳入推栈集合中
exitApp               : 退出栈中所有Activity

获取App应用版本信息 → AppApplicationMgr

getAppName             : 获取本地apk的名称
getVersionName         : 获取本地Apk版本名称
getVersionCode         : 获取本地Apk版本号
getMetaData            : 根据key获取xml中Meta的值
getAppIcon             : 获取应用图标
getAppFirstInstallTime : 获取应用第一次安装日期
getAppLastUpdateTime   : 获取应用更新日期
getAppSize             : 获取应用大小
getAppApk              : 获取应用apk文件
getAppInstaller        : 获取应用的安装市场
getAppSign             : 获取应用签名
getAppTargetSdkVersion : 获取应用兼容sdk
getAppUid              : 获取应用uid
getNumCores            : 获取Cpu内核数
getRootPermission      : 获得root权限
getAppPermissions      : 获取应用的所有权限
hasPermission          : 是否有权限
isInstalled            : 应用是否安装
installApk             : 安装应用
uninstallApk           : 卸载应用
isSystemApp            : 是否是系统应用
isServiceRunning       : 服务是否在运行
stopRunningService     : 停止服务
killProcesses          : 结束进程
runScript              : 运行脚本
runApp                 : 启动应用
getPackageName         : 获得包名
getApplicationMetaData : 获取application层级的metadata

软键盘管理 → AppKeyBoardMgr

openKeybord      : 打卡软键盘
closeKeybord     : 关闭软键盘
TimerHideKeyboard: 通过定时器强制隐藏虚拟键盘
isKeybord        : 输入法是否显示
hideInputMethod  : 隐藏输入法
showInputMethod  : 显示输入法

系统日志输出工具类 → AppLogMessageMgr

isEnableDebug: 设置log总开关,debug模式(true:打印日志  false:不打印)
i            : Info日志
d            : Debug日志
w            : Warn日志
v            : Verbose日志
e            : Error日志
这里推荐使用凯子哥的日志管理工具,灰常好用,我也集成到了我的项目里面,KLog对超长字符串进行处理,保证全部的字符串都可以打印出来,再也没有了只能打印一部分的问题了,部分使用方法如下

系统日志输出工具类 → KLog

init: 设置log总开关,debug模式(true:打印日志  false:不打印)
a   : assert日志或者打印是否执行到这里等
i   : Info日志或者打印是否执行到这里等
d   : Debug日志或者打印是否执行到这里等
w   : Warn日志或者打印是否执行到这里等
v   : Verbose日志或者打印是否执行到这里等
e   : Error日志或者打印是否执行到这里等
json: 输出Json的格式字符串
xml : 输出xml的格式字符串
file: 保存到文件
更多使用方法信息点击这里查看:KLog

App网络管理 → AppNetworkMgr

getNetworkState          : 获取当前手机连接的网络类型
isNetworkConnected       : 判断网络是否连接
openNetSetting           : 打开网络设置界面
is3gConnected            : 检测3G是否连接
getNetworkTypeName       : 获取网络类型名称
getCurrentNetworkState   : 获取当前网络的状态
getCurrentNetworkSubtype : 获取当前网络的具体类型
isConnectedByState       : 判断当前网络是否已经连接
isConnectingByState      : 判断当前网络是否正在连接
isDisconnectedByState    : 判断当前网络是否已经断开
isDisconnectingByState   : 判断当前网络是否正在断开
isSuspendedByState       : 判断当前网络是否已经暂停
isUnknownByState         : 判断当前网络是否处于未知状态中
isBluetoothByType        : 判断当前网络的类型是否是蓝牙
isDummyByType            : 判断当前网络的类型是否是虚拟网络
isEthernetByType         : 判断当前网络的类型是否是ETHERNET
isMobileByType           : 判断当前网络的类型是否是移动网络
isMobileDunByType        : 判断当前网络的类型是否是MobileDun
isMobileHipriByType      : 判断当前网络的类型是否是MobileHipri
isMobileMmsByType        : 判断当前网络的类型是否是MobileMms
isMobileSuplByType       : 判断当前网络的类型是否是MobileSupl
isWifiByType             : 判断当前网络的类型是否是Wifi
isWimaxByType            : 判断当前网络的类型是否是Wimax
is1XRTTBySubtype         : 判断当前网络的具体类型是否是1XRTT
isCDMABySubtype          : 判断当前网络的具体类型是否是CDMA(Either IS95A or IS95B)
isEDGEBySubtype          : 判断当前网络的具体类型是否是EDGE
isEHRPDBySubtype         :  判断当前网络的具体类型是否是EHRPD
isEVDO_0BySubtype        : 判断当前网络的具体类型是否是EVDO_0
isEVDO_ABySubtype        : 判断当前网络的具体类型是否是EVDO_A
isEVDO_BBySubtype        : 判断当前网络的具体类型是否是EDGE
isGPRSBySubtype          : 判断当前网络的具体类型是否是GPRS
isHSDPABySubtype         : 判断当前网络的具体类型是否是HSDPA
isHSPABySubtype          : 判断当前网络的具体类型是否是HSPA
isHSPAPBySubtype         : 判断当前网络的具体类型是否是HSPAP
isHSUPABySubtype         : 判断当前网络的具体类型是否是HSUPA
isIDENBySubtype          : 判断当前网络的具体类型是否是IDEN
isLTEBySubtype           : 判断当前网络的具体类型是否是LTE
isUMTSBySubtype          : 判断当前网络的具体类型是否是UMTS
isUNKNOWNBySubtype       : 判断当前网络的具体类型是否是UNKNOWN
isChinaMobile2G          : 判断当前网络是否是中国移动2G网络
isChinaUnicom2G          : 判断当前网络是否是中国联通2G网络
isChinaUnicom3G          : 判断当前网络是否是中国联通3G网络
isChinaTelecom2G         : 判断当前网络是否是中国电信2G网络
isChinaTelecom3G         : 判断当前网络是否是中国电信3G网络
getWifiState             : 获取Wifi的状态,需要ACCESS_WIFI_STATE权限
isWifiOpen               : 判断Wifi是否打开,需要ACCESS_WIFI_STATE权限
setWifi                  : 设置Wifi,需要CHANGE_WIFI_STATE权限
isMobileNetworkOpen      : 判断移动网络是否打开,需要ACCESS_NETWORK_STATE权限
getIpAddress             : 获取本机IP地址
setDataEnabled           : 设置数据流量状态
getWifiScanResults       : 获取wifi列表
getScanResultsByBSSID    : 过滤扫描结果
getWifiConnectionInfo    : 获取wifi连接信息
getProxy                 : 获得Proxy地址

手机管理工具类 → AppPhoneMgr

getInstance          : 单例对象
getSDKVersionNumber  : 获取手机系统版本号
getPhoneModel        : 获取手机型号
getPhoneWidth        : 获取手机宽度
getPhoneHeight       : 获取手机高度
getPhoneImei         : 获取手机imei串号 ,GSM手机的 IMEI 和 CDMA手机的 MEID
getPhoneSim          : 获取手机sim卡号
getPhoneNum          : 获取手机号
isSDCardMount        : 判断sd卡是否挂载
getSDFreeSize        : 获取sd卡剩余空间的大小
getSDAllSize         : 获取sd卡空间的总大小
isTablet             : 判断是否是平板
isApkInstalled       : 判断一个apk是否安装
getAppPermissions    : 获取应用权限 名称列表
getInstalledApp      : 获取手机内安装的应用
getUserInstalledApp  : 获取手机安装非系统应用
getInstalledAppInfo  : 获取安装应用的信息
startAppPkg          : 打开指定包名的应用
unInstallApk         : 卸载指定包名的应用
callPhone            : 直接呼叫指定的号码
toCallPhoneActivity  : 跳转至拨号界面
sendMessage          : 直接调用短信API发送信息(设置监听发送和接收状态)
toSendMessageActivity: 跳转至发送短信界面(自动设置接收方的号码)
toChooseContactsList : 跳转至联系人选择界面
getChoosedPhoneNumber: 获取选择的联系人的手机号码
toCameraActivity     : 跳转至拍照程序界面
toImagePickerActivity: 跳转至相册选择界面
getChoosedImage      : 获得选中相册的图片
openWebSite          : 调用本地浏览器打开一个网页
toSettingActivity    : 跳转至系统设置界面
toWIFISettingActivity: 跳转至WIFI设置界面
openPDFFile          : 启动本地应用打开PDF
openWordFile         : 启动本地应用打开PDF
openOfficeByWPS      : 调用WPS打开office文档
isInstalledApp       : 判断是否安装指定包名的APP
isExistActivity      : 判断是否存在指定的Activity
getPhoneType         : 获取移动终端类型
isSimCardReady       : 判断sim卡是否准备好
getPhoneStatus       : 获取手机状态信息
getAllSMS            : 获取手机短信并保存到xml中
isGpsEnabled         : Gps是否打开

反射工具类 → AppReflectionMgr

getProperty          : 得到某个对象的公共属性
getStaticProperty    : 得到某类的静态公共属性
invokeMethod         : 执行某对象方法
invokeStaticMethod   : 执行某类的静态方法
newInstance          : 新建实例
isInstance           : 是不是某个类的实例
getByArray           : 得到数组中的某个元素
GetClassListByPackage: 得到类的集合

获取本地指定资源信息 → AppResourceMgr

getStringByAssets    : 根据本地Assets目录下资源名称,获取String数据信息
getListByAssets      : 根据本地Assets目录下资源名称,获取List集合信息
getStringByRaw       : 根据本地Raw目录下资源标识,获取String数据信息
getListByRaw         : 根据本地Raw目录下资源标识,获取List集合信息
getResourceId        : 根据资源名获得资源id
readBytesFromAssets  : 从assets目录下读取文件内容
readBytesFromRaw     : 从res/raw目录下读取文件内容
readStringFromAssets : 从assets目录读取文本
readStringFromRaw    : 从raw目录读取文本
getString            : 获得字符串
getColor             : 获得颜色
getDrawable          : 获得Drawable

有关Android屏幕的工具类 → AppScreenMgr

getScreenWidth           : 获得屏幕宽度
getScreenHeight          : 获得屏幕高度
getStatusHeight          : 获得状态栏的高度
getRealScreenHeight      : 获取整块屏幕的高度
getNavigationAreaHeight  : 获取虚拟按键区域的高度
getNavigationBarrH       : 获取导航栏高度
snapShotWithStatusBar    : 获取当前屏幕截图,包含状态栏
snapShotWithoutStatusBar : 获取当前屏幕截图,不包含状态栏
getTitleBarHeight        : 获得标题栏高度
getStatusBarHeight       : 获取通知栏高度
takeScreenShot           : 获取指定Activity的截屏,保存到png文件
savePic                  : 保存bitmap
captureWebView           : 截取webView快照(webView加载的整个内容的大小)
shoot                    : 截屏并保存
shootWebView             : 截屏并保存

获取App应用系统基本信息 → AppSysMgr

getSysClientOs             : 获得客户端操作系统名称
getSysSdk                  : 获取当前操作系统的sdk版本
getSysLanguage             : 获取当前操作系统的语言
getSysModel                : 获取手机型号
getSysRelease              : 获取操作系统的版本号
getSysSIMSerialNum         : 读取SIM卡序列号
getSysCPUSerialNum         : 获取手机CPU序列号
getSysTelephonyManager     : 获得电话管理实例对象
getSysTelephoneSerialNum   : 读唯一的设备ID(唯一的设备ID【GSM手机的IMEI】和【CDMA手机的 MEID】,如果获取不到返回一个默认字符串)
getSysCarrier              : 获取运营商信息(三大运营商)
getSysPhoneState           : 获取手机状态(0:无活动 1:响铃 2:待机)
getSysPhoneLoaction        : 获得手机方位
getSysDeviceSoftVersion    : 获得设备的软件版本号(注:the IMEI/SV(software version) for GSM phones 不支持返回“not available”)
getSysPhoneNumber          : 获得手机号
getSysSimCode              : 获得SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字。(注:SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断))
getSysSimPrivatorName      : 服务商名称(注:例如:中国移动、联通SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断))
getSysUserPhoneId          : 唯一的用户ID (注:例如:IMSI(国际移动用户识别码) for a GSM phone. 需要权限:READ_PHONE_STATE)
getWindowManager           : 获取WindowManager对象
getSysDefaultThreadPoolSize: 获得系统配置相符的线程池大小
getSysSampleSize           : 获取当前APP应用的SampleSize大小
getVibrator                : 获取震动器对象
getSysLocalIpAddress       : 获取手机IP地址
getAndroidID               : 获取AndroidID
getIMSI                    : 获取设备IMSI码
getIP                      : 获取网络IP地址(优先获取wifi地址)
getWifiIP                  : 获取WIFI连接下的ip地址
getGPRSIP                  : 获取GPRS连接下的ip地址
getSerial                  : 获取设备序列号
getSIMSerial               : 获取SIM序列号
getMNC                     : 获取网络运营商 46000,46002,46007 中国移动,46001 中国联通,46003 中国电信
getCarrier                 : 获取网络运营商:中国电信,中国移动,中国联通
getModel                   : 获取硬件型号
getBuildBrand              : 获取编译厂商
getBuildHost               : 获取编译服务器主机
getBuildTags               : 获取描述Build的标签
getBuildTime               : 获取系统编译时间
getBuildUser               : 获取系统编译作者
getBuildVersionRelease     : 获取编译系统版本(5.1)
getBuildVersionCodename    : 获取开发代号
getBuildVersionIncremental : 获取源码控制版本号
getBuildVersionSDK         : 获取编译的SDK
getBuildID                 : 获取修订版本列表(LMY47D)
getSupportedABIS           : CPU指令集
getManufacturer            : 获取硬件制造厂商
getBootloader              : 获取系统启动程序版本号
getDisplayVersion          : 获取系统版本号
getLanguage                : 获取语言
getCountry                 : 获取国家
getOSVersion               : 获取系统版本:5.1.1
getGSFID                   : 获取GSF序列号
getBluetoothMAC            : 获取蓝牙地址
getPsuedoUniqueID          : Android设备物理唯一标识符
getFingerprint             : 构建标识,包括brand,name,device,version.release,id,version.incremental,type,tags这些信息
getHardware                :获取硬件信息
getProduct                 :获取产品信息
getDevice                  :获取设备信息
getBoard                   :获取主板信息
getRadioVersion            :获取基带版本(无线电固件版本 Api14以上)
getUA                      : 获取的浏览器指纹(User-Agent)
getDensity                 : 获取得屏幕密度
getGoogleAccounts          : 获取google账号

自定义Toast提示框 → AppToastMgr

shortToast            : 自定义Toast调用
longToast             : 自定义Toast调用
cancelToast           : 取消显示Toast
Toast                 : 默认Toast调用
show                  : 屏幕中心位置短时间显示Toast。
ToastShortBottomCenter: 屏幕底部中间位置显示短时间Toast
ToastShortBottomLeft  : 屏幕底部左边位置短时间显示Toast
ToastShortBottomRight : 屏幕底部右边位置短时间显示Toast
ToastShortCenter      : 屏幕中心位置短时间显示Toast
ToastShortCenterLeft  : 屏幕中心左边位置短时间显示Toast
ToastShortCenterRight : 屏幕中心右边位置短时间显示Toast
ToastShortTopCenter   : 屏幕顶部中心位置短时间显示Toast
ToastShortTopLeft     : 屏幕顶部左边位置短时间显示Toast
ToastShortTopRight    : 屏幕顶部右边位置短时间显示Toast
ToastLongBottomCenter : 屏幕底部中间位置显示长时间Toast
ToastLongBottomLeft   : 屏幕底部左边位置长时间显示Toast
ToastLongBottomRight  : 屏幕底部右边位置长时间显示Toast
ToastLongCenter       : 屏幕中心位置长时间显示Toast
ToastLongCenterLeft   : 屏幕中心左边位置长时间显示Toast
ToastLongCenterRight  : 屏幕中心右边位置短时间显示Toast
ToastLongTopCenter    : 屏幕顶部中心位置长时间显示Toast
ToastLongTopLeft      : 屏幕顶部左边位置长时间显示Toast
ToastLongTopRight     : 屏幕顶部右边位置长时间显示Toast

正则表达式 → AppValidationMgr

isEmpty              : 验证是否为空串 (包括空格、制表符、回车符、换行符组成的字符串 若输入字符串为null或空字符串,返回true)
isNotEmpty           : 是否不为空
isNotZero            : 验证非零正整数
isNumber             : 验证是数字
isUpChar             : 验证是大写字母
isLowChar            : 验证是小写字母
isLetter             : 验证是英文字母
isChinese            : 验证输入汉字
isRealName           : 验证真实姓名
isOneCode            : 验证是否是条形码
isEmail              : 验证邮箱是否正确
isPhone              : 验证手机号是否正确
isPlane              : 验证座机号码是否正确
isPostalCode         : 验证邮政编码是否正确
isIpAddress          : 验证IP地址是否正确
isURL                : 验证URL地址是否正确
isInteger            : 验证是否是正整数
isPoint              : 验证是否是小数
isBankNo             : 验证是否银行卡号
isIDCard             : 验证身份证号码是否正确
isPeculiarStr        : 判断是否有特殊字符
isUserName           : 判断是否为用户名账号(规则如下:用户名由下划线或字母开头,由数字、字母、下划线、点、减号组成的4-32位字符)
chineseLength        : 获取字符串中文字符的长度(每个中文算2个字符)
strLength            : 获取字符串的长度
subStringLength      : 获取指定长度的字符所在位置
isNumberLetter       : 是否只是字母和数字
isContainChinese     : 是否包含中文
convertStreamToString: 从输入流中获得String
cutString            : 截取字符串到指定字节长度
cutStringFromChar    : 截取字符串从第一个指定字符
strlen               : 获取字节长度
getSizeDesc          : 获取大小的描述
ip2int               : ip地址转换为10进制数
gainUUID             : 获取UUID
phoneNoHide          : 手机号码,中间4位星号替换
cardIdHide           : 银行卡号,保留最后4位,其他星号替换
idHide               : 身份证号,中间10位星号替换
checkVehicleNo       : 是否为车牌号(沪A88888)
isContinuousNum      : 判断字符串是否为连续数字 45678901等
isAlphaBetaString    : 是否是纯字母
isContinuousWord     : 判断字符串是否为连续字母 xyZaBcd等
isRealDate           : 是否是日期 20120506 共八位,前四位-年,中间两位-月,最后两位-日

Wifi管理工具类 → AppWifiHelperMgr

isWifiEnabled     : Wifi状态
openWifi          : 打开wifi
closeWifi         : 关闭Wifi
lockWifi          : 锁定WiFI就是判断wifi是否建立成功,在这里使用的是held(握手) acquire
unLockWifi        : 解锁
wificreateWifiLock: 创建一个Wifi锁,需要时调用
startScan         : 扫描网络
getWifiList       : 获取wifi列表
getWifiConfigList : 获取wifi配置列表
lookupScanInfo    : 获取扫描WIFI列表的信息
getSSID           : 获取指定Wifi的ssid名称
getBSSID          : 获取指定Wifi的物理地址
getFrequency      : 获取指定Wifi的频率
getCapabilities   : 获取指定Wifi的功能
getLevel          : 获取指定Wifi的信号强度
getBSSID          : 获取SSID
getCurrentNetId   : 返回当前连接的网络的ID
getWifiInfo       : 返回所有信息
getIP             : 获取IP地址
addNetWordLink    : 添加一个连接
disableNetWordLink: 禁用一个链接
removeNetworkLink : 移除一个链接
hiddenSSID        : 不显示SSID
displaySSID       : 显示SSID

类型转换类 → ConvertUtils

hexStringToBytes: 十六进制字符串转换为byte数组
bytesToHexString: byte数组转换为十六进制字符串
charToByte      : char转换为byte数组
intToByte       : int转换为byte数组
byteToInt       : byte数组转换为int
saveDecimals    : 保留几位小数
nullOfString    : null转String
stringToByte    : String转Byte
stringToBoolean : String转Boolean
stringToInt     : String转Int
stringToShort   : String转Short
stringToDouble  : String转Double
intToString     : Int转String
doubleToLong    : Double转Long
doubleToInt     : Double转Int
longToDouble    : Long转Double
longToInt       : Long转Int
stringToLong    : String转Long
longToString    : Long转String

日期管理类 → AppDateMgr

todayYyyyMmDd           : 当天的年月日
todayHhMmSs             : 当天的时分秒
todayYyyyMmDdHhMmSs     : 当天的年月日时分秒
parseYyyy               : 获取年
parseMm                 : 获取月
parseDd                 : 获取日
parseYyyyMmDd           : 获取年月日
parseHhMmSs             : 时分秒
getWeekNumber           : 获取星期几
getWeekOfMonth          : 日期中某个月份的第几周
getWeekOfYear           : 日期中某个年份的第几周
dateTimeToTimeStamp     : 将年月日时分秒转成Long类型
timeStampToDateTime     : 将Long类型转成年月日时分秒
string2Date             : 将年月日时分秒转成Date类型
date2String             : 将Date类型转成年月日时分秒
dateIsBefore            : 比较日期
minutesBetweenTwoDate   : 相差多少分钟
getChineseZodiac        : 获取日期中的生肖
getZodiac               : 获取日期中的星座
getNowDayOffset         : 获取日期
getTime                 : 获取日期
forward                 : 使日期倒一天
isLeapYear              : 判断平年闰年
getDaysOfMonth          : 计算某月的天数
secondsMorning          : 获取当天凌晨的秒数
secondsNight            : 获取第二天凌晨的秒数
isSameDay               : 判断某两天是不是同一天
formatFriendly          : 将日期格式化成友好的字符串:几分钟前、几小时前、几天前、几月前、几年前、刚刚
formatDateTime          : 将日期以yyyy-MM-dd HH:mm:ss格式化
formatDateTime          : 将日期以yyyy-MM-dd HH:mm:ss格式化
formatDateTime          : 将日期以yyyy-MM-dd HH:mm:ss格式化
parseDate               : 将日期字符串转成日期
gainCurrentDate         : 获取系统当前日期
compareDate             : 验证日期是否比当前日期早
addDateTime             : 对日期进行增加操作
subDateTime             : 对日期进行相减操作
formatDateForExcelDate  : 格式化excel中的时间
formatDateForFileName   : 将日期格式化作为文件名
formatDateSecond        : 格式化日期(精确到秒)
tempDateSecond          : 格式化日期(精确到秒)
tempDateSecond          : 格式化日期(精确到秒)
formatDateDay           : 格式化日期(精确到天)
formatDateDetailDay     : 式化日期(精确到天)
formatNumber            : double类型的数字保留两位小数(四舍五入)
formateDate             : 将字符串转换成日期
parseStringToDate       : 将字符日期转换成Date
formatDoubleNumber      : 将double日期转换成String
getTimeMillis           : 获得指定Date类型的毫秒数
getCurrentDayTimeMillis : 获得当前时间的毫秒数
convertMillisecond      : 将格式化过的时间串转换成毫秒
getDateInterval         : 得到两个日期的天数
compareTime             : 时间比较

手机常用单位转换的辅助类 → DensityUtils

dip2px: 据手机的分辨率从 dip 的单位 转成为 px(像素)
px2dip: 根据手机的分辨率从 px(像素) 的单位 转成为 dp
dp2px : dp转px
sp2px : sp转px
px2dp : px转dp
px2sp : px转sp

文件管理类 → FileUtils

createFileDir      : 创建目录
delFile            : 删除文件(若为目录,则递归删除子目录和文件)
getFileSize        : 取文件大小,单位为byte(若为目录,则包括所有子目录和文件)
saveBitmap         : 保存Bitmap到指定目录
isFileExists       : 判断某目录下文件是否存在
isMountedSDCard    : 检查是否已挂载SD卡镜像(是否存在SD卡)
gainSDFreeSize     : 获取SD卡剩余容量(单位Byte)
gainSDAllSize      : 获取SD卡总容量(单位Byte)
gainSDCardPath     : 获取可用的SD卡路径(若SD卡不没有挂载则返回"")
readFileByLines    : 以行为单位读取文件内容,一次读一整行,常用于读面向行的格式化文件
saveToFile         : 保存内容
saveToFile         : 指定编码保存内容
appendToFile       : 追加文本
isExsit            : 判断文件是否存在
read               : 快速读取程序应用包下的文件内容
read               : 读取指定目录文件的文件内容
read               : 以行为单位读取文件内容,一次读一整行,常用于读面向行的格式化文件
readRawValue       : 读取raw目录的文件内容
readAssetsValue    : 读取assets目录的文件内容
readAssetsListValue: 读取assets目录的文件内容
readShrePerface    : 获取SharedPreferences文件内容
writeShrePerface   : 写入SharedPreferences文件内容
write              : 写入应用程序包files目录下文件
write              : 指定编码将内容写入目标文件
write              : 指定目录写入文件内容
write              : 写入文件
saveAsJPEG         : 指定目录写入文件内容
saveAsPNG          : 指定目录写入文件内容
getStringFromFile  : 将文件转成字符串
copyFile           : 复制文件
copyFileFast       : 快速复制
shareFile          : 分享文件
zip                : 压缩
unzip              : 解压
formatFileSize     : 格式化文件大小
Stream2File        : 将输入流写入到文件
createFolder       : 创建文件夹(支持覆盖已存在的同名文件夹)
getFileName        : 获取文件名
rename             : 重命名文件\文件夹
getFolderName      : 获取文件夹名称
getFilesArray      : 获取文件夹下所有文件
openImage          : 打开图片
openVideo          : 打开视频
openURL            : 打开URL
downloadFile       : 下载文件
upgradeApp         : 通过APKURL升级应用

控件点击效果动画工具类 → ToolAnimation

addTouchDrak : 给视图添加点击效果,让背景变深
addTouchLight: 给视图添加点击效果,让背景变暗

view管理类 → ViewUtils

removeSelfFromParent   : 把自身从父View中移除
isTouchInView          : 判断触点是否落在该View上
setTVUnderLine         : 给TextView设置下划线
showPopupWindow        : 显示PopupWindow
dismissPopup           : 关闭PopupWindow
captureView            : 截图
createViewBitmap       : 截图
convertViewToBitmap    : 截图
getActivityBitmap      : 获取Activity的截图
getStatusBarHeight     : 获取状态栏高度
getToolbarHeight       : 获取工具栏高度
getNavigationBarHeight : 获取导航栏高度
measureView            : 测量view
getViewWidth           : 获取view的宽度
getViewHeight          : 获取view的高度
getActivity            : 获取view的上下文

提供APP应用计算,算法等 -> AppCalculateMgr

distance        : 两点间的距离
pointTotoDegrees: 计算点a(x,y)的角度
checkInRound    : 点在圆内

SpannableString工具类 → SpannableStringUtils

Builder.setFlag           : 设置标识
Builder.setForegroundColor: 设置前景色
Builder.setBackgroundColor: 设置背景色
Builder.setQuoteColor     : 设置引用线的颜色
Builder.setLeadingMargin  : 设置缩进
Builder.setMargin         : 设置间距
Builder.setBullet         : 设置列表标记
Builder.setFontSize       : 设置字体尺寸
Builder.setFontProportion : 设置字体比例
Builder.setFontXProportion: 设置字体横向比例
Builder.setStrikethrough  : 设置删除线
Builder.setUnderline      : 设置下划线
Builder.setSuperscript    : 设置上标
Builder.setSubscript      : 设置下标
Builder.setBold           : 设置粗体
Builder.setItalic         : 设置斜体
Builder.setBoldItalic     : 设置粗斜体
Builder.setFontFamily     : 设置字体系列
Builder.setTypeface       : 设置字体
Builder.setAlign          : 设置对齐
Builder.setBitmap         : 设置图片
Builder.setDrawable       : 设置图片
Builder.setUri            : 设置图片
Builder.setResourceId     : 设置图片
Builder.setClickSpan      : 设置点击事件
Builder.setUrl            : 设置超链接
Builder.setBlur           : 设置模糊
Builder.append            : 追加样式字符串
Builder.create            : 创建样式字符串

Snackbar工具类 → SnackbarUtils

ShortSnackbar     : 短显示Snackbar,自定义颜色
LongSnackbar      : 长显示Snackbar,自定义颜色
IndefiniteSnackbar: 自定义时常显示Snackbar,自定义颜色
ShortSnackbar     : 短显示Snackbar,可选预设类型
LongSnackbar      : 显示Snackbar,可选预设类型
IndefiniteSnackbar: 自定义时常显示Snackbar,可选预设类型
setSnackbarColor  : 设置Snackbar背景颜色
setSnackbarColor  : 设置Snackbar文字和背景颜色
SnackbarAddView   : 向Snackbar中添加view

Picasso图片加载工具类 → PicassoUtils

getinstance               : 单例对象
LoadImage                 : 加载图片
LoadImageWithWidtAndHeight: 加载图片,设置宽高,图片默认居中(centerCrop())

Glide图片加载工具类 → GlideUtils

instance                         : 单例对象
LoadContextBitmap                : Glide请求图片,会受到Context生命周期控制
LoadFragmentBitmap               : Glide请求图片,会受到Fragment生命周期控制
LoadSupportv4FragmentBitmap      : Glide请求图片,会受到support.v4.app.Fragment生命周期控制
LoadContextCircleBitmap          : 加载设置圆形图片
LoadfragmentCircleBitmap         : Glide请求图片设置圆形,会受到android.app.Fragment生命周期控制
LoadSupportv4FragmentCircleBitmap: Glide请求图片设置圆形,会受到android.support.v4.app.Fragment生命周期控制
LoadContextRoundBitmap           : 加载设置圆角图片
LoadfragmentRoundBitmap          : Glide请求图片设置圆角,会受到android.app.Fragment生命周期控制
LoadSupportv4FragmentRoundBitmap : Glide请求图片设置圆角,会受到android.support.v4.app.Fragment生命周期控制
LoadContextBlurBitmap            : Glide加载模糊图片
LoadFragmentBlurBitmap           : Glide加载模糊图片会受到Fragment生命周期控制
LoadSupportv4FragmentBlurBitmap  : Glide加载模糊图片会受到support.v4.app.Fragment生命周期控制
LoadContextRotateBitmap          : 旋转图片
LoadFragmentRotateBitmap         : Glide加载旋转图片会受到Fragment生命周期控制
LoadSupportv4FragmentRotateBitmap: Glide加载旋转图片会受到support.v4.app.Fragment生命周期控制

Fresco图片加载工具类 → FrescoUtils

initConfig             : 初始化配置
initImagePipelineConfig: 单例
init                   : 默认加载图片和失败图片
configureCaches        : 初始化配置
setImageURI            : 开始加载图片
changeImgSize          : 自定义图片尺寸
loadGif                : 加载gif图
moreImgRequst          : 多图请求需自定义ImageRequest(图片预览)
localImg               : 缩略图预览(仅支持本地图片,并且是JPEG图片格式)
loadImage              : 请求图片
getImageDecodeOptions  : 图片解码

图片管理工具类 → AppImageMgr

getBitmap                  : 根据drawable id获取Bitmap
getDrawable                : 根据drawable id获取Drawable
bitmapToDrawble            : bitmap转drawable
readDrawableBitmap         : 以最省内存的方式读取本地资源的图片
readDrawableBigBitmap      : 读取本地drawable中较大的资源图片
getBitmapFromFile          : 从文件得到BitMap
getBitmapByteArray         : 从数组得到Bitmap
getBitmapFromStream        : 从流中得到Bitmap
setAlpha                   : 图片透明度处理
getImgCacheFromLocal2Bitmap: 获取源图片的BITMAP,压缩,本地图片
getBitmap2Byte             : bitmap转byte[]
decodeBitmapToThumbnail    : 获取缩略图
saveImage                  : 保存图片
grayMasking                : 光晕效果
getBitmapSize              : 获取bitmap的字节大小
convertToBlackWhite        : 将彩色图转换为黑白图
convertToRoundedCorner     : 转换成圆角
BoxBlurFilter              : 高斯模糊
getCircleBitmap            : 圆形图片
getRoundedCornerBitmap     : 获取圆角
lessenBitmap               : 按比例缩小图片(单位像素) lessen the bitmap
readPictureDegree          : 判断图片旋转情况
rotaingImageView           : 旋转图片
rotateBitmap               : 图片旋转
getBitmapFromUri           : 根据uri获取图片
getPicPathFromUri          : 图片uri转path
getSmallBitmap             : 根据路径获得图片并压缩返回bitmap用于显示
decodeBitmap               : 从文件中获取图片
computeSampleSize          : 使用该算法,就可动态计算出图片的inSampleSize
applyDimension             : 长度单位转换

资金运算工具类 → AppBigDecimal

add              : 提供精确的加法运算
substract        : 提供精确的减法运算
multiply         : 提供精确的乘法运算
divide           : 提供(相对)精确的除法运算.当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入.
round            : 提供精确的小数位四舍五入处理
remainder        : 取余数
formatMoney      : 金额分割,四舍五人金额
compareBigDecimal: 比较大小
adjustDouble     : 获取自己想要的数据格式

WebService网络工具类 → WebServiceUtils

callWebService: 请求网络数据

HttpURLConnection网络工具类 → HttpURLConnectionUtils

doGetAsyn : 异步的Get请求
doPostAsyn: 异步的Post请求
doGet     : Get请求,获得返回数据
doPost    : 向指定 URL 发送POST方法的请求

字符串判断工具类 → AppStringUtils

isEmpty                  : 判断字符串是否为空
isNotEmpty               : 判断str null,"","null" 均视为空
checkNameChese           : 检测String是否全是中文
isChinese                : 判定输入汉字
toLowerCaseFirstOne      : 将字符串的第一位转为小写
toUpperCaseFirstOne      : 将字符串的第一位转为大写
underScoreCase2CamelCase : 下划线命名转为驼峰命名
camelCase2UnderScoreCase : 驼峰命名法转为下划线命名
throwable2String         : 将异常栈信息转为字符串
concat                   : 字符串连接,将参数列表拼接为一个字符串
concatSpiltWith          : 字符串连接,将参数列表拼接为一个字符串
toASCII                  : 将字符串转移为ASCII码
toUnicode                : 将字符串转移为Unicode码
toUnicodeString          : 将字符串转移为Unicode码
containsChineseChar      : 是否包含中文字符
isNumber                 : 参数是否是有效数字 (整数或者小数)
matcherFirst             : 匹配到第一个字符串
isInt                    : 参数是否是有效整数
isDouble                 : 字符串参数是否是double
isBoolean                : 判断一个对象是否为boolean类型,包括字符串中的true和false
isTrue                   : 对象是否为true
contains                 : 判断一个数组里是否包含指定对象
toInt                    : 将对象转为int值,如果对象无法进行转换,则使用默认值
toLong                   : 将对象转为long类型,如果对象无法转换,将返回默认值
toDouble                 : 将对象转为Double,如果对象无法转换,将使用默认值
splitFirst               : 分隔字符串,根据正则表达式分隔字符串,只分隔首个,剩下的的不进行分隔,如: 1,2,3,4 将分隔为 ['1','2,3,4']
toString                 : 将对象转为字符串,如果对象为null,则返回null,而不是"null"
toStringAndSplit         : 将对象转为String后进行分割,如果为对象为空或者空字符,则返回null

Json工具类 → JsonUtils

toJson            : 对象转json
fromJson          : json转对象
map2Json          : Map转为JSONObject
collection2Json   : 集合转换为JSONArray
object2Json       : Object对象转换为JSONArray
string2JSONObject : json字符串生成JSONObject对象
object2json       : 对象转换为Json
list2json         : List集合转换为Json
array2json        : 对象数组转换为Json
set2json          : Set集合转为Json
string2json       : 字符串转换为Json

系统媒体管理工具类 → MediaUtil

startActivityForCamera   : 进入系统拍照
startActivityForGallery  : 进入系统图库
startActivityForImageCut : 进入系统裁剪

GPS坐标转换工具 → CoordinateTransformUtil

bd09towgs84  : 百度坐标系(BD-09)转WGS坐标(百度坐标纬度,百度坐标经度),WGS84坐标数组
wgs84tobd09  : WGS坐标转百度坐标系(BD-09)(WGS84坐标系的经度,WGS84坐标系的纬度),百度坐标数组
gcj02tobd09  : 火星坐标系(GCJ-02)转百度坐标系(BD-09)(火星坐标经度,火星坐标纬度),百度坐标数组
bd09togcj02  : 百度坐标系(BD-09)转火星坐标系(GCJ-02)(百度坐标纬度,百度坐标经度),火星坐标数组
wgs84togcj02 : WGS84转GCJ02(火星坐标系)(WGS84坐标系的经度,WGS84坐标系的纬度),火星坐标数组
gcj02towgs84 : GCJ02(火星坐标系)转GPS84(火星坐标系的经度,火星坐标系纬度),WGS84坐标数组
transformlat : 纬度转换
transformlng : 经度转换
out_of_china : 判断是否在国内,不在国内不做偏移

程序崩溃处理类 → CrashHandlerUtil

getInstance : 获取CrashHandler实例 ,单例模式
init        : 初始化
setCrashTip : 设置程序退出时的提示信息

html标签管理类 → HtmlUtils

addHtmlRedFlag : 为给定的字符串添加HTML红色标记,当使用Html.fromHtml()方式显示到TextView 的时候其将是红色的
keywordMadeRed : 将给定的字符串中所有给定的关键字标红

root权限工具类 → RootPermissionUtils

isRoot : 根据/system/bin/或/system/xbin目录下是否存在su文件判断是否已ROOT

快捷图标管理类 → ShortCutUtils

hasShortcut : 检测是否存在快捷键
addShortcut : 为程序创建桌面快捷方式
delShortcut : 删除程序的快捷方式

单例工具类 → SingletonUtils

   getInstance : 获取单例 getInstance : 获取单例

WebView管理类 → WebViewManager

enableAdaptive                            : 开启自适应功能
disableAdaptive                           : 禁用自适应功能
enableZoom                                : 开启缩放功能
disableZoom                               : 禁用缩放功能
enableJavaScript                          : 开启JavaScript
disableJavaScript                         : 禁用JavaScript
enableJavaScriptOpenWindowsAutomatically  : 开启JavaScript自动弹窗
disableJavaScriptOpenWindowsAutomatically : 禁用JavaScript自动弹窗
goBack                                    : 返回

窗口管理类 → WindowUtils

getDisplayRotation    : 获取当前窗口的旋转角度
isLandscape           : 当前是否是横屏
isPortrait            : 当前是否是竖屏
dimBackground         : 调整窗口的透明度  1.0f,0.5f 变暗
setLandscape          : 设置Activity为横屏
setPortrait           : 设置Activity为竖屏
setActivityFullScreen : 设置全屏,要在setContentView之前调用

pull解析xml管理类 → XmlParseUtiles

getXmlList   : 解析XML
getXmlObject : 解析XML
setXmlValue  : 把xml标签的值,转换成对象里属性的值

压缩工具类 → ZipUtil

zipFiles              : 批量压缩文件(夹)
upZipFile             : 解压缩一个文件
upZipSelectedFile     : 解压文件名包含传入文字的文件
getEntriesNames       : 获得压缩文件内文件列表
getEntriesEnumeration : 获得压缩文件内压缩文件对象以取得其属性
getEntryComment       : 取得压缩文件对象的注释
getEntryName          : 取得压缩文件对象的名称
zipFile               : 压缩文件

Fragment管理类 → FragmentUtils

addFragment              : 新增fragment
addFragment              : 新增fragment
hideAddFragment          : 先隐藏后新增fragment
addFragments             : 新增多个fragment
removeFragment           : 移除fragment
removeToFragment         : 移除到指定fragment
removeFragments          : 移除同级别fragment
removeAllFragments       : 移除所有fragment
replaceFragment          : 替换fragment
popFragment              : 出栈fragment
popToFragment            : 出栈到指定fragment
popFragments             : 出栈同级别fragment
popAllFragments          : 出栈所有fragment
popAddFragment           : 先出栈后新增fragment
hideFragment             : 隐藏fragment
hideFragments            : 隐藏同级别fragment
showFragment             : 显示fragment
hideShowFragment         : 先隐藏后显示fragment
getLastAddFragment       : 获取同级别最后加入的fragment
getLastAddFragmentInStack: 获取栈中同级别最后加入的fragment
getTopShowFragment       : 获取顶层可见fragment
getTopShowFragmentInStack: 获取栈中顶层可见fragment
getFragments             : 获取同级别fragment
getFragmentsInStack      : 获取栈中同级别fragment
getAllFragments          : 获取所有fragment
getAllFragmentsInStack   : 获取栈中所有fragment
getPreFragment           : 获取目标fragment的前一个fragment
findFragment             : 查找fragment
dispatchBackPress        : 处理fragment回退键
setBackgroundColor       : 设置背景色
setBackgroundResource    : 设置背景资源
setBackground            : 设置背景

AES对称加密 → AESUtils

initKey : 生成密钥
encrypt : 加密
decrypt : 解密

DES对称加密 → DESUtils

initKey : 生成密钥
encrypt : DES 加密
decrypt : DES 解密

MD5加密 → MD5Utils

encryptMD5 : MD5加密

SHA-1加密不可逆 → SHAUtils

encryptSHA : SHA-512 加密

3DES对称加密 → TripleDESUtils

initKey : 生成密钥
encrypt : 3DES 加密
decrypt : 3DES 解密

加密工具类 → [CipherUtils]

md5 : 输入流转md5
XorEncode : 异或加密
XorDecode : 异或解密
sha1 : 字符串sha1值

About

    这里把开发中常用的一些工具类做一个整理,主要用到的时候不用再费力的百度或者Google了,大家有需要的可以随时借鉴走,同时也希望这个越来越强大,有什么错误的地方还希望各位不吝指出,让我得以完善,当然,在此声明,这些并不是我一个人,也用了许多前辈们的东西,这里一并感谢,目前还在测试,持续更新中。对你有用就给一个Start吧!

Travis branch Travis CircleCI TeamCity (simple build status) Travis

Download

Gradle:

implementation 'com.abrahamcaijin.commonutil:CommonUtil:1.0.3'

Maven:

<dependency>
  <groupId>com.abrahamcaijin.commonutil</groupId>
  <artifactId>CommonUtil</artifactId>
  <version>1.0.3</version>
  <type>pom</type>
</dependency>

Ivy:

<dependency org='com.abrahamcaijin.commonutil' name='CommonUtil' rev='1.0.3'>
  <artifact name='CommonUtil' ext='pom' ></artifact>
</dependency>

How to use

这里说明一下,发布1.0.2的时候手抖,把初始化改成了Utils,除了1.0.2,其他的版本号都是AppUtils
// init it in the function of onCreate in ur Application
1.0.1  1.0.3...
AppUtils.init(context);
1.0.2
Utils.init(context);

注:有些方法可能只更新到了GitHub上,还没更到jcenter上面,所以最好使用的时候拷贝到自己项目中使用,这样也能减少资源占用

Proguard

-keep class com.jingewenku.abrahamcaijin.commonutil.** { *; }
-keepclassmembers class com.jingewenku.abrahamcaijin.commonutil.** { *; }
-dontwarn com.jingewenku.abrahamcaijin.commonutil.**

About

快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、Star

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages