打造android快速开发的工具类FastAndrUtils

android快速开发工具类

关于

Fastandrutils 是一套整理修改整合的android开发常用的工具类。
这样可以减少复制粘贴代码,从而减少重复代码,也不用为了一个常用的功能去谷歌百度,让代码更简洁,让开发更高效。
同时希望您的添加完善,让android开发变得更简单。

github地址,感兴趣的话,不妨点赞支持下
个人博客

使用

  1. Gradle配置
dependencies {
     compile 'cn.hotapk:fastandrutils:0.4.0'
}
  1. 初始化配置
    在AndroidManifest.xml 的application 添加
android:name="cn.hotapk.fastandrutils.utils.FApplication"

或者

public class 你的application extends FApplication {
    ...
 }

或者
在你的application 添加

   FUtils.init(this);

类说明

类名 描述
FActivityLifecycleCallbacks.java activity 生命周期管理
FAppUtils.java app相关信息
FApplication.java Application
FAssetsARawUtils.java assets raw 相关操作
FCleanUtils.java 清理app缓存
FClickProxy.java 防止重复点击
FCloseUtils.java 关闭数据流
FConvertUtils.java 数据转换
FCrashUtils.java app异常退出捕获
FDBExprotUtils.java 数据库导出到sd卡
FEncryptUtils.java 加密相关
FFileUtils.java 文件操作工具
FHanziToPinyin.java 汉字转拼音
FImageUtils.java 图片工具
FKeyBoardHeightUtils.java 获取键盘高度
FKeyBoardUI.java 软键盘上方显示EditText
FKeyBoardUtils.java 软键盘显示隐藏
FLogNetServer.java 访问手机log内网webservers
FLogUtils.java 日志操作
FManifestUtils.java AndroidManifest.xml操作
FNetworkUtils.java 网络相关
FPermissionUtils.java 权限申请
FPhoneUtils.java 设备相关
FResourcesUtils.java 获取资源相关
FScreenUtils.java 屏幕相关
FSharedPreferencesUtils.java SharedPreferences相关
FTimeUtils.java 时间操作
FToastUtils.java Toast
FUtils.java 初始化该框架
FValidatorUtils.java 验证相关
FZipUtils.java 文件解压缩类
NanoHTTPD.java android 使用的小型简单的webservers
FEmptyView.java 空提示界面

