Android快速开发工具类收集
这里把开发中常用的一些工具类做一个整理,主要用到的时候不用再费力的百度或者Google了,大家有需要的可以随时借鉴走,同时也希望这个越来越强大
Android 工具类
共2569Star
详细介绍
如果您觉得本项目不错的话,来个star支持下作者吧!
快速开发工具类收集,史上最全的开发工具类 CommonUtilLibrary
常用的自定义view和第三方类库 CommonUILibrary
ViewPager无限滚动循环,支持Fragment和View,可自定义 LoopViewPager
底部导航+LinearLayout+Navigation+RecycleView+CardView+个人中心 BottomAndShapeDemo
API
BankCheck
银行卡管理 →checkBankCard : 校验银行卡卡号是否合法
getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
getNameOfBank : 通过银行卡的前六位确定判断银行开户行及卡种
AppSharePreferenceMgr
SharePreference缓存数据 →put : 保存数据的方法
get : 获取数据的方法
putImage: 保存图片到SharedPreferences
getImage: 从SharedPreferences读取图片
remove : 移除某个key值已经对应的值
clear : 清除所有数据
contains: 查询某个key是否已经存在
getAll : 返回所有的键值对
AppCleanMgr
提供App数据清理工作的类 →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 : 清除所有数据
AppExit2Back
App应用退出 →exitApp: 退出App程序应用
AppDavikActivityMgr
管理和回收Activity →getScreenManager : 单例堆栈集合对象
removeActivity : 堆栈中销毁并移除
removeAllActivity : 栈中销毁并移除所有Act对象
currentActivity : 取当前Act对象
getCurrentActivityName: 获得当前Act的类名
addActivity : 将Act纳入推栈集合中
exitApp : 退出栈中所有Activity
AppApplicationMgr
获取App应用版本信息 →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
更多使用方法信息点击这里查看:AppNetworkMgr
App网络管理 →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
AppScreenMgr
有关Android屏幕的工具类 →getScreenWidth : 获得屏幕宽度
getScreenHeight : 获得屏幕高度
getStatusHeight : 获得状态栏的高度
getRealScreenHeight : 获取整块屏幕的高度
getNavigationAreaHeight : 获取虚拟按键区域的高度
getNavigationBarrH : 获取导航栏高度
snapShotWithStatusBar : 获取当前屏幕截图,包含状态栏
snapShotWithoutStatusBar : 获取当前屏幕截图,不包含状态栏
getTitleBarHeight : 获得标题栏高度
getStatusBarHeight : 获取通知栏高度
takeScreenShot : 获取指定Activity的截屏,保存到png文件
savePic : 保存bitmap
captureWebView : 截取webView快照(webView加载的整个内容的大小)
shoot : 截屏并保存
shootWebView : 截屏并保存
AppSysMgr
获取App应用系统基本信息 →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账号
AppToastMgr
自定义Toast提示框 →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 共八位,前四位-年,中间两位-月,最后两位-日
AppWifiHelperMgr
Wifi管理工具类 →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: 给视图添加点击效果,让背景变暗
ViewUtils
view管理类 →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的上下文
AppCalculateMgr
提供APP应用计算,算法等 ->distance : 两点间的距离
pointTotoDegrees: 计算点a(x,y)的角度
checkInRound : 点在圆内
SpannableStringUtils
SpannableString工具类 →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 : 创建样式字符串
SnackbarUtils
Snackbar工具类 →ShortSnackbar : 短显示Snackbar,自定义颜色
LongSnackbar : 长显示Snackbar,自定义颜色
IndefiniteSnackbar: 自定义时常显示Snackbar,自定义颜色
ShortSnackbar : 短显示Snackbar,可选预设类型
LongSnackbar : 显示Snackbar,可选预设类型
IndefiniteSnackbar: 自定义时常显示Snackbar,可选预设类型
setSnackbarColor : 设置Snackbar背景颜色
setSnackbarColor : 设置Snackbar文字和背景颜色
SnackbarAddView : 向Snackbar中添加view
PicassoUtils
Picasso图片加载工具类 →getinstance : 单例对象
LoadImage : 加载图片
LoadImageWithWidtAndHeight: 加载图片,设置宽高,图片默认居中(centerCrop())
GlideUtils
Glide图片加载工具类 →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生命周期控制
FrescoUtils
Fresco图片加载工具类 →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 : 获取自己想要的数据格式
WebServiceUtils
WebService网络工具类 →callWebService: 请求网络数据
HttpURLConnectionUtils
HttpURLConnection网络工具类 →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
JsonUtils
Json工具类 →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 : 进入系统裁剪
CoordinateTransformUtil
GPS坐标转换工具 →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 : 设置程序退出时的提示信息
HtmlUtils
html标签管理类 →addHtmlRedFlag : 为给定的字符串添加HTML红色标记,当使用Html.fromHtml()方式显示到TextView 的时候其将是红色的
keywordMadeRed : 将给定的字符串中所有给定的关键字标红
RootPermissionUtils
root权限工具类 →isRoot : 根据/system/bin/或/system/xbin目录下是否存在su文件判断是否已ROOT
ShortCutUtils
快捷图标管理类 →hasShortcut : 检测是否存在快捷键
addShortcut : 为程序创建桌面快捷方式
delShortcut : 删除程序的快捷方式
SingletonUtils
单例工具类 →getInstance : 获取单例 getInstance : 获取单例
WebViewManager
WebView管理类 →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之前调用
XmlParseUtiles
pull解析xml管理类 →getXmlList : 解析XML
getXmlObject : 解析XML
setXmlValue : 把xml标签的值,转换成对象里属性的值
ZipUtil
压缩工具类 →zipFiles : 批量压缩文件(夹)
upZipFile : 解压缩一个文件
upZipSelectedFile : 解压文件名包含传入文字的文件
getEntriesNames : 获得压缩文件内文件列表
getEntriesEnumeration : 获得压缩文件内压缩文件对象以取得其属性
getEntryComment : 取得压缩文件对象的注释
getEntryName : 取得压缩文件对象的名称
zipFile : 压缩文件
FragmentUtils
Fragment管理类 →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 : 设置背景
AESUtils
AES对称加密 →initKey : 生成密钥
encrypt : 加密
decrypt : 解密
DESUtils
DES对称加密 →initKey : 生成密钥
encrypt : DES 加密
decrypt : DES 解密
MD5Utils
MD5加密 →encryptMD5 : MD5加密
SHAUtils
SHA-1加密不可逆 →encryptSHA : SHA-512 加密
TripleDESUtils
3DES对称加密 →initKey : 生成密钥
encrypt : 3DES 加密
decrypt : 3DES 解密
加密工具类 → [CipherUtils]
md5 : 输入流转md5
XorEncode : 异或加密
XorDecode : 异或解密
sha1 : 字符串sha1值
About
这里把开发中常用的一些工具类做一个整理,主要用到的时候不用再费力的百度或者Google了,大家有需要的可以随时借鉴走,同时也希望这个越来越强大,有什么错误的地方还希望各位不吝指出,让我得以完善,当然,在此声明,这些并不是我一个人,也用了许多前辈们的东西,这里一并感谢,目前还在测试,持续更新中。对你有用就给一个Start吧!
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.**