Basis Dependency By Gingod
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
...
compile 'com.github.GinGod:BasisDependency:v1.1.4'
}
- Glide 缓存经过测试发现有对控件的记忆性, 不同控件间无法复用缓存, 原因未知, Picasso测试未发现该问题, 后续会引进Picasso 2.5.2 版本的依赖
- 暂无
- BasisTimesUtils 中 DatePickerDialog 和 TimePickerDialog 的使用
- BasisAnimUtils 简单动画的实现(建议参照工具类自定义需要的动画)
- BasisFileUtils 添加关闭流通用方法close(...)
- Okhttp 使用太过繁琐, 已封装简便方法, 原使用逻辑仍可使用
- BasisSelfDialogUtils 解决布局中含有EditText, 但无法弹出软键盘问题
- BasisGlide 中 jp.co.cyberagent.android.gpuimage:gpuimage-library 依赖会导致集成百度地图时报错(未定位具体原因), v1.1.4以后版本会将该依赖屏蔽
- 自定义标题initTitle()方法的左返回允许任意布局, 以前强转为ImageView, 当前为View
- BasisBaseActivity
- BasisBaseService
- BasisBaseFragment
- BasisBaseUtils
- Log
- SP
- Time
- file
- version
- dialog
- popupwindow
- immerse
- ListView和GridView 的适配器
- RecyclerView 的适配器
- ListViewWithMaxH
- GridViewWithMaxH
- BasisListView
- BasisRecyclerView
- postString
- postFile && postFiles
- download
- load
- cache
- download
一些基本类和常用方法封装
- initData
在加载视图前对一些常用对象, 如app, mActivity, context,mHandler, gson等进行初始化赋值 - ondestory
取消注册封装的广播 - initTitle
标题栏封装, 建议重写 - parseInt 和 parseIntWithE
parseInt 转换异常时返回 -1; parseIntWithE 需要手动处理异常 - findTextView 等
已经自动添加点击监听 - showStr
str为空时返回 ""; 便于展示
android.support.v4.app.Fragment
常用工具类
Log日志封装
- LOG_LEVEL
日志打印级别: LOG_ALL 打印所有级别日志; LOG_CLOSED 关闭日志 - LOG_TAG
日志标识: 默认"TAG"
SharedPreferences常用方法封装
时间工具类
- getDeviceTime
时间格式: yyyy-MM-dd HH:mm:ss - getDeviceTimeOfSSS
时间格式: yyyy-MM-dd HH:mm:ss:SSS - getDeviceTimeOfYMD
时间格式: yyyy-MM-dd
版本工具类
- getVersionName
版本名 2.5.2 - getVersionCode
版本号 252 - getDeviceInfo
设备信息, 包含设备型号, Android版本和API
使用参见 DialogActivity
- BasisSelfDialogUtils --可自定义显示布局, 处理逻辑
使用参见 DialogActivity
- BasisSelfPopWinUtils --可自定义显示布局, 处理逻辑
-
BasisLvGvAdapter --单类型item
listview.setAdapter(new BasisLvGvAdapter<数据类型>(上下文, item布局id, 数据集 datas) { @Override protected void initView(BasisLvGvViewHolder basisViewHolder, 数据类型 data, int position) { basisViewHolder.setTvText(textviewID, "内容"); basisViewHolder.setTvTextListener(textviewID, "内容", 监听); } });
-
MultiLvAdapter --多类型item
//适配器 public class MultiLvAdapter extends BasisLvGvMultiAdapter<数据类型> { public MultiLvAdapter(Context context, 数据集 datas) { super(context, datas); } @Override public void addItemViewDelegate() { addItemViewDelegate(new Type1Delagate());//添加一种类型的item addItemViewDelegate(new Type2Delagate()); addItemViewDelegate(new Type3Delagate()); } } //一种类型的item public class Type1Delagate implements BasisLvGvItemViewDelegate<数据类型> { @Override public int getItemViewLayoutId() { return item布局id; } @Override public boolean isForViewType(数据类型 data, int position) { return data.status == 1; //true 则当前position采用这种类型item } @Override public void initView(BasisLvGvViewHolder holder, 数据类型 data, int position) { basisViewHolder.setTvText(textviewID, "内容"); basisViewHolder.setTvTextListener(textviewID, "内容", 监听); } } }
- 使用方法
BasisRvAdapter
MultiRvAdapter
与listView适配器类似 - 可重写方法
onItemClickListener: 条目点击事件
onItemLongClickListener: 条目长点击事件
isSpecific(int position): true 则该position显示为一整行 - BasisRvHeaderAndFooterWrapper
头布局脚布局功能适配器 - BasisRvEmptyWrapper
空布局适配器(数据为空时,显示设置好的空布局)
显示所有item, 并禁止滑动
显示所有item, 并禁止滑动
上拉加载下拉刷新ListView
上拉加载下拉刷新RecyclerView, 可以兼容前面封装的RecyclerView适配器
上传参数未json字符串
- url
网址 - mediaType
默认为 application/json; charset=utf-8 - content
上传的json字符串, 或者封装的json对象
不能与addParams方法共用, 否则addParams方法不生效 - addParams
键值对提交参数
不能与content方法共用, 否则addParams方法不生效 - build
建立请求 - execute
执行请求, 结果在主线程中执行
上传文件(默认图片)
- url
网址 - mediaType
image/* //默认上传图片 - addParams
键值对提交参数 - addFile
上传文件(可上传多个) - build
建立请求 - execute
执行请求, 结果在主线程中执行
下载文件
- url
网址 - fileName
储存的文件名, 默认为当前设备时间 - build
建立请求 - execute
执行请求, 结果在主线程中执行
onProgress: 下载进度
图片加载
- context
支持类型: Context, Activity, Fragment, FragmentActivity, View - placeholder || placeholderId
占位图片 - duration
过度时长 - sizeMultiplier || thumbnailRequest
thumbnail()方法参数 - isDrawable
确定thumbnail()参数类别
缓存管理
- getCacheSize
获取磁盘缓存大小 - clearDiskCacheSelf
清除图片磁盘缓存 - clearCacheMemory
清除内存缓存 - clearAllCacheMemory
清除所有缓存
- downloadPic
jpg图片下载 - downloadGif
gif图片下载