API

  • 类名
    FActivityLifecycleCallbacks.java

  • 说明
    activity 生命周期管理

  • 方法描述

    方法 描述
    addActivity 添加activity
    currentActivity 获取当前activity
    removeActivity 结束activity
    beforeActivity 获取前一个activity
    finishActivity 结束指定类名的activity
    removeAllActivities 销毁所有activity
  • 类名
    FAppUtils.java

  • 说明
    app相关信息

  • 方法描述

    方法 描述
    getAppPackageName 获取App包名
    getAppName 获取App名称
    getVerCode 获取App版本号
    getVerName 获取App版本名称
    installApk 安装App
    uninstallApk 卸载App
    isServiceRunning 检测服务是否运行
    stopRunningService 停止运行服务
    getSign 获取应用签名
    hexdigest 签名byte数组转32位签名字符串
  • 类名
    FApplication.java

  • 说明
    Application

  • 方法描述

  • 类名
    FAssetsARawUtils.java

  • 说明
    assets raw 相关操作

  • 方法描述

    方法 描述
    assetsDataToSD 拷贝assets下的文件到sd卡
    getAssetsToString 读取assets文件内容
    readAssetsByteArray 读取assets文件 转byte数组
    getRawToString 读取raw文件内容
    readRawFileToByteArray 读取raw文件 转byte数组
    copyRawFileToSdcard 复制raw文件到sd卡
  • 类名
    FCleanUtils.java

  • 说明
    清理app缓存

  • 方法描述

    方法 描述
    cleanInternalCache 清除本应用内部缓存
    cleanDatabases 清除本应用所有数据库
    cleanDatabaseByName 按名字清除本应用数据库
    cleanSharedPreference 清除本应用SharedPreference
    cleanFiles 清除本应用files下的内容
    cleanExternalCache 清除外部cache下的内容
    cleanCustomCache 清除自定义路径下的文件
    cleanApplicationData 清除本应用所有及自定义文件路径的数据
  • 类名
    FClickProxy.java

  • 说明
    防止重复点击

  • 方法描述

  • 类名
    FCloseUtils.java

  • 说明
    关闭数据流

  • 方法描述

    方法 描述
    closeIO 关闭IO
  • 类名
    FConvertUtils.java

  • 说明
    数据转换

  • 方法描述

    方法 描述
    string2MD5 对字符串md5加密
    stringToBase64 String转 Base64字符串
    base64ToByte Base64字符串转bytes
    px2dip 将px值转换为dip或dp值
    dip2px 将dip或dp值转换为px值
    px2sp 将px值转换为sp值
    sp2px 将sp值转换为px值
    input2OutputStream inputStream转outputStream
    output2InputStream outputStream转inputStream
    inputStream2Bytes inputStream转byteArr
    bytes2InputStream byteArr转inputStream
    outputStream2Bytes outputStream转byteArr
    bytes2OutputStream byteArr转outputStream
    inputStream2String inputStream转string按编码
    string2InputStream string转inputStream按编码
    outputStream2String outputStream转string按编码
    string2OutputStream string转outputStream按编码
    obj2Map 对象转map
    map2String map转字符串
    getFormatSize 格式化KB MB GB 单位
  • 类名
    FCrashUtils.java

  • 说明
    app异常退出捕获

  • 方法描述

  • 类名
    FDBExprotUtils.java

  • 说明
    数据库导出到sd卡

  • 方法描述

    方法 描述
    startExportDatabase 导出数据库
  • 类名
    FEncryptUtils.java

  • 说明
    加密相关

  • 方法描述

    方法 描述
    encryptMD2ToString MD2加密
    encryptMD5ToString MD5加密
    encryptMD5File2String MD5加密文件
    encryptSHA1ToString SHA1加密
    encryptSHA224ToString SHA224加密
    encryptSHA256ToString SHA256加密
    encryptSHA384ToString SHA384加密
    encryptSHA512ToString SHA512加密
    hashTemplate hash加密模板
    encryptHmacMD5ToString HmacMD5加密
    encryptHmacSHA1ToString HmacSHA1加密
    encryptHmacSHA224ToString HmacSHA224加密
    encryptHmacSHA256ToString HmacSHA256加密
    encryptHmacSHA384ToString HmacSHA384加密
    encryptHmacSHA512ToString HmacSHA512加密
    hmacTemplate Hmac加密模板
    encryptDES DES加密
    decryptDES DES解密
    encrypt3DES 3DES加密
    decrypt3DES 3DES解密
    encryptAES AES加密
    decryptAES AES解密
  • 类名
    FFileUtils.java

  • 说明
    文件操作工具

  • 方法描述

    方法 描述
    getRootDir 获取根目录
    mkDir 可创建文件夹
    creatFile 创建文件
    delFile 删除文件
    delDir 删除文件夹
    copyFileTo 拷贝文件
    moveFileTo 移动文件
    moveFilesTo 移动文件目录
    file2byte 文件转byte数组
    readFile 文件读取
    inputStreamToFile InputStream转文件
    file2Inp 文件转InputStream
    writeText 写入数据到文件
    writeByteArrayToFile byte数组转文件
    appendText 文件追加数据
    appendText 文件追加数据,可追加数据到头部
    getLength 获取文件大小
    getFileName 获取文件名
    exists 判断文件是否存在
    orderByDate 按文件时间排序
    orderByName 按文件名称排序
    orderByLength 按文件大小排序
    filter 文件筛选
    getFiles 获取文件列表
  • 类名
    FHanziToPinyin.java

  • 说明
    汉字转拼音

  • 方法描述

    方法 描述
    get 汉字转拼音
  • 类名
    FImageUtils.java

  • 说明
    图片工具

  • 方法描述

    方法 描述
    bitmap2Bytes bitmap转byteArr
    bytes2Bitmap byteArr转bitmap
    yuv2Jpeg yuv转jpeg
    bitmap2StrByBase64 将Bitmap转换成Base64字符串
    base64ToBitmap Base64字符串转bitmap
    drawable2Bytes drawable转byteArr
    bytes2Drawable byteArr转drawable
    readPictureDegree 读取图片属性:旋转的角度
    rotaingImageView 旋转图片
    drawable2Bitmap drawable转bitmap
    bitmap2Drawable bitmap转drawable
    view2Bitmap view转bitmap
    getBitmap 获取bitmap
    scale 缩放图片
    clip 裁剪图片
    skew 倾斜图片
    rotate 旋转图片
    toRound 转为圆形图片
    toRoundCorner 转为圆角图片
    addCornerBorder 添加圆角边框
    addBorder 添加边框
    addReflection 添加倒影
    addTextWatermark 添加文字水印
    addImageWatermark 添加图片水印
    toAlpha 转为alpha位图
    toGray 转为灰度图片
    fastBlur 高斯模糊
    binaryzation 图片二值化
    save 保存图片
    isImage 根据文件名判断文件是否为图片
    getImageType 获取图片类型
    compressByScale 按缩放压缩
    compressByQuality 按质量压缩
    compressBySampleSize 按采样大小压缩
  • 类名
    FKeyBoardHeightUtils.java

  • 说明
    获取键盘高度

  • 方法描述

  • 类名
    FKeyBoardUI.java

  • 说明
    软键盘上方显示EditText

  • 方法描述

  • 使用方法
    FKeyBoardUI. buildKeyBoardUI(Activity)

  • 类名
    FKeyBoardUtils.java

  • 说明
    软键盘显示隐藏

  • 方法描述

    方法 描述
    openKeybord 打开软键盘
    closeKeybord 关闭软键盘
    hideInputForce 隐藏软键盘
    showInput 打开键盘
  • 类名
    FLogNetServer.java

  • 说明
    访问手机log内网webservers

  • 方法描述

  • 使用
    结合FLogUtils使用

  • 类名
    FLogUtils.java

  • 说明
    日志操作

  • 方法描述

    方法 描述
    startLogServer 启动log的WebServer服务
    stopLogServer 关闭log的WebServer服务
    e 打印log
    setCrash 保存app异常退出时的log
    debug 是否开启bebug模式
    saveSD 是否保存到sd卡
    saveCrash 是否保存crash信息
    setLogSize 设置log文件大小
    setlogDir 设置log文件目录
  • 类名
    FManifestUtils.java

  • 说明
    获取AndroidManifest.xml的部分数据

  • 方法描述

    方法 描述
    getRegPermission 获取manifest有注册的权限
    getApplicationInfo 获取 ApplicationInfo
    getAppMetaData 获取application应用<meta-data>元素
    getAppMetaDataResourceId 获取application应用<meta-data>元素的对应的资源id值
    getActivityInfo 获取 ActivityInfo
    getActivityMetaData 获取activity应用<meta-data>元素
    getActivityMetaDataResourceId 获取activity应用<meta-data>元素的对应的资源id值
    getReceiverMetaData 获取receiver应用<meta-data>元素
    getReceiverMetaDataResourceId 获取receiver应用<meta-data>元素的对应的资源id值
    getServiceInfo 获取ServiceInfo
    getServiceMetaData 获取service应用<meta-data>元素
    getServiceMetaDataResourceId 获取service应用<meta-data>元素的对应的资源id值
  • 类名
    FNetworkUtils.java

  • 说明
    网络相关

  • 方法描述

    方法 描述
    openWirelessSettings 打开网络设置界面
    getActiveNetworkInfo 获取活动网络信息
    isConnected 判断网络是否连接
    getNetworkOperatorName 获取网络运营商名称
    isNetworkAvailable 判断网络连接是否打开,包括移动数据连接
    isWifi 检测当前打开的网络类型是否WIFI
    is3G 检测当前打开的网络类型是否3G
    is4G 检测当前打开的网络类型是否4G
    isWiFi 是否打开Wifi
    setDataEnabled 打开或关闭移动数据
    setWifiEnabled 打开或关闭wifi
    getNetworkType 判断当前是否网络连接
    getUrlParams 获取URL中参数 并返回Map
    getIPAddress 获取ip地址
  • 类名
    FPermissionUtils.java

  • 说明
    权限申请

  • 方法描述

    方法 描述
    onRequestPermissionsResult 请求权限结果
    getDeniedPermissions 获取请求权限中需要授权的权限
    hasAlwaysDeniedPermission 是否彻底拒绝了某项权限
    shouldShowRequestPermissionRationale 是否有权限需要说明提示
    requestPermissions 请求权限
  • 使用
    该方法 onRequestPermissionsResult() 对应到Activity中的 onRequestPermissionsResult()方法。

  • 类名
    FPhoneUtils.java

  • 说明
    设备相关

  • 方法描述

    方法 描述
    isPhone 判断设备是否是手机
    getIMEI 获取IMEI码
    getIMSI 获取IMSI码
    getPhoneType 获取移动终端类型
    isSimCardReady 判断sim卡是否准备好
    getSimOperatorName 获取Sim卡运营商名称
    getSimOperatorName 获取Sim卡运营商名称
    getPhoneStatus 获取手机状态信息
    getAllContactInfo 获取手机联系人
    getAllSMS 获取手机短信并保存到xml中
  • 类名
    FResourcesUtils.java

  • 说明
    获取资源相关

  • 方法描述

    方法 描述
    getAnimResources 获取Anim资源
    getMipmapResources 获取Mipmap资源
    getIdResources 获取Id资源
    getDrawableResources 获取Drawable资源
    getColorResources 获取Color资源
    getStringResources 获取String资源
    getLayoutResources 获取Layout资源
    getAttrResources 获取Attr资源
    getStyleResources 获取Style资源
    getStyleable 获取styleable资源
  • 类名
    FScreenUtils.java

  • 说明
    屏幕相关

  • 方法描述

    方法 描述
    getScreen 获得屏幕宽高pix
    getStatusHeight 获得状态栏的高度pix
    getTitleHeight 获得标题栏的高度pix
    snapShotWithStatusBar 获取当前屏幕截图,包含状态栏
    snapShotWithoutStatusBar 获取当前屏幕截图,不包含状态栏
    setFullScreen 设置屏幕为全屏
    setLandscape 设置屏幕为横屏
    setPortrait 设置屏幕为竖屏
    isLandscape 判断是否横屏
    isPortrait 判断是否竖屏
    getScreenRotation 获取屏幕旋转角度
    isScreenLock 判断是否锁屏
    setSleepDuration 设置进入休眠时长
    getSleepDuration 获取进入休眠时长
    isTablet 判断是否是平板
  • 类名
    FSharedPreferencesUtils.java

  • 说明
    SharedPreferences

  • 方法描述

    方法 描述
    putInt 保存int
    putBoolean 保存Boolean
    putFloat 保存Float
    putLong 保存Long
    putString 保存String
    putStringSet 保存StringSet
    clear 清除数据
    clearByKey 清除key中的数据
  • 类名
    FTimeUtils.java

  • 说明
    时间操作

  • 方法描述

    方法 描述
    stringToDate 字符串转日期类型
    dateToString 日期转字符串
    getDaysOfMonth 获取某年某月的天数
    getToday 获得当前日期
    getToMonth 获得当前月份
    getToYear 获得当前年份
    getDay 返回日期的天
    getYear 返回日期的年
    getMonth 返回日期的月份,1-12
    dayDiff 计算两个日期相差的天数
    yearDiff 比较两个日期的年差
    getFristDayTime 获取一天的开始时间
    getLastDayTime 获取一天的结束时间
    yearDiffCurr 比较指定日期与当前日期的差
    getFirstWeekdayOfMonth 获取每月的第一周
    getLastWeekdayOfMonth 获取每月的最后一周
    getFirstDayOfMonth 获取本月第一天
    getLastDayOfMonth 获取本月最后一天
    isDate 判断日期是否有效,包括闰年的情况
    getAstro 根据生日获取星座
  • 类名
    FToastUtils.java

  • 说明
    Toast

  • 方法描述

    方法 描述
    setConf 配置相关参数
    showMessage 显示短时间的Toast
    showLongMsg 显示长时间的Toast
  • 使用
    FToastUtils. getInstant(). showMessage();
    FToastUtils. getInstant(). setConf(conf).showMessage();

  • 类名
    FUtils.java

  • 说明
    初始化框架

  • 方法描述

  • 使用
    FUtils.init(Application)

  • 类名
    FValidatorUtils.java

  • 说明
    验证相关

  • 方法描述

    方法 描述
    isMobileSimple 验证手机号(简单)
    isMobileExact 验证手机号(精确)
    isTel 验证电话号码
    isIDCard15 验证身份证号码15位
    isIDCard18 验证身份证号码18位
    isEmail 验证邮箱
    isURL 验证URL
    isZh 验证汉字
    isUsername 验证用户名
    isDate 验证yyyy-MM-dd格式的日期校验
    isIP 验证IP地址
    isIP 验证IP地址
  • 类名
    FZipUtils.java

  • 说明
    文件解压缩类

  • 方法描述

    方法 描述
    zipFile 压缩文件
    unzipFile 解压文件
  • 类名
    NanoHTTPD.java

  • 说明
    android 使用的小型简单的webservers

  • 方法描述

  • 使用
    参照
    FLogNetServer.java

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容