美文网首页管理Android developerAndroidWorld
Android开发人员不得不收集的代码(持续更新中)

Android开发人员不得不收集的代码(持续更新中)

作者: Blankj | 来源:发表于2016-07-31 04:22 被阅读120252次

    Download

    Gradle:

    compile 'com.blankj:utilcode:1.10.0'
    

    How to use

    // init it in the function of onCreate in ur Application
    Utils.init(application);
    

    Proguard

    -keep class com.blankj.utilcode.** { *; }
    -keepclassmembers class com.blankj.utilcode.** { *; }
    -dontwarn com.blankj.utilcode.**
    

    APIs

    isActivityExists               : 判断 Activity 是否存在
    startActivity                  : 启动 Activity
    startActivities                : 启动多个 Activity
    startHomeActivity              : 回到桌面
    getActivityList                : 获取 Activity 栈链表
    getLauncherActivity            : 获取启动项 Activity
    getTopActivity                 : 获取栈顶 Activity
    isActivityExistsInStack        : 判断 Activity 是否存在栈中
    finishActivity                 : 结束 Activity
    finishToActivity               : 结束到指定 Activity
    finishOtherActivities          : 结束所有其他类型的 Activity
    finishAllActivities            : 结束所有 Activity
    finishAllActivitiesExceptNewest: 结束除最新之外的所有 Activity
    
    isInstallApp         : 判断 App 是否安装
    installApp           : 安装 App(支持 8.0)
    installAppSilent     : 静默安装 App
    uninstallApp         : 卸载 App
    uninstallAppSilent   : 静默卸载 App
    isAppRoot            : 判断 App 是否有 root 权限
    launchApp            : 打开 App
    exitApp              : 关闭应用
    getAppPackageName    : 获取 App 包名
    getAppDetailsSettings: 获取 App 具体设置
    getAppName           : 获取 App 名称
    getAppIcon           : 获取 App 图标
    getAppPath           : 获取 App 路径
    getAppVersionName    : 获取 App 版本号
    getAppVersionCode    : 获取 App 版本码
    isSystemApp          : 判断 App 是否是系统应用
    isAppDebug           : 判断 App 是否是 Debug 版本
    getAppSignature      : 获取 App 签名
    getAppSignatureSHA1  : 获取应用签名的的 SHA1 值
    isAppForeground      : 判断 App 是否处于前台
    getForegroundApp     : 获取前台应用包名
    getAppInfo           : 获取 App 信息
    getAppsInfo          : 获取所有已安装 App 信息
    cleanAppData         : 清除 App 所有数据
    
    getStatusBarHeight                   : 获取状态栏高度(px)
    setStatusBarVisibility               : 设置状态栏是否可见
    isStatusBarVisible                   : 判断状态栏是否可见
    addMarginTopEqualStatusBarHeight     : 为 view 增加 MarginTop 为状态栏高度
    subtractMarginTopEqualStatusBarHeight: 为 view 减少 MarginTop 为状态栏高度
    setStatusBarColor                    : 设置状态栏颜色
    setStatusBarAlpha                    : 设置状态栏透明度
    setStatusBarColor4Drawer             : 为 DrawerLayout 设置状态栏颜色
    setStatusBarAlpha4Drawer             : 为 DrawerLayout 设置状态栏透明度
    getActionBarHeight                   : 获取 ActionBar 高度
    setNotificationBarVisibility         : 设置通知栏是否可见
    getNavBarHeight                      : 获取导航栏高度
    setNavBarVisibility                  : 设置导航栏是否可见
    setNavBarImmersive                   : 设置导航栏沉浸式
    isNavBarVisible                      : 判断导航栏是否可见
    
    getInstance    : 获取缓存实例
    put            : 缓存中写入数据
    getBytes       : 缓存中读取字节数组
    getString      : 缓存中读取 String
    getJSONObject  : 缓存中读取 JSONObject
    getJSONArray   : 缓存中读取 JSONArray
    getBitmap      : 缓存中读取 Bitmap
    getDrawable    : 缓存中读取 Drawable
    getParcelable  : 缓存中读取 Parcelable
    getSerializable: 缓存中读取 Serializable
    getCacheSize   : 获取缓存大小
    getCacheCount  : 获取缓存个数
    remove         : 根据键值移除缓存
    clear          : 清除所有缓存
    
    cleanInternalCache   : 清除内部缓存
    cleanInternalFiles   : 清除内部文件
    cleanInternalDbs     : 清除内部数据库
    cleanInternalDbByName: 根据名称清除数据库
    cleanInternalSP      : 清除内部 SP
    cleanExternalCache   : 清除外部缓存
    cleanCustomCache     : 清除自定义目录下的文件
    
    closeIO       : 关闭 IO
    closeIOQuietly: 安静关闭 IO
    
    bytes2HexString, hexString2Bytes        : byteArr 与 hexString 互转
    chars2Bytes, bytes2Chars                : charArr 与 byteArr 互转
    memorySize2Byte, byte2MemorySize        : 以 unit 为单位的内存大小与字节数互转
    byte2FitMemorySize                      : 字节数转合适内存大小
    timeSpan2Millis, millis2TimeSpan        : 以 unit 为单位的时间长度与毫秒时间戳互转
    millis2FitTimeSpan                      : 毫秒时间戳转合适时间长度
    bytes2Bits, bits2Bytes                  : bytes 与 bits 互转
    input2OutputStream, output2InputStream  : inputStream 与 outputStream 互转
    inputStream2Bytes, bytes2InputStream    : inputStream 与 byteArr 互转
    outputStream2Bytes, bytes2OutputStream  : outputStream 与 byteArr 互转
    inputStream2String, string2InputStream  : inputStream 与 string 按编码互转
    outputStream2String, string2OutputStream: outputStream 与 string 按编码互转
    bitmap2Bytes, bytes2Bitmap              : bitmap 与 byteArr 互转
    drawable2Bitmap, bitmap2Drawable        : drawable 与 bitmap 互转
    drawable2Bytes, bytes2Drawable          : drawable 与 byteArr 互转
    view2Bitmap                             : view 转 Bitmap
    dp2px, px2dp                            : dp 与 px 互转
    sp2px, px2sp                            : sp 与 px 互转
    
    init: 初始化
    
    isDeviceRooted   : 判断设备是否 rooted
    getSDKVersion    : 获取设备系统版本号
    getAndroidID     : 获取设备 AndroidID
    getMacAddress    : 获取设备 MAC 地址
    getManufacturer  : 获取设备厂商
    getModel         : 获取设备型号
    shutdown         : 关机
    reboot           : 重启
    reboot2Recovery  : 重启到 recovery
    reboot2Bootloader: 重启到 bootloader
    
    isEmpty   : 判断对象是否为空
    isNotEmpty: 判断对象是否非空
    
    urlEncode          : URL 编码
    urlDecode          : URL 解码
    base64Encode       : Base64 编码
    base64Encode2String: Base64 编码
    base64Decode       : Base64 解码
    base64UrlSafeEncode: Base64URL 安全编码
    htmlEncode         : Html 编码
    htmlDecode         : Html 解码
    
    encryptMD2, encryptMD2ToString                        : MD2 加密
    encryptMD5, encryptMD5ToString                        : MD5 加密
    encryptMD5File, encryptMD5File2String                 : MD5 加密文件
    encryptSHA1, encryptSHA1ToString                      : SHA1 加密
    encryptSHA224, encryptSHA224ToString                  : SHA224 加密
    encryptSHA256, encryptSHA256ToString                  : SHA256 加密
    encryptSHA384, encryptSHA384ToString                  : SHA384 加密
    encryptSHA512, encryptSHA512ToString                  : SHA512 加密
    encryptHmacMD5, encryptHmacMD5ToString                : HmacMD5 加密
    encryptHmacSHA1, encryptHmacSHA1ToString              : HmacSHA1 加密
    encryptHmacSHA224, encryptHmacSHA224ToString          : HmacSHA224 加密
    encryptHmacSHA256, encryptHmacSHA256ToString          : HmacSHA256 加密
    encryptHmacSHA384, encryptHmacSHA384ToString          : HmacSHA384 加密
    encryptHmacSHA512, encryptHmacSHA512ToString          : HmacSHA512 加密
    encryptDES, encryptDES2HexString, encryptDES2Base64   : DES 加密
    decryptDES, decryptHexStringDES, decryptBase64DES     : DES 解密
    encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES 加密
    decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES 解密
    encryptAES, encryptAES2HexString, encryptAES2Base64   : AES 加密
    decryptAES, decryptHexStringAES, decryptBase64AES     : AES 解密
    
    writeFileFromIS            : 将输入流写入文件
    writeFileFromBytesByStream : 将字节数组写入文件
    writeFileFromBytesByChannel: 将字节数组写入文件
    writeFileFromBytesByMap    : 将字节数组写入文件
    writeFileFromString        : 将字符串写入文件
    readFile2List              : 读取文件到字符串链表中
    readFile2String            : 读取文件到字符串中
    readFile2BytesByStream     : 读取文件到字节数组中
    readFile2BytesByChannel    : 读取文件到字节数组中
    readFile2BytesByMap        : 读取文件到字节数组中
    setBufferSize              : 设置缓冲区尺寸
    
    getFileByPath             : 根据文件路径获取文件
    isFileExists              : 判断文件是否存在
    rename                    : 重命名文件
    isDir                     : 判断是否是目录
    isFile                    : 判断是否是文件
    createOrExistsDir         : 判断目录是否存在,不存在则判断是否创建成功
    createOrExistsFile        : 判断文件是否存在,不存在则判断是否创建成功
    createFileByDeleteOldFile : 判断文件是否存在,存在则在创建之前删除
    copyDir                   : 复制目录
    copyFile                  : 复制文件
    moveDir                   : 移动目录
    moveFile                  : 移动文件
    deleteDir                 : 删除目录
    deleteFile                : 删除文件
    deleteAllInDir            : 删除目录下所有东西
    deleteFilesInDir          : 删除目录下所有文件
    deleteFilesInDirWithFilter: 删除目录下所有过滤的文件
    listFilesInDir            : 获取目录下所有文件
    listFilesInDirWithFilter  : 获取目录下所有过滤的文件
    getFileLastModified       : 获取文件最后修改的毫秒时间戳
    getFileCharsetSimple      : 简单获取文件编码格式
    getFileLines              : 获取文件行数
    getDirSize                : 获取目录大小
    getFileSize               : 获取文件大小
    getDirLength              : 获取目录长度
    getFileLength             : 获取文件长度
    getFileMD5                : 获取文件的 MD5 校验码
    getFileMD5ToString        : 获取文件的 MD5 校验码
    getDirName                : 根据全路径获取最长目录
    getFileName               : 根据全路径获取文件名
    getFileNameNoExtension    : 根据全路径获取文件名不带拓展名
    getFileExtension          : 根据全路径获取文件拓展名
    
    add                   : 新增 fragment
    show                  : 显示 fragment
    hide                  : 隐藏 fragment
    showHide              : 先显示后隐藏 fragment
    replace               : 替换 fragment
    pop                   : 出栈 fragment
    popTo                 : 出栈到指定 fragment
    popAll                : 出栈所有 fragment
    remove                : 移除 fragment
    removeTo              : 移除到指定 fragment
    removeAll             : 移除所有 fragment
    getTop                : 获取顶部 fragment
    getTopInStack         : 获取栈中顶部 fragment
    getTopShow            : 获取顶部可见 fragment
    getTopShowInStack     : 获取栈中顶部可见 fragment
    getFragments          : 获取同级别的 fragment
    getFragmentsInStack   : 获取同级别栈中的 fragment
    getAllFragments       : 获取所有 fragment
    getAllFragmentsInStack: 获取栈中所有 fragment
    findFragment          : 查找 fragment
    dispatchBackPress     : 处理 fragment 回退键
    setBackgroundColor    : 设置背景色
    setBackgroundResource : 设置背景资源
    setBackground         : 设置背景
    
    bitmap2Bytes, bytes2Bitmap      : bitmap 与 byteArr 互转
    drawable2Bitmap, bitmap2Drawable: drawable 与 bitmap 互转
    drawable2Bytes, bytes2Drawable  : drawable 与 byteArr 互转
    view2Bitmap                     : view 转 bitmap
    getBitmap                       : 获取 bitmap
    scale                           : 缩放图片
    clip                            : 裁剪图片
    skew                            : 倾斜图片
    rotate                          : 旋转图片
    getRotateDegree                 : 获取图片旋转角度
    toRound                         : 转为圆形图片
    toRoundCorner                   : 转为圆角图片
    addCornerBorder                 : 添加圆角边框
    addCircleBorder                 : 添加圆形边框
    addReflection                   : 添加倒影
    addTextWatermark                : 添加文字水印
    addImageWatermark               : 添加图片水印
    toAlpha                         : 转为 alpha 位图
    toGray                          : 转为灰度图片
    fastBlur                        : 快速模糊
    renderScriptBlur                : renderScript 模糊图片
    stackBlur                       : stack 模糊图片
    save                            : 保存图片
    isImage                         : 根据文件名判断文件是否为图片
    getImageType                    : 获取图片类型
    compressByScale                 : 按缩放压缩
    compressByQuality               : 按质量压缩
    compressBySampleSize            : 按采样大小压缩
    
    getInstallAppIntent        : 获取安装 App(支持 6.0)的意图
    getUninstallAppIntent      : 获取卸载 App 的意图
    getLaunchAppIntent         : 获取打开 App 的意图
    getAppDetailsSettingsIntent: 获取 App 具体设置的意图
    getShareTextIntent         : 获取分享文本的意图
    getShareImageIntent        : 获取分享图片的意图
    getComponentIntent         : 获取其他应用组件的意图
    getShutdownIntent          : 获取关机的意图
    getCaptureIntent           : 获取拍照的意图
    
    showSoftInput                   : 动态显示软键盘
    hideSoftInput                   : 动态隐藏软键盘
    toggleSoftInput                 : 切换键盘显示与否状态
    isSoftInputVisible              : 判断软键盘是否可见
    registerSoftInputChangedListener: 注册软键盘改变监听器
    clickBlankArea2HideSoftInput    : 点击屏幕空白区域隐藏软键盘
    
    getConfig               : 获取 log 配置
    Config.setLogSwitch     : 设置 log 总开关
    Config.setConsoleSwitch : 设置 log 控制台开关
    Config.setGlobalTag     : 设置 log 全局 tag
    Config.setLogHeadSwitch : 设置 log 头部信息开关
    Config.setLog2FileSwitch: 设置 log 文件开关
    Config.setDir           : 设置 log 文件存储目录
    Config.setFilePrefix    : 设置 log 文件前缀
    Config.setBorderSwitch  : 设置 log 边框开关
    Config.setConsoleFilter : 设置 log 控制台过滤器
    Config.setFileFilter    : 设置 log 文件过滤器
    Config.setStackDeep     : 设置 log 栈深度
    v                       : tag 为类名的 Verbose 日志
    vTag                    : 自定义 tag 的 Verbose 日志
    d                       : tag 为类名的 Debug 日志
    dTag                    : 自定义 tag 的 Debug 日志
    i                       : tag 为类名的 Info 日志
    iTag                    : 自定义 tag 的 Info 日志
    w                       : tag 为类名的 Warn 日志
    wTag                    : 自定义 tag 的 Warn 日志
    e                       : tag 为类名的 Error 日志
    eTag                    : 自定义 tag 的 Error 日志
    a                       : tag 为类名的 Assert 日志
    aTag                    : 自定义 tag 的 Assert 日志
    file                    : log 到文件
    json                    : log 字符串之 json
    xml                     : log 字符串之 xml
    
    openWirelessSettings  : 打开网络设置界面
    isConnected           : 判断网络是否连接
    isAvailableByPing     : 判断网络是否可用
    getMobileDataEnabled  : 判断移动数据是否打开
    setMobileDataEnabled  : 打开或关闭移动数据
    isMobileData          : 判断网络是否是移动数据
    is4G                  : 判断网络是否是 4G
    getWifiEnabled        : 判断 wifi 是否打开
    setWifiEnabled        : 打开或关闭 wifi
    isWifiConnected       : 判断 wifi 是否连接状态
    isWifiAvailable       : 判断 wifi 数据是否可用
    getNetworkOperatorName: 获取移动网络运营商名称
    getNetworkType        : 获取当前网络类型
    getIPAddress          : 获取 IP 地址
    getDomainAddress      : 获取域名 ip 地址
    
    isEmpty   : 判断对象是否为空
    isNotEmpty: 判断对象是否非空
    equals    : 判断对象是否相等
    
    isPhone            : 判断设备是否是手机
    getIMEI            : 获取 IMEI 码
    getIMSI            : 获取 IMSI 码
    getPhoneType       : 获取移动终端类型
    isSimCardReady     : 判断 sim 卡是否准备好
    getSimOperatorName : 获取 Sim 卡运营商名称
    getSimOperatorByMnc: 获取 Sim 卡运营商名称
    getPhoneStatus     : 获取手机状态信息
    dial               : 跳至拨号界面
    call               : 拨打 phoneNumber
    sendSms            : 跳至发送短信界面
    sendSmsSilent      : 发送短信
    getAllContactInfo  : 获取手机联系人
    getContactNum      : 打开手机联系人界面点击联系人后便获取该号码
    getAllSMS          : 获取手机短信并保存到 xml 中
    
    getForegroundProcessName  : 获取前台线程包名
    killAllBackgroundProcesses: 杀死所有的后台服务进程
    killBackgroundProcesses   : 杀死后台服务进程
    
    isMobileSimple : 验证手机号(简单)
    isMobileExact  : 验证手机号(精确)
    isTel          : 验证电话号码
    isIDCard15     : 验证身份证号码 15 位
    isIDCard18     : 验证身份证号码 18 位
    isEmail        : 验证邮箱
    isURL          : 验证 URL
    isZh           : 验证汉字
    isUsername     : 验证用户名
    isDate         : 验证 yyyy-MM-dd 格式的日期校验,已考虑平闰年
    isIP           : 验证 IP 地址
    isMatch        : 判断是否匹配正则
    getMatches     : 获取正则匹配的部分
    getSplits      : 获取正则匹配分组
    getReplaceFirst: 替换正则匹配的第一部分
    getReplaceAll  : 替换所有正则匹配的部分
    
    getScreenWidth     : 获取屏幕的宽度(单位:px)
    getScreenHeight    : 获取屏幕的高度(单位:px)
    getScreenDensity   : 获取屏幕密度
    getScreenDensityDpi: 获取屏幕密度 DPI
    setFullScreen      : 设置屏幕为全屏
    setLandscape       : 设置屏幕为横屏
    setPortrait        : 设置屏幕为竖屏
    isLandscape        : 判断是否横屏
    isPortrait         : 判断是否竖屏
    getScreenRotation  : 获取屏幕旋转角度
    screenShot         : 截屏
    isScreenLock       : 判断是否锁屏
    setSleepDuration   : 设置进入休眠时长
    getSleepDuration   : 获取进入休眠时长
    isTablet           : 判断是否是平板
    
    isSDCardEnable: 判断 SD 卡是否可用
    getSDCardPaths: 获取 SD 卡路径
    
    getAllRunningService: 获取所有运行的服务
    startService        : 启动服务
    stopService         : 停止服务
    bindService         : 绑定服务
    unbindService       : 解绑服务
    isServiceRunning    : 判断服务是否运行
    
    execCmd: 是否是在 root 下执行命令
    
    dp2px, px2dp     : dp 与 px 转换
    sp2px, px2sp     : sp 与 px 转换
    applyDimension   : 各种单位转换
    forceGetViewSize : 在 onCreate 中获取视图的尺寸
    measureView      : 测量视图尺寸
    getMeasuredWidth : 获取测量视图宽度
    getMeasuredHeight: 获取测量视图高度
    
    with           : 设置 snackbar 依赖 view
    setMessage     : 设置消息
    setMessageColor: 设置消息颜色
    setBgColor     : 设置背景色
    setBgResource  : 设置背景资源
    setDuration    : 设置显示时长
    setAction      : 设置行为
    setBottomMargin: 设置底边距
    show           : 显示 snackbar
    showSuccess    : 显示预设成功的 snackbar
    showWarning    : 显示预设警告的 snackbar
    showError      : 显示预设错误的 snackbar
    dismiss        : 消失 snackbar
    getView        : 获取 snackbar 视图
    addView        : 添加 snackbar 视图
    
    setFlag           : 设置标识
    setForegroundColor: 设置前景色
    setBackgroundColor: 设置背景色
    setLineHeight     : 设置行高
    setQuoteColor     : 设置引用线的颜色
    setLeadingMargin  : 设置缩进
    setBullet         : 设置列表标记
    setIconMargin     : 设置图标
    setFontSize       : 设置字体尺寸
    setFontProportion : 设置字体比例
    setFontXProportion: 设置字体横向比例
    setStrikethrough  : 设置删除线
    setUnderline      : 设置下划线
    setSuperscript    : 设置上标
    setSubscript      : 设置下标
    setBold           : 设置粗体
    setItalic         : 设置斜体
    setBoldItalic     : 设置粗斜体
    setFontFamily     : 设置字体系列
    setTypeface       : 设置字体
    setAlign          : 设置对齐
    setClickSpan      : 设置点击事件
    setUrl            : 设置超链接
    setBlur           : 设置模糊
    setShader         : 设置着色器
    setShadow         : 设置阴影
    setSpans          : 设置样式
    append            : 追加样式字符串
    appendLine        : 追加一行样式字符串
    appendImage       : 追加图片
    appendSpace       : 追加空白
    create            : 创建样式字符串
    
    getInstance: 获取 SP 实例
    put        : SP 中写入数据
    getString  : SP 中读取 String
    getInt     : SP 中读取 int
    getLong    : SP 中读取 long
    getFloat   : SP 中读取 float
    getBoolean : SP 中读取 boolean
    getAll     : SP 中获取所有键值对
    contains   : SP 中是否存在该 key
    remove     : SP 中移除该 key
    clear      : SP 中清除所有数据
    
    isEmpty         : 判断字符串是否为 null 或长度为 0
    isTrimEmpty     : 判断字符串是否为 null 或全为空格
    isSpace         : 判断字符串是否为 null 或全为空白字符
    equals          : 判断两字符串是否相等
    equalsIgnoreCase: 判断两字符串忽略大小写是否相等
    null2Length0    : null 转为长度为 0 的字符串
    length          : 返回字符串长度
    upperFirstLetter: 首字母大写
    lowerFirstLetter: 首字母小写
    reverse         : 反转字符串
    toDBC           : 转化为半角字符
    toSBC           : 转化为全角字符
    
    millis2String           : 将时间戳转为时间字符串
    string2Millis           : 将时间字符串转为时间戳
    string2Date             : 将时间字符串转为 Date 类型
    date2String             : 将 Date 类型转为时间字符串
    date2Millis             : 将 Date 类型转为时间戳
    millis2Date             : 将时间戳转为 Date 类型
    getTimeSpan             : 获取两个时间差(单位:unit)
    getFitTimeSpan          : 获取合适型两个时间差
    getNowMills             : 获取当前毫秒时间戳
    getNowString            : 获取当前时间字符串
    getNowDate              : 获取当前 Date
    getTimeSpanByNow        : 获取与当前时间的差(单位:unit)
    getFitTimeSpanByNow     : 获取合适型与当前时间的差
    getFriendlyTimeSpanByNow: 获取友好型与当前时间的差
    getMillis               : 获取与给定时间等于时间差的时间戳
    getString               : 获取与给定时间等于时间差的时间字符串
    getDate                 : 获取与给定时间等于时间差的 Date
    getMillisByNow          : 获取与当前时间等于时间差的时间戳
    getStringByNow          : 获取与当前时间等于时间差的时间字符串
    getDateByNow            : 获取与当前时间等于时间差的 Date
    isToday                 : 判断是否今天
    isLeapYear              : 判断是否闰年
    getChineseWeek          : 获取中式星期
    getUSWeek               : 获取美式式星期
    getWeekIndex            : 获取星期索引
    getWeekOfMonth          : 获取月份中的第几周
    getWeekOfYear           : 获取年份中的第几周
    getChineseZodiac        : 获取生肖
    getZodiac               : 获取星座
    
    setGravity     : 设置吐司位置
    setBgColor     : 设置背景颜色
    setBgResource  : 设置背景资源
    setMessageColor: 设置消息颜色
    showShort      : 显示短时吐司
    showLong       : 显示长时吐司
    showCustomShort: 显示短时自定义吐司
    showCustomLong : 显示长时自定义吐司
    cancel         : 取消吐司显示
    
    zipFile           : 压缩文件
    unzipFile         : 解压文件
    unzipFileByKeyword: 解压带有关键字的文件
    getFilesPath      : 获取压缩文件中的文件路径链表
    getComments       : 获取压缩文件中的注释链表
    

    相关文章

      网友评论

      • ac25d35663ec:搞个陌陌注册不封号有⼁乛⼀乛
      • Listen丿聆风:github地址多少,可否告知一下
        Blankj:@Listen丿聆风 你这都找不到那就不要当程序员了吧
      • 03019de0e4f1:/**
        * 获得某年某月有多少天
        *
        * @param month 查询的月
        * @param year 查询的年
        * @Return 查询的年月有多少天数
        */
        public static int getDaysForMonth(int month , int year) {
        if (month == 2) {
        boolean is29Feb = false;

        if (year < 1582)
        is29Feb = (year < 1 ? year + 1 : year) % 4 == 0;
        else if (year > 1582)
        is29Feb = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);

        return is29Feb ? 29 : 28;
        }

        if (month == 4 || month == 6 || month == 9 || month == 11)
        return 30;
        else
        return 31;
        }
      • 03019de0e4f1:贡献一个. 日期类,获取某年某月有多少日
        public static int getDaysForMonth(int month, int year) {
        if (month == 2) {
        boolean is29Feb = false;

        if (year < 1582)
        is29Feb = (year < 1 ? year + 1 : year) % 4 == 0;
        else if (year > 1582)
        is29Feb = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);

        return is29Feb ? 29 : 28;
        }

        if (month == 4 || month == 6 || month == 9 || month == 11)
        return 30;
        else
        return 31;
        }
      • ba469a78aeb8:@Blankj 你在github上的项目怎么没有了呢
        Blankj:@假如没有将来 在的哦 https://github.com/Blankj 可以看到我的热门项目
      • AmosGole:楼主有些需要权限的Util里面加上权限检查岂不是更好
        Blankj:@AmosGole 一个函数的功能要单一,那你怎么不说Api里的文件操作函数怎么不自带异步功能呢
      • 时光不止我爱她:为啥最新的版本里面没有线程池帮助类?
        Blankj:@时光不止我爱她 嗯 文章里都有说明的
        时光不止我爱她:@Blankj 我要自己复制过来吗
        Blankj:@时光不止我爱她 不常用的都放在subutil里了
      • 戴定康:还在更新吗,这篇文章。subutil 的怎么不放上来@Blankj
        Blankj:@戴定康 放上来了哈,刚更新
      • hebbkeke:学习了!老铁。
      • 今生挥毫只为你:厉害嘞,才看开头就兴奋得不行了!!!!!!!!!!
      • 6671d2ed30cc:给你打84分。。。
      • 40f614d9bb95:楼主我有个问题,这些utils现在加入jcenter中,万一以后停止维护更新了,我们作为开发者还是一直用这个依赖库会影响到了吗?
        40f614d9bb95:@Blankj Nice
        Blankj:@Amanduzhuojiang 发布的版本我不删除就能用
      • 40f614d9bb95:看得我口吐白沫,脸色苍白!
      • 0a5faa7ab7ab:大神你好 请问一下你这里用到的Utils这个类在哪里
        Blankj:@爱与奇 已经写得很清楚啦
        0a5faa7ab7ab:@Blankj 额 大神这个怎么弄 导入吗
        Blankj:@爱与奇 你compile就有了
      • f5675ac54310:问一下assets中的test_install是做什么的吗
        f5675ac54310:@Blankj Config中的PKG是做什么的
        f5675ac54310:@Blankj 那这个就是没用的是吗?
        Blankj:@霸王被坑 测试安装
      • 吴国友:文档ClipboardUtils不见了....
        Blankj:@吴国友 嗯,看下源码就了解了哦
        吴国友:@Blankj 找到了,谢谢。问个问题CrashUtils里面崩溃相关他是存在本地文件的,对吧?
        Blankj:@吴国友 去github看同目录下的subutil
      • 吴国友:ClipboardUtils怎么不在了
        Blankj:@吴国友 在subutil里,用的话自己拷贝出去
      • 小丸子_unique:Blankj君 , 有了这些utils 再也不要放弃android了
      • 时光不止我爱她:线程池的帮助类为啥删了啊
        Blankj:@时光不止我爱她 去github看最新的哈
        时光不止我爱她:@Blankj 这是啥为啥,这个utils里面有啥区别
        Blankj:@时光不止我爱她 放在subutil里了
      • 吴_旭东:谢楼主分享!已收藏!😁😁😁
      • dongbingliu:给力,平常开发可以参考
      • 苏村的南哥:谁都别拦我,我要抱一下大腿!
      • GG_Jin:整理的很好 收藏了 谢谢楼主
      • 温温温888:牛逼牛逼
      • 9f685af58423:mark,都是常用的代码😂
      • etrnel:更新狂魔😂😂
      • violentV:厉害了,这得整理多久才有这成绩
      • 神龙摆尾me:SPUtiles构造里的 sp = Utils.getContext().getSharedPreferences 。 那个Utils是哪个Utiles?
        神龙摆尾me:@Blankj 这个我晓得,我以为你有更安全的初始化的方法,我自己手动加上了,调用的时候传一个context
        Blankj:@神龙摆尾me 欢迎github看源码,其实Utils作用就是初始化context
      • duoduo7628:TimeUtils 里面这个方法 private static String millis2FitTimeSpan(long millis, int precision) {}
        做成public的吧。
        我想将一个毫秒时间转化成 是几天几小时几分钟这样的。 (比如传入 10000 就返回 10秒)
        Blankj:@duoduo7628 convertutils在
      • dabf8e02a0f4:当初star的时候只有6000多,现在都过万了,厉害了,word哥!double 666~:+1:
        Blankj:@FiiiiiiizZ 毕竟一直在更新
      • 橙一升:各种Utils收集的很全
      • duoduo7628:加密EncryptUtils.encryptAES2Base64等 AES加密,需要加密的明文必须是32位!这样很不方便。可以是不必须32位的。所以改一下。
        Blankj:@duoduo7628 我去了解一下
      • NathansLiu:突然摔倒什么也不扶 就服你
      • 8fe7508004e9:有没有关于https的?!
        Blankj:@jack一毛 为何不用第三方的?
      • 23131d6450cb:真的膜拜,好全啊,并且都很好用很经典,抓紧比照着改改自己的烂代码
        Blankj:@23131d6450cb :smile:
      • 大七哥:厉害了:+1:
      • 豆奶不好喝:您好 请问这个有没有jar包啊
        Blankj:@豆奶不好喝 as编译一下aar里面就有
      • 74895e17b2af:博主,所有的功能是不是都已经加了对动态权限的处理了?
        74895e17b2af:@Blankj 哦哦!谢谢博主,知了
        Blankj:@周颖深圳 没有哈
      • 豆Dou豆:这些都是工具类的源码吗?
        Blankj:@豆Dou豆 点进去就有
      • 8ab78d1faaa8:使用locationutils 华为P9 7.0系统GPS打开了也获取不到定位信息。
        Blankj:@OFF_LINE 6.0以上gps要权限的吗
      • 郑捡书:牛逼如你
      • 简写简书:404 哟。
        简写简书:@Blankj 感谢!
        Blankj:@简写简书 已解决
        Blankj:有些改了没更新README
      • 不安分的搞笑派:很多的工具类已经报404错误了...
        Blankj:@不安分的搞笑派 已解决
        Blankj:@不安分的搞笑派 没来得及修改readme 哈
      • ToNext:很不错,准备全部搬到项目中,之前单独写的工具类太零碎,用起来也是不方便,现在看到如此完整的,直接撸过来:clap:
        Blankj:@ToNext 把使用到的考过去就好了
      • 周大侠侠侠侠侠侠侠侠侠侠侠侠侠:无解的赞,以前都是自己写的,突然发现还有这么完善的,无敌!!!
        Blankj:@Mr_周大侠 :smiley:
      • luobaixun:太棒了
      • 梨落520:楼主
        Utils.init(context);
        是写在application中吗?之前用也没注意
        f3f4672ef98e:我也觉得应该在application初始化,不然每次调用都在activity初始化太费事
        Blankj:@梨落520 在你调用跟安卓相关工具类之前初始化一次就行
      • DunnLin:带走带走
      • 46b1434d316d:厉害了我的哥
      • 吴国友:楼主你好,我这有个问题,就是我们开发用Android studio ,这样依赖是没有问题的。但是我有一批学生,用的是eclipse(因为是学生,用的是学校的机房),我想把这个好东西引荐给他们,不知道eclipse里面能不能用
        吴国友:@Blankj 好的
        Blankj:@吴国友 as编译一下,生成aar,解压缩打开里面就有jar包
      • 碧海鱼龙:谢谢博主,真的很方便呢!提个微不足道的建议,正则工具类里面加入密码正则,效果更好!
        Blankj:@最后的大魔王 密码严格度都不太同,可以调用我最后留用的自定义正则就好了
      • 轲叶:卧槽,这篇文章好牛逼,绝对实用
      • Alien的小窝:写的非常棒额,特地来赞一个
        Blankj:@编程之乐 (๑'ᴗ')ゞ:hibiscus:送你朵小花
      • 朋友你的学生卡掉了:好早之前就在GitHub看到这个项目了,今天终于看到作者的
        Blankj:@朋友你的学生卡掉了 欢迎来到简书哈
      • 没有梦想的小透明:LZV5,持续关注~
      • Q大疯zi:这么好的东西必须收藏
      • 这个网名厉害了:希望能支持6.0,能加一个运行时权限的工具
        Blankj:@这个网名厉害了 还没呢,一直比较忙,之前一直在整理fragment
      • 这个网名厉害了:是不是没有列出权限?
      • suym:https://github.com/suyimin/RecyclerViewDemo
        Blankj:@suym ??我这又不是发链接的地方。。
      • 殷志杰:好东西
      • 小宋敲码:干货!!我就不客气了!!!
      • 走在路上從未回頭:这东西必有收藏啊
        以后绝对用得到
        Blankj:@走在路上從未回頭 :sunglasses:
      • eca314e60474:造福程序猿
      • SkyRiN:Write the code.Change the world:+1:
        Blankj:@skyrin :relaxed:
      • 翰墨小生:已收入箧中,必须支持!
      • 小如童童:遇到一个奇怪的问题啊,只要加了这个库,用snackbar就会报错,已经提到issue上面了,请看一下
        Blankj:@小如童童 什么错
      • 41b5db6748f8:厉害了我的哥
      • 263ef79dfff9:感谢分享
      • 迟道:你这个可以 ,费心了,必须赞
      • ae14e5518257:点进github才发现已经star了
      • 5d1e9c97ba75:谢谢,非常有用,受益
      • 2dc3adee0e79:厉害了 word哥 留着备用
      • day_day_study:感谢LZ,
      • 将进酒_杯莫停:请问作者,这些工具类经过了单元测试嘛?
        Blankj:@大尾巴鹰 仔细看
      • 将进酒_杯莫停:无情的扣走!:grin:
      • duoduo7628:没有sharePreferenceUtils!!!!!!
        Blankj:@duoduo7628 SPUtils
      • qzwlf:谢谢
      • 895630673af2:简直大全
      • 沈敏杰:nice! 辛苦了博主
        Blankj:@沈敏杰 (^し^)
      • 79fa269fdbf9:博主这个Utils.init(context);是什么意思?这些工具类不是直接通过类名就可以调用的吗
        Blankj:@一歩 有些需要依赖app的context,就不需要你们每次都传了
      • f940cce96ace:很棒!
      • 1ad92cd7017d:收藏了
      • 6926dc9644c6:666666,持续关注;
      • Jafir:请问有没有测验过 加入工程给 APK占多大?
        Blankj:@Jafir 我之前说错了哈,你compile了就会引用进去,我现在编译出来的aar是171K
        Jafir: @Blankj 哦 这样啊 不用到 就不会编译进去么
        Blankj:@Jafir 这得看你引用了几个类啊

      本文标题:Android开发人员不得不收集的代码(持续更新中)

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