![image](https://github.com/tamsiree/RxTool/raw/master/miku.png) 工欲善其事必先利其器! Android开发过程经常需要用到各式各样的工具类,虽然大部分只需谷歌/百度一下就能找到; 但是有时候急需使用却苦苦搜寻不到,于是整理了自己平常用到的工具类,以便以后的使用。 ## 自定义控件介绍 | Name | description | Module | ---------- | ------------- | ------------- | RxAutoImageView | ImageView实现自动左右移动效果 | RxUI | RxBarCode | 条形码控件 | RxUI | RxCaptcha | 验证码控件 | RxUI | RxCardStackView | 银行卡组叠加效果 | RxUI | RxCobwebView | 蛛网等级控件 | RxUI | RxHeartLayout | 直播爱心点赞控件 | RxUI | RxNetSpeedView | 显示当前网速控件 | RxUI | RxPopupView | 自定义PopupWindow控件 | RxUI | RxProgressBar | 自定义进度条 | RxUI | RxQRCode | 二维码控件 | RxUI | RxRoundProgress | 实现弧形进度条 | RxUI | RxRulerWheelView | 刻度横向滚动控件 | RxUI | RxRunTextView | TextView实现跑马灯效果 | RxUI | RxScaleImageView | 图片缩放控件 | RxUI | RxSeatAirplane | 飞机票选座控件 | RxUI | RxSeatMovie | 电影院选座控件 | RxUI | RxShineButton | 点赞按钮 | RxUI | RxShoppingView | 商品数量加减控件 | RxUI | RxSwipeCaptcha | 滑块验证码控件(仿斗鱼验证码) | RxUI | RxTextAutoZoom | 文字根据布局大小自动缩放效果 | RxUI | RxTextViewVertical | 单行文字上下滚动 | RxUI | RxTextViewVerticalMore | 多行文字上下滚动 | RxUI | RxTitle | 自定义标题控件 | RxUI | RxToast | Toast的封装 | RxKit ## Activity的封装 | Name | description | Module | ---------- | ------------- | ------------- | ActivityBase | 封装了FragmentActivity与Context成员参数 | RxUI | ActivityBaseLocation | 封装了定位操作的Activity | RxUI | ActivityCodeTool | 封装了生成二维码与条形码的Activity | RxFeature | ActivityScanerCode | 封装了扫描二维码与条形码的Activity | RxFeature | ActivityWebView | 封装了可播放视频、获取网页标题并可根据内容自动适应大小WebView的Activity | RxUI ## Dialog的封装(RxDialog) | Name | description | ---------- | ------------- | skipTools | 隐藏头部导航栏状态栏 | setFullScreen | 文字根据布局大小自动缩放效果 | setFullScreenWidth | 设置宽度match_parent | setFullScreenHeight | 设置高度为match_parent | setOnWhole | 设置成全局Dialog ## 功能模块介绍 RxTool(常用功能) | Name | description | ---------- | ------------- | init | RxKit库的初始化方法 | getContext | 获取Application的Context | delayToDo | 执行延时任务 | countDown | 倒计时(获取验证码倒计时) | fixListViewHeight | 手动计算出listView的高度,但是不再具有滚动效果 | Md5 | 生成MD5加密32位字符串 | getResIdByName | 根据资源名称获取资源id | isFastClick | 判断控件是否被快速点击 | setEdTwoDecimal | 首位小数点自动加零,最多两位小数 | setEdType | EditText 只允许输入数字和汉字 | setEdDecimal | 首位小数点自动加零 | setEditNumberAuto | 数字前自动补零(例如:1 格式化成 001) | setEditNumber | 数字前补零(例如:1 格式化成 001) | getBackgroundHandler | 获取用于后台运行的Handler RxActivityTool(Activity相关) | Name | description | ---------- | ------------- | addActivity | 添加Activity 到栈 | currentActivity | 获取当前的Activity(堆栈中最后一个压入的) | finishActivity | 结束当前Activity(堆栈中最后一个压入的) | finishAllActivity | 结束所有的Activity | AppExit | 退出当前APP | getActivityStack | 获取Activity栈 || | 单个Activity操作 | | isExistActivity | 判断是否存在指定Activity | launchActivity | 打开指定的Activity | skipActivity | 跳转到指定Activity | skipActivityAndFinish | 跳转到指定Activity并关闭当前Activity | skipActivityAndFinishAll | 跳转后Finish之前所有的Activity | skipActivityForResult | activityForResult封装 | getLauncherActivity | 获取launcher activity RxAnimationTool(动画相关) | Name | description | ---------- | ------------- | animationColorGradient | 颜色渐变动画 | cardFilpAnimation | 卡片翻转动画 | zoomIn | 缩小动画 | zoomOut | 放大动画 RxAppTool(应用相关) | Name | description | ---------- | ------------- | InstallAPK | 安装APK | installApp | 安装App(支持7.0) | installAppSilent | 静默安装App | uninstallApp | 卸载App | uninstallAppSilent | 静默卸载App | isAppRoot | 判断App是否有root权限 | launchApp | 打开App | getAppPackageName | 获取App包名 | getAppDetailsSettings | 获取App具体设置 | getAppName | 获取App名称 | getAppIcon | 获取App图标 | getAppPath | 获取App路径 | getAppVersionName | 获取App版本号 | getAppVersionCode | 获取App版本码 | isSystemApp | 判断App是否是系统应用 | isAppDebug | 判断App是否是Debug版本 | getAppSignature | 获取App签名 | getAppSignatureSHA1 | 获取应用签名的的SHA1值 | isInstallApp | 判断App是否安装 | getAppInfo | 获取当前App信息 | getBean | 得到AppInfo的Bean | getAllAppsInfo | 获取所有已安装App信息 | isAppBackground | 判断当前App处于前台还是后台 RxBarTool(状态栏相关) | Name | description | ---------- | ------------- | setTransparentStatusBar | 设置透明状态栏(api大于19方可使用) | hideStatusBar | 隐藏状态栏 | noTitle | 隐藏Title | FLAG_FULLSCREEN | 设置全屏 | getStatusBarHeight | 获取状态栏高度 | isStatusBarExists | 判断状态栏是否存在 | getActionBarHeight | 获取ActionBar高度 | showNotificationBar | 显示通知栏 | hideNotificationBar | 隐藏通知栏 | invokePanels | 反射唤醒通知栏 RxBroadcastTool(广播工具类) | Name | description | ---------- | ------------- | BroadcastReceiverNetWork | 监听网络状态改变的广播 | initRegisterReceiverNetWork | 注册监听网络状态的广播 RxCameraTool(摄像机相关) | Name | description | ---------- | ------------- | openFlashLight | 打开闪光灯 | closeFlashLight | 关闭闪光灯 RxClipboardTool(剪贴板相关) | Name | description | ---------- | ------------- | copyText | 复制文本到剪贴板 | getText | 获取剪贴板的文本 | copyUri | 复制uri到剪贴板 | getUri | 获取剪贴板的uri | copyIntent | 复制意图到剪贴板 | getIntent | 获取剪贴板的意图 RxConstTool(常量相关) | Name | description | ---------- | ------------- | 存储相关常量 | | BYTE | Byte与Byte的倍数 | KB | KB与Byte的倍数 | MB | MB与Byte的倍数 | GB | GB与Byte的倍数 | 时间相关常量| | MSEC | 毫秒与毫秒的倍数 | SEC | 秒与毫秒的倍数 | MIN | 分与毫秒的倍数 | HOUR | 时与毫秒的倍数 | DAY | 天与毫秒的倍数 | 正则相关常量| | REGEX_MOBILE_SIMPLE | 手机号(简单) | REGEX_MOBILE_EXACT | 手机号(精确) | REGEX_TEL | 电话号码 | REGEX_IDCARD15 | 身份证号码15位 | REGEX_IDCARD18 | 身份证号码18位 | REGEX_EMAIL | 邮箱 | REGEX_URL | URL | REGEX_CHZ | 汉字 | REGEX_USERNAME | 用户名,取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位 | REGEX_DATE | yyyy-MM-dd格式的日期校验,已考虑平闰年 | REGEX_IP | IP地址 RxDataTool(数据处理相关) | Name | description | ---------- | ------------- | 数据的判断| | isNullString | 判断字符串是否为空 为空即true | isEmpty | 判断对象是否为空 为空即true | isInteger | 判断字符串是否是整数 | isDouble | 判断字符串是否是浮点数 | isNumber | 判断字符串是否是数字 | getAstro | 根据日期判断星座 || | 数据的转换| | stringToInt | 字符串转换成整数 ,转换失败将会 return 0; | stringToLong | 字符串转换成long ,转换失败将会 return 0; | stringToDouble | 字符串转换成double ,转换失败将会 return 0; | simpleDateFormat | 将date转换成format格式的日期 | Date2Timestamp | 将日期字符串 按照 指定的格式 转换成 DATE | getDate | 时间戳 转换成 指定格式的日期 | string2Timestamp | 将 yyyy年MM月dd日 转换成 时间戳 | getCurrentDateTime | 获取当前日期时间 / 得到今天的日期 | getYestoryDate | 得到昨天的日期 | formatTime | 视频时间 转换成 "mm:ss" | formatSeconds | "mm:ss" 转换成 视频时间 | getDaysByYearMonth | 根据年 月 获取对应的月份 天数 | StringToInputStream | 字符串转InputStream | upperFirstLetter | 首字母大写 | lowerFirstLetter | 首字母小写 | reverse | 反转字符串 | toDBC | 转化为半角字符 | toSBC | 转化为全角字符 | oneCn2ASCII | 单个汉字转成ASCII码 | oneCn2PY | 单个汉字转成拼音 | getPYFirstLetter | 获得第一个汉字首字母 | cn2PY | 中文转拼音 | bytes2HexString | byteArr转hexString | hexString2Bytes | hexString转byteArr | hex2Dec | hexChar转int | chars2Bytes | charArr转byteArr | bytes2Chars | byteArr转charArr | byte2Size | 字节数转以unit为单位的size | size2Byte | 以unit为单位的size转字节数 | byte2FitSize | 字节数转合适大小 | input2OutputStream | inputStream转outputStream | output2InputStream | outputStream转inputStream | inputStream2Bytes | inputStream转byteArr | bytes2InputStream | byteArr转inputStream | outputStream2Bytes | outputStream转byteArr | bytes2OutputStream | outputStream转byteArr | inputStream2String | inputStream转string按编码 | string2InputStream | string转inputStream按编码 | outputStream2String | outputStream转string按编码 | string2OutputStream | string转outputStream按编码 RxDeviceTool(设备工具类) | Name | description | ---------- | ------------- | 设备屏幕相关| | getScreenHeight | 得到屏幕的高 | getScreenWidth | 得到屏幕的宽 | getScreenWidths | 得到设备屏幕的宽度 | getScreenHeights | 得到设备屏幕的高度 | getScreenDensity | 得到设备的密度 || | 显示屏幕相关| | setLandscape | 设置屏幕为横屏 | setPortrait | 设置屏幕为竖屏 | isLandscape | 判断是否横屏 | isPortrait | 判断是否竖屏 | getScreenRotation | 获取屏幕旋转角度 | captureWithStatusBar | 获取当前屏幕截图,包含状态栏 | captureWithoutStatusBar | 获取当前屏幕截图,不包含状态栏 | getDisplayMetrics | 获取DisplayMetrics对象 | isScreenLock | 判断是否锁屏 || | 硬件信息相关| | getUniqueSerialNumber | 获取手机唯一标识序列号 | getIMEI | 获取设备的IMEI | getIMSI | 获取设备的IMSI | getDeviceSoftwareVersion | 获取设备的软件版本号 | getLine1Number | 获取手机号 | getNetworkCountryIso | 获取ISO标准的国家码,即国际长途区号 | getNetworkOperator | 获取设备的 MCC + MNC | getNetworkOperatorName | 获取(当前已注册的用户)的名字 | getNetworkType | 获取当前使用的网络类型 | getPhoneType | 获取手机类型 | getSimCountryIso | 获取SIM卡的国家码 | getSimOperator | 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字 | getSimOperatorName | 获取服务商名称 | getSimSerialNumber | 获取SIM卡的序列号 | getSimState | 获取SIM的状态信息 | getSubscriberId | 获取唯一的用户ID | getVoiceMailNumber | 获取语音邮件号码 | getAndroid_id | 获取ANDROID ID | getBuildBrandModel | 获取设备型号,如MI2SC | getBuildBrand | 获取设备品牌名称 | getBuildMANUFACTURER | 获取设备厂商,如Xiaomi | getSerialNumber | 获取序列号 | getAppVersionNo | 获取App版本号 | getAppVersionName | 获取App版本名称 | checkPermission | 检查权限 | getDeviceInfo | 获取设备信息 | ThroughArray | 遍历LOG输出HashMap | getMacAddress | 获取设备MAC地址 || | 手机操作相关| | isPhone | 判断设备是否是手机 | getPhoneStatus | 获取手机状态信息 | dial | 跳至填充好phoneNumber的拨号界面 | callPhone | 拨打电话 | sendSms | 发送短信 | getAllContactInfo | 获取手机联系人 | getContantNum | 打开手机联系人界面点击联系人后便获取该号码 | getAllSMS | 获取手机短信并保存到xml中 RxEncodeTool(编码解码相关工具类) | Name | description | ---------- | ------------- | urlEncode | URL编码 | urlDecode | URL解码 | base64Encode | Base64编码 | base64Encode2String | Base64编码 | base64Decode | Base64解码 | base64UrlSafeEncode | Base64URL安全编码 | htmlEncode | Html编码 | htmlDecode | Html解码 RxEncryptTool(加密解密相关的工具类) | Name | description | ---------- | ------------- | 哈希加密相关| | encryptMD2ToString | MD2加密 | encryptMD2 | MD2加密 | encryptMD5ToString | MD5加密 | encryptMD5 | MD5加密 | encryptMD5File2String | MD5加密文件 | encryptMD5File | MD5加密文件 | encryptSHA1ToString | SHA1加密 | encryptSHA1 | SHA1加密 | encryptSHA224ToString | SHA224加密 | encryptSHA224 | SHA224加密 | encryptSHA256ToString | SHA256加密 | encryptSHA256 | SHA256加密 | encryptSHA384ToString | SHA384加密 | encryptSHA384 | SHA384加密 | encryptSHA512ToString | SHA512加密 | encryptSHA512 | SHA512加密 | encryptAlgorithm | 对data进行algorithm算法加密 || | DES加密相关| | DESTemplet | DES加密 | encryptDES | DES加密 | encryptDES2Base64 | DES加密后转为Base64编码 | encryptDES2HexString | DES加密后转为16进制 | decryptBase64DES | DES解密Base64编码密文 | decryptHexStringDES | DES解密16进制密文 | decryptDES | DES解密 || | 3DES加密相关| | encrypt3DES2Base64 | 3DES加密后转为Base64编码 | encrypt3DES2HexString | 3DES加密后转为16进制 | encrypt3DES | 3DES加密 | decryptBase64_3DES | 3DES解密Base64编码密文 | decryptHexString3DES | 3DES解密16进制密文 | decrypt3DES | 3DES解密 || | AES加密相关| | encryptAES2Base64 | AES加密后转为Base64编码 | encryptAES2HexString | AES加密后转为16进制 | encryptAES | AES加密 | decryptBase64AES | AES解密Base64编码密文 | decryptHexStringAES | AES解密16进制密文 | decryptAES | AES解密 RxExifTool(图片信息操作相关) | Name | description | ---------- | ------------- | writeLatLonIntoJpeg | 将经纬度信息写入JPEG图片文件里 RxFileTool(文件操作相关) | Name | description | ---------- | ------------- | SD卡操作| | getRootPath | 得到SD卡根目录 | getCecheFolder | 获取本应用图片缓存目录 | isSDCardEnable | 判断SD卡是否打开 | getSDCardPath | 获取SD卡路径 | getDataPath | 获取SD卡Data路径 | getFreeSpace | 获取SD卡剩余空间 | sdCardIsAvailable | SD卡是否可用 || | 文件操作| | fileExists | 文件或者文件夹是否存在 | delAllFile | 删除指定文件夹下所有文件, 不保留文件夹. | copy | 文件复制(文件路径) | copyFile | 复制文件(文件/InputStream流) | copyFolder | 复制整个文件夹内 | renameFile | 重命名文件 | getSDCardAvailaleSize | 获取磁盘可用空间 | getDirSize | 获取某个目录可用大小 | getFileAllSize | 获取文件或者文件夹大小 | initFile | 创建一个文件 | initDirectory | 创建一个文件夹 | saveFile | 保存InputStream流到文件 | saveFileUTF8 | 用UTF8保存一个文件 | getFileUTF8 | 用UTF8读取一个文件 | getFileIntent | 得到一个文件Intent | getDiskCacheDir | 获取缓存目录 | getDiskFileDir | 获取缓存视频文件目录 | mergeFiles | 多个文件拼接合并 | getNativeM3u | 将在线的m3u8替换成本地的m3u8 | write | 将字符串 保存成 文件 | TextToFile | 传入文件名以及字符串, 将字符串信息保存到文件中 | GetAllFileName | 获取 搜索的路径 下的 所有 后缀 的文件 | readFileByLines | 以行为单位读取文件,常用于读面向行的格式化文件 | getFileByPath | 根据文件路径获取文件 | isFileExists | 判断文件是否存在 | isDir | 判断是否是目录 | isFile | 判断是否是文件 | createOrExistsDir | 判断目录是否存在,不存在则判断是否创建成功 | createOrExistsFile | 判断文件是否存在,不存在则判断是否创建成功 | createFileByDeleteOldFile | 判断文件是否存在,存在则在创建之前删除 | copyOrMoveDir | 复制或移动目录 | copyOrMoveFile | 复制或移动文件 | copyDir | 复制目录 | copyFile | 复制文件 | moveDir | 移动目录 | moveFile | 移动文件 | deleteDir | 删除目录 | deleteFile | 删除文件 | listFilesInDir | 获取目录下所有文件 | listFilesInDirWithFilter | 获取目录下所有后缀名为suffix的文件 | searchFileInDir | 获取目录下指定文件名的文件包括子目录 | writeFileFromIS | 将输入流写入文件 | writeFileFromString | 将字符串写入文件 | readFile2List | 指定编码按行读取文件到List | readFile2String | 指定编码按行读取文件到字符串中 | readFile2Bytes | 指定编码按行读取文件到字符数组中 | getFileCharsetSimple | 简单获取文件编码格式 | getFileLines | 获取文件行数 | getFileSize | 获取文件大小 | getFileMD5 | 获取文件的MD5校验码 | closeIO | 关闭IO | getDirName | 获取全路径中的最长目录 | getFileName | 获取全路径中的文件名 | getFileNameNoExtension | 获取全路径中的不带拓展名的文件名 | getFileExtension | 获取全路径中的文件拓展名 || | 清除数据| | cleanInternalCache | 清除内部缓存 | cleanInternalFiles | 清除内部文件 | cleanInternalDbs | 清除内部数据库 | cleanInternalDbByName | 根据名称清除数据库 | cleanInternalSP | 清除内部SP | cleanExternalCache | 清除外部缓存 | cleanCustomCache | 清除自定义目录下的文件 RxFragmentTool(Fragment操作相关) | Name | description | ---------- | ------------- | showFragment | 显示当前Fragment RxImageTool(图像操作相关) | Name | description | ---------- | ------------- | 单位转换| | dp2px | dp转px | dip2px | dip转px | px2dp | px转dp | px2dip | px转dip | sp2px | sp转px | px2sp | px转sp || | 图片处理相关 | | bitmap2Bytes | bitmap转byteArr | bytes2Bitmap | byteArr转bitmap | drawable2Bitmap | drawable转bitmap | bitmap2Drawable | bitmap转drawable | drawable2Bytes | drawable转byteArr | bytes2Drawable | byteArr转drawable | calculateInSampleSize | 计算采样大小 | getBitmap | 从文件/InputStream流/resId中获取bitmap | scale | 缩放图片 | clip | 裁剪图片 | skew | 倾斜图片 | rotate | 旋转图片 | getRotateDegree | 获取图片旋转角度 | toRound | 转为圆形图片 | toRoundCorner | 转为圆角图片 | fastBlur | 快速模糊 | renderScriptBlur | renderScript模糊图片(API大于17) | stackBlur | stack模糊图片 | addFrame | 添加颜色边框 | addReflection | 添加倒影 | addTextWatermark | 添加文字水印 | addImageWatermark | 添加图片水印 | toAlpha | 转为alpha位图 | toGray | 转为灰度图片 | save | 保存图片 | isImage | 根据文件名判断文件是否为图片 | getImageType | 获取图片类型 || | 图片压缩有关 | | compressByScale | 按缩放压缩 | compressByQuality | 按质量压缩 | compressBySampleSize | 按采样大小压缩 || | GetLocalOrNetBitmap | 得到本地或者网络上的bitmap | getColorByInt | 将16进制的颜色转化成10进制 | FilpAnimation | 界面翻转动画 RxIntentTool(Intent相关) | Name | description | ---------- | ------------- | getInstallAppIntent | 获取安装App(支持7.0)的意图 | getUninstallAppIntent | 获取卸载App的意图 | getLaunchAppItent | 获取打开App的意图 | getAppInfoIntent | 获取App信息的意图 | getShareInfoIntent | 获取App信息分享的意图 | getIntentByPackageName | 根据包名获取意图 | getComponentNameIntent | 获取其他应用的Intent RxKeyboardTool(键盘相关) | Name | description | ---------- | ------------- | hideSoftInput | 动态隐藏软键盘 | showSoftInput | 动态显示软键盘 | toggleSoftInput | 切换键盘显示与否状态 RxLocationTool(定位相关) | Name | description | ---------- | ------------- | isGpsEnabled | 判断Gps是否可用 | isLocationEnabled | 判断定位是否可用 | openGpsSettings | 打开Gps设置界面 | registerLocation | 注册Location | unRegisterLocation | 注销Location | getAddress | 根据经纬度获取地理位置 | getCountryName | 根据经纬度获取所在国家 | getLocality | 根据经纬度获取所在地 | getStreet | 根据经纬度获取所在街道 | gpsToDegree | GPS坐标 转换成 角度(例如 113.202222 转换成 113°12′8″) | GPS84ToGCJ02 | 国际 GPS84 坐标系 转换成 [国测局坐标系] 火星坐标系 (GCJ-02) | GCJ02ToGPS84 | [国测局坐标系] 火星坐标系 (GCJ-02) 转换成 国际 GPS84 坐标系 | GCJ02ToBD09 | 火星坐标系 (GCJ-02) 转换成 百度坐标系 (BD-09) | BD09ToGCJ02 | 百度坐标系 (BD-09) 转换成 火星坐标系 (GCJ-02) | BD09ToGPS84 | 百度坐标系 (BD-09) 转换成 国际 GPS84 坐标系 | outOfChina | 判断经纬度是否在中国范围内 RxNetTool(网络相关) | Name | description | ---------- | ------------- | ping | 判断是否有外网连接 | isWifiEnabled | 判断WIFI是否打开 | is3rd | 判断是否为3G网络 | isWifi | 判断网络连接方式是否为WIFI | isNetworkAvailable | 判断网络连接是否可用 | isGpsEnabled | GPS是否打开 | getNetWork | 获取当前网络状态 | openWirelessSettings | 打开网络设置界面 | getActiveNetworkInfo | 获取活动网络信息 | isAvailable | 判断网络是否可用 | isConnected | 判断网络是否连接 | is4G | 判断网络是否是4G | isWifiConnected | 判断wifi是否连接状态 | getNetworkOperatorName | 获取移动网络运营商名称 | getPhoneType | 获取移动终端类型 | getNetWorkType | 获取当前的网络类型 | getNetWorkTypeName | 获取当前的网络类型名称 RxPermissionsTool(权限请求操作工具类) | Name | description | ---------- | ------------- | addPermission | 添加权限 | initPermission | 请求权限 RxPhotoTool(图片获取相关) | Name | description | ---------- | ------------- | openCameraImage | 调用系统相机 | openLocalImage | 调用系统相册 | cropImage | 裁剪图片 | createImagePathUri | 创建一条图片地址uri,用于保存拍照后的照片 | getRealFilePath | 获取图片uri的真实文件地址 RxPictureTool(拍照相关) | Name | description | ---------- | ------------- | getOpenCameraIntent | 获取打开照程序界面的Intent | getImagePickerIntent | 获取[跳转至相册选择界面,并跳转至裁剪界面,可以指定是否缩放裁剪区域]的Intent | getCameraIntent | 获取[跳转至相册选择界面,并跳转至裁剪界面,默认可缩放裁剪区域]的Intent | getCropImageIntent | 获取[跳转至裁剪界面]的Intent | getChoosedImage | 获得选中相册的图片 | getChoosedImagePath | 获得选中相册的图片路径 | getTakePictureFile | 获取拍照之后的照片文件(JPG格式) RxProcessTool(进程相关) | Name | description | ---------- | ------------- | getForegroundProcessName | 获取前台线程包名 | getAllBackgroundProcesses | 获取后台服务进程 | killAllBackgroundProcesses | 杀死所有后台服务进程 | killBackgroundProcesses | 杀死后台服务进程 RxRegTool(正则判断相关) | Name | description | ---------- | ------------- | 正则判断| | isMobile | 判断是否为真实手机号 | isMobileSimple | 验证手机号(简单) | isMobileExact | 验证手机号(精确) | isTel | 验证电话号码 | isBankCard | 验证银卡卡号 | validateIdCard | 15位和18位身份证号码的正则表达式 身份证验证 | isIDCard15 | 验证身份证号码15位 | isIDCard18 | 验证身份证号码18位 | isEmail | 验证邮箱 | isURL | 验证URL | isChz | 验证汉字 | isUsername | 验证用户名 | isDate | 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 | isIP | 验证IP地址 | isMatch | string是否匹配regex | stringFormat | String.Format方法的封装 || | hideMobilePhone | 隐藏手机中间4位号码 | formatCard | 格式化银行卡 隐藏中间8位号码 | formatCardEndFour | 获取银行卡后四位 | format2Decimals | 将字符串格式化为带两位小数的字符串 RxServiceTool(Service相关) | Name | description | ---------- | ------------- | isRunningService | 获取服务是否开启 RxShellTool(Shell相关) | Name | description | ---------- | ------------- | isRoot | 判断设备是否root | execCmd | 是否是在root下执行命令 RxSPTool(SharedPreferences相关) | Name | description | ---------- | ------------- | putContent | 单条方式存入SharedPreferences | getContent | 获取标记为tag的值 | putJSONCache | 存放JSON缓存数据 | readJSONCache | 读取JSON缓存数据 | clearPreference | 清除指定的信息(若为null 则删除name下所有的键值) RxThreadPoolTool(线程池相关工具类) | Name | description | ---------- | ------------- | RxThreadPoolTool | ThreadPoolTool构造函数 | execute | 在未来某个时间执行给定的命令(链表) | shutDown | 待以前提交的任务执行完毕后关闭线程池 | shutDownNow | 试图停止所有正在执行的活动任务 | isShutDown | 判断线程池是否已关闭 | isTerminated | 关闭线程池后判断所有任务是否都已完成 | awaitTermination | 请求关闭、发生超时或者当前线程中断 | submit | 提交一个Runnable任务用于执行 | invokeAll | 执行给定的任务 | invokeAny | 执行给定的任务 | schedule | 延迟执行Runnable命令 | scheduleWithFixedRate | 延迟并循环执行命令 | scheduleWithFixedDelay | 延迟并以固定休息时间循环执行命令 RxTimeTool(时间相关) | Name | description | ---------- | ------------- | milliseconds2String | 将时间戳转为时间字符串 | string2Milliseconds | 将时间字符串转为时间戳 | string2Date | 将时间字符串转为Date类型 | date2String | 将Date类型转为时间字符串 | date2Milliseconds | 将Date类型转为时间戳 | milliseconds2Date | 将时间戳转为Date类型 | milliseconds2Unit | 毫秒时间戳单位转换 | getIntervalTime | 获取两个时间差 | getCurTimeMills | 获取当前时间戳 | getCurTimeString | 获取当前时间字符串 | getCurTimeDate | 获取当前时间 | getIntervalByNow | 获取与当前时间的差 | isLeapYear | 判断闰年 RxZipTool(压缩相关) | Name | description | ---------- | ------------- | zipFiles | 批量压缩文件 | zipFile | 压缩文件 | unzipFiles | 批量解压文件 | unzipFile | 解压文件 | unzipFileByKeyword | 解压带有关键字的文件 | getFilesPath | 获取压缩文件中的文件路径链表 | getComments | 获取压缩文件中的注释链表 | getEntries | 获取压缩文件中的文件对象 ## 支付工具类 ### 支付宝支付: AliPayTools.aliPay(mContext, APP_ID,//支付宝分配的APP_ID isRSA2,//是否是 RSA2 加密 RSA_PRIVATE,// RSA 或 RSA2 字符串 new AliPayModel(order_id,//订单ID (唯一) money,//价格 name,//商品名称 detail),//商品描述详情 (用于显示在 支付宝 的交易记录里) new onRequestListener() { @Override public void onSuccess(String s) {RxToast.success("支付成功");} @Override public void onError(String s) {RxToast.error("支付失败"); } }); ### 微信支付: > 第一种情景: 支付操作全部在APP端完成(包括统一下单接口) 即支付过程无后台参与 WechatPayTools.wechatPayUnifyOrder(mContext, WX_APP_ID, //微信分配的APP_ID WX_PARTNER_ID, //微信分配的 PARTNER_ID (商户ID) WX_PRIVATE_KEY, //微信分配的 PRIVATE_KEY (私钥) new WechatModel(order_id, //订单ID (唯一) money, //价格 name, //商品名称 detail), //商品描述详情 new onRequestListener() { @Override public void onSuccess(String s) {} @Override public void onError(String s) {} }); > 第二种情景: 从后台获取到 prepayid(预支付订单ID) 之后,在App端进行支付操作 wechatPayApp(mContext, app_id, //微信分配的APP_ID partner_id, //微信分配的 PARTNER_ID (商户ID) wx_private_key, //微信分配的 PRIVATE_KEY (私钥) prepay_id, //订单ID (唯一) new onRequestListener() { @Override public void onSuccess(String s) {} @Override public void onError(String s) {} }); ### 微信分享: > 分享网页 WechatShareTools.init(mContext, WX_APP_ID);//初始化 String url = "https://github.com/tamsiree/RxTool";//网页链接 String description = "工欲善其事必先利其器!";//描述 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);//获取Bitmap byte[] bitmapByte = RxImageTool.bitmap2Bytes(bitmap, Bitmap.CompressFormat.PNG);//将 Bitmap 转换成 byte[] mWechatShareModel = new WechatShareModel(url, "APP名称", description, bitmapByte); //Friend 分享微信好友,Zone 分享微信朋友圈,Favorites 分享微信收藏 WechatShareTools.shareURL(mWechatShareModel, WechatShareTools.SharePlace.Friend);//分享操作