安卓工具类

作者: ljwheyxy | 来源:发表于2019-03-08 17:54 被阅读104次

    原文:https://www.cnblogs.com/AbrahamCaiJin/p/7154625.html

    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                 : 启动应用
    
    

    软键盘管理 → AppKeyBoardMgr

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

    系统日志输出工具类 → 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连接信息
    
    

    手机管理工具类 → 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中
    
    

    反射工具类 → AppReflectionMgr

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

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

    getStringByAssets: 根据本地Assets目录下资源名称,获取String数据信息
    getListByAssets  : 根据本地Assets目录下资源名称,获取List集合信息
    getStringByRaw   : 根据本地Raw目录下资源标识,获取String数据信息
    getListByRaw     : 根据本地Raw目录下资源标识,获取List集合信息
    
    

    有关Android屏幕的工具类 → AppScreenMgr

    getScreenWidth          : 获得屏幕宽度
    getScreenHeight         : 获得屏幕高度
    getStatusHeight         : 获得状态栏的高度
    getRealScreenHeight     : 获取整块屏幕的高度
    getNavigationAreaHeight : 获取虚拟按键区域的高度
    getNavigationBarrH      : 获取导航栏高度
    snapShotWithStatusBar   : 获取当前屏幕截图,包含状态栏
    snapShotWithoutStatusBar: 获取当前屏幕截图,不包含状态栏
    
    

    获取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)
    
    

    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
    
    

    手机常用单位转换的辅助类 → 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 : 获取单例
    
    

    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了,大家有需要的可以随时借鉴走,同时也希望这个越来越强大,有什么错误的地方还希望各位不吝指出,让我得以完善,当然,在此声明,这些并不是我一个人,也用了许多前辈们的东西,这里一并感谢,目前还在测试,还没有上传到Jcenter,需要的自己拷贝,测试完成后会给大家贴出引用地址的,持续更新中。对你有用就给一个Start吧!

    相关文章

      网友评论

        本文标题:安卓工具类

        本文链接:https://www.haomeiwen.com/subject/nnhdpqtx.html