RxTool Wiki

工欲善其事必先利其器!
Android 开发过程经常需要用到各式各样的工具类,虽然大部分只需谷歌 / 百度一下就能找到;
但是有时候急需使用却苦苦搜寻不到,于是整理了自己平常用到的工具类,以便以后的使用。

自定义 View

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
getBitmapFromNet 从网络上加载 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 获取压缩文件中的文件对象

支付工具类

支付宝支付:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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(" 支付成功 & quot;);}

@Override
public void onError(String s) {RxToast.error(" 支付失败 & quot;);
}
});

微信支付:

第一种情景: 支付操作全部在 APP 端完成(包括统一下单接口) 即支付过程无后台参与

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 端进行支付操作

1
2
3
4
5
6
7
8
9
10
11
12
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) {}
});

微信分享:

分享网页

1
2
3
4
5
6
7
8
9
10
11
12
13
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 名称 & quot;, description, bitmapByte);

//Friend 分享微信好友, Zone 分享微信朋友圈, Favorites 分享微信收藏
WechatShareTools.shareURL(mWechatShareModel, WechatShareTools.SharePlace.Friend);// 分享操作

to be continued…