#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)`