AndroidBase基础类文档
#Base基础类文档
## 文件工具类
- `FileUtils`
- `deleteDirOrFile(String path)` 删除目录(目录和文件)
- `isFileExists(String fileName)` 判断文件是否存在
- `mkdirParentDir(String dirstr)` 创建目录
- `getExternalStoreAvailableSize()` 获取外部存储可用的空间
- `nioTransferCopy(File source, File target)` 最快的复制文件方法
- `renameFile(String srcPath, String destPath)` 重命名文件
- `getUriForFile(Context context, File file)` 处理7.0Uri文件获取问题
- `createCheckFileUnderPath(String dir)` 在目录下创建checkfile文件
- `isCheckFileExists(String checkPath)` 检查checkfile文件是否存在
- `deleteCheckFileUnderPath(String contentPath)` 删除目录下的checkfile文件
- `saveContentToFile(String filePath, String data)` 保存文件内容到sd卡上
- `getFileContent(String filePath)` 获取SD卡上文件内容
- `getAssetFile(String filename)` 获取Asset中文件内容
- `zip(String resPath, String zipPath)` 添加目录到压缩包中
- `isFile(String filePath)` 判断是否是文件
- `isDir(String filePath)` 判断是否是文件夹
- `getFileSize(String filePath)` 获取文件大小
## 图片工具类
- `BitmapUtils`
- `saveBitmap(Bitmap bm, String picName)` 将Bitmap保存图片
- `isPicture(String file)` 是否是图片文件
- `display(T container, int resId)` 加载res图片
- `display(T container, int resId, BitmapDisplayConfig displayConfig)` 使用自定义配置加载res图片
- `display(T container, String uri)` 加载 file、url 图片
- `display(T container, String uri, BitmapDisplayConfig displayConfig)` 使用自定义配置加 file、url 图片
- `display(T container, String uri, BitmapDisplayConfig displayConfig, BitmapLoadCallBack<T> callBack)`
- `downImage(final String uri, MyDownloader.ImgCallBack callBack)` 下载图片
- `clearCache(String uri)` 清除图片缓存
- `getDrawable(int resId)` 获取 Drawable
## 网络工具类
- `NetworkUtilsU`
- `isConnected()` 判断网络是否连接
- `getType()` 获取网络类型 0 无网络,1 wifi ,2 cmwap, 3 cmnet
## 字节转换工具
- `ByteUtils`
- `bytesToMKB(long size)` 将字节长度转换成MB 或KB
- `downloadSpeed(long current, long total)` 把下载速度转换成字符串形式 xxMb/s、xxkb/s
## 像素转换工具
- `DpUtils`
- `dp2px(float dpValue)` dp转换成px
- `px2dp(float pxValue)` 将px转换成dp
- `sp2px(float spValue)` 将sp转成px
- `px2sp(float pxValue)` 将px转成sp
## 通知
- `EventBusUtils`
- `register(Object... objects)` 注册
- `unregister(Object... subscribers)` 取消注册
- `post(Object event)` 发通知
- base中的事件
- `DownloadEvent` 文件下载
- `NetStatusChangeEvent` 网络状态变化
- `SDCardNoSpace` 存储卡空间不足
## 加密 sha
- MD5
- `md5(String str)` 计算字符串的md5
- `md5(String str, String charsetName)` 计算固定编码的字符串的md5
- `md5(File file)` 计算文件的md5
## 下载
- `DownloadUtils`
- `addNewDownload(DownloadInfo info)` 新建下载任务
- `pauseDownload(DownloadInfo info)` 暂停下载任务
- `pauseAllDownload()` 停止所有下载任务
- `getDownloadInfo(String key)` 获取下载状态
## IGlobal callback
- `IGlobal` 回调业务层的接口
- `getApplicationContext()` 获取application context
- `getImgCacheDir()` 获取图片缓存路径
- `getHttpCacheDir()` 获取接口缓存路径
- `addSign(View container, String uri, BitmapDisplayConfig displayConfig)`
- `getUniqueDeviceId()` 获取唯一的设备ID,用于后台区分用户账号登录设备数量
- `getApplicationId()` 获取 ApplicationId
- `getCurrentActivity()` 获取当前顶层Activity
- `sendLog(String s)` 发送log到友盟
## 网络请求工具类
- `HttpUtils`
- `post(url, RequestParams<T> requestParams)`
- `RequestParams`
- `initParams(Map<String, Object> map)`
- `hanleResponse(ErrInfo e, String response)`
- `onResponse(ErrInfo e, T response)`
- `onErrorResponse(ErrInfo error)`
## 日志工具类
- `Logger`
- `debug(String paramString)`
- `debug(String paramString, Throwable paramThrowable)`
- `info(String paramString)`
- `info(String paramString, Throwable paramThrowable)`
- `warn(String paramString)`
- `warn(String paramString, Throwable paramThrowable)`
- `error(String paramString)`
- `error(Throwable paramThrowable)`
- `error(String paramString, Throwable paramThrowable)`
## `RecyclerView`
- `RecyclerCommonAdpter`
- `TYPE_HEADER = 0;`
- `TYPE_NORMAL = 1;`
- `TYPE_FOOTER = 2;`
- `TYPE_NODATA = 3;`
- `getDatas()`
- `getFirst()`
- `getEnd()`
- `setDatas(List<T> datas)`
- `getItemCount()`
- `setHeaderView(View headerView)`
- `getHeaderView()`
- `getFooterView()`
- `getItemViewType(int position)`
- `setItemId(int itemId)` 设置能点击的 item 中的 view
- `RecycleViewDivider` 设置RecycleView的项目分割线
- `color(int color)`
- `height(int height)`
- `drawable(int drawable)`
- `column(int count)` 设置分割线的列数
## 线程处理工具类
- `TaskUtils`
- `createSerialExecutor(String threadPrefix)` 创建单线程线程池
- `isMainThread()` 判断当前线程是否是主线程
- `postMainTask(Task task)` 在主线程中执行代码
- `postMainTaskDelay(Task task, long delayMillis)` 在主线程中延时执行代码
- `postGlobleTask(Task task)` 在app线程池中执行代码
## PackageUtils
- `getVersionCode()` 获取app版本号
- `getVersionName()` 获取版本名称
- `isAppInstalled(String packagename)`
- `isWXInstalled()` 判断微信是否安装
## StringUtils
- `isEmptyOrNull(String str)` 是否为空
- `join(Object[] array, String separator)` 连接字符串
- `join(List<String> array, String separator)` 连接字符串
- `format(String str, Object... params)` 格式化字符串
- `covertCHNumber(int intInput)` 将阿拉伯数字转换为中文数字
- `getUt(String dataStr, int type)` 获取数据签名
## TimeUtils
- `convertHumanizeDuration(long duration)` 把时间差(ms)转换成hunman形式 (x天前、x小时前、x分钟前、刚刚)
- `getCurrentNtpTimeInSecond()` 获取ntp秒值
- `getCurrentNtpTimeInMillisecond()` 获取ntp毫秒值
- `formatTime(long milliSeconds, String pattern)` 把时间毫秒值转换成指定格式的日期字符串
- `formatTime(Date date, String pattern)` 把毫秒值转换成指定格式的日期字符串
- `parseTime(String dateStr, String pattern)` 把一个字符串日期转换成Date对象
- yyyy-MM-dd HH:mm:ss
- yyyy年-MM月-dd日
- yyyy-MM-dd E HH:mm:ss
## ValidatorUtils
- `isMail(String mail)`
- `isMobile(String mobiles)`
- `isTelephone(String tel)`
- `isValidUsername(final String username)`
- `isValidPassword(String password)`
- `isQQ(String qq)`
- `isIdCardNo(String idcard)`
- `hasEmoji(String str)`
## ZipStringUtils
- `gzip(String primStr)`
- `gzip(byte[] src)`
- `gunzip(byte[] compressed)`
- `zip(String str)`
- `unzip(String compressedStr)`