# CoreLibrary **Repository Path**: hqiqiang/CoreLibrary ## Basic Information - **Project Name**: CoreLibrary - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: kotlin - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-29 - **Last Updated**: 2025-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 更新日志 - ui层: Activity与Fragment 或者ViewModel 对应MVVM VM - utils层:工具类层,通用的、与业务无关的,可以独立出来,可供其他项目使用; - tools层:与某些业务有关,通用性只限于某几个业务类之间; - manager层:通用业务处理层,它有如下特征,对第三方平台封装的层,预处理返回结果及转化异常信息; 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;与 DAO 层交互,对多个 DAO 的组合复用。 - service层:业务处理层,在大系统中,该层比较复杂,故可抽取出通用处理层(manager层),并且一个service层可以对应多个manager层,但小系统的话,往往没必要抽取出manager层,一个service层足够了。 - helper层:辅助类层,一般是一些功能辅助,如SqlHelper封装数据库连接操作提供数据库操作对象,ConfigHelper帮助创建配置信息用于模块初始化构建,其实作用与工具类很像,但没有工具类通用性好。 - repository层: 数据源/模型 对应数据模型 对应 model 层 - custom层: 自定义View # Shape 替代方案 - 参考[https://github.com/JavaNoober/BackgroundLibrary/tree/master ] 采用 自定View方案 预览界面也能实现效果 - 也可以参考根目录中的wiki - xml中代码提示参考[https://github.com/JavaNoober/BackgroundLibrary/wiki/7%E3%80%81%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%8F%90%E7%A4%BA] - 移除点击事件以及动画 # 基类 - 默认Activity与Fragment以及Dialog 继承 BaseViewBidingActivity / BaseViewBidingFragment / BaseDialogFragment 实现ViewBiding的使用 - Activity与Fragment 也支持 BaseDataBinding - MVVM 继承 BaseVm # LiveData 使用 MutableResult 解决 数据倒灌问题 参考 https://github.com/KunMinX/UnPeek-LiveData # 工具 utils - ImageLoadUtils 图片请求框架 类中使用的是Glide # 屏幕适配 - 布局中不在使用 dp与sp 改使用dimen文件中的 如 @dimen/x1 系统会自动选取合适的大小 - 所有字体 统一使用 style="@style/def_text.26.333" # 相册 Album模块 # 请求 Net - OkHttpImpl 依赖OkHttp的网络请求与文件上传 # 权限适配 - SysPermissionsUtils # 状态设置 1. 设置状态栏模式 application 中 CoreConfig.Companion.get().setStatusMode(ToolBarMode.DARK_MODE); 2. 设置 状态栏信息 1. 重写color #D92129 #D92129 @color/white @color/white # 使用方法 ## Maven引入 ## 打包 aar ```kotlin ./gradlew Core:assembleRelease ``` 使用aar 将[build.gradle](Core%2Fbuild.gradle) 使用的依赖复制过去 # 参考的开源库 [权限适配](https://github.com/soulqw/SoulPermission) [状态栏适配]( https://github.com/gyf-dev/ImmersionBar)