# boxes-android **Repository Path**: sunlunchang/boxes-android ## Basic Information - **Project Name**: boxes-android - **Description**: Android开发基础框架 - **Primary Language**: Android - **License**: MIT - **Default Branch**: master-final - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2022-04-06 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SlcBoxs ###### 这是一个灵活而强大的Android开发基础框架! ###### 目前处于稳定且不断更新状态。 ## 导入方式 ````java implementation 'com.gitee.sunlunchang:boxes-android:lastVersion' ```` ###### 仅支持Android X ###### 文档仍在补全当中…… 代码是最好的老师,如遇问题,请先查看源码 ## 模块介绍 #### SlcBoxs由android-util、hutool、common-libs、or、rx、rx-lifecycle、design、bar-plus、popup、adapter、db、enhance-nav、enhance-fragmentation、code、code-lifecycle等模块组成,下文会对其进行详细介绍。 ![enter description here](./images/IMG_1.png) ### android-util ###### 这是blankj的[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode "AndroidUtilCode"), 修改了部分工具类的实现; #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:android-util:lastVersion' ```` ### hutool ###### 这是hutool Java7的最后一个版本提取了部分工具类在此处。 #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:hutool:lastVersion' ```` ### common-libs ###### 对android-util没有的工具类进行了补全。(common-libs依赖了android-util) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:common-libs:lastVersion' ```` ### or ###### 该模块是对[retrofit](https://github.com/square/retrofit "retrofit")进行了二次封装,快速构建retrofit。使用封装类[FileRequestBody](https://github.com/sunlunchang1994/SlcBoxs/blob/master/or/src/main/java/android/com.gitee.sunlunchang/or/FileRequestBody.java "FileRequestBody")可以进行文件上传,可以轻松监听到文件上传进度。[SlcParam](https://github.com/sunlunchang1994/SlcBoxs/blob/master/or/src/main/java/android/com.gitee.sunlunchang/or/SlcParam.java "SlcParam")类封装了所有的类型的请参数,可适应任何请求数据时需要参数的场景。(or模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:or:lastVersion' ```` ### rx ###### 该模块封装了rxjava和rxAndroid一些基础操作类,如转换器、简单的Observer,方便在开发中快速调用。(rx模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:rx:lastVersion' ```` ### rxlifecycle ###### 基于com.uber.autodispose2:autodispose,封装了简单生命周期感知。(rxlifecycle模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:rxlifecycle:lastVersion' ```` ### design ###### 该模块针对Material3主题增加了部分属性;针对不基于Material风格的项目增加了部分表单、列表的Style。(design模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:design:lastVersion' ```` ### bar-plus ###### 该模块针对androidX的顶部工具栏和菜单增加了部分组件。(bar-plus模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:bar-plus:lastVersion' ```` ### popup ###### 该模块针对话框popupWindow进行了无入侵式封装。(popup模块未依赖本项目其他模块) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:popup:lastVersion' ```` ### adapter ###### 关于RecyclerView的Adapter的模块,使用了BaseRecyclerViewAdapterHelper,针对下拉刷新、加载更多、分页逻辑等编写了部分通用代码。(adapter模块未依赖本项目其他模块) ````java implementation 'com.gitee.sunlunchang.boxes-android:adapter:lastVersion' ```` ### db ###### 本模块未基于任何数据库,基于SharedPreferences封装了快速调用,基于内存缓存和文件缓存封装了和SharedPreferences一样的Api,在大屏、广告机等场景上做配置文件比较方便。(db模块依赖了common-libs、hutool、adapter(后续会移除adapter)) ````java implementation 'com.gitee.sunlunchang.boxes-android:db:lastVersion' ```` ### enhance-nav、enhance-fragmentation ###### 基类Activity和Fragment,分别基于Navigation、me.yokeyword:fragmentationx,本项目code模块默认依赖了enhance-nav,如果想使用enhance-fragmentation,可在项目中通过Gradle语法排除enhance-nav,再依赖enhance-fragmentation。(enhance-nav、enhance-fragmentation模块未依赖本项目其他模块) ### code ###### 这是SlcBoxes 核心模块,封装了基于MVVM的Activity、Fragment以及对应的ViewModel基础实现类,模块将Activity和Frament的相关初始化方式封装了代理类,并为Activity和Frament提供了一致的方法名,方便在项目中因使用Activity不合适时,仅更改继承的父类就可实现Activity和Fragment一键替换。(code模块依赖了common-libs、bar-plus、enhance-nav) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:code:lastVersion' ```` ### codelifecycle ###### 将code模块中的viewmodel与rxlifecycle中的生命周期进行结合,使mvvm的vm层具有对生命周期具有感知能力,在使用rxjava进行网络访问和耗时操作时可轻松避免内存泄漏。(codelifecycle模块依赖了code、rx、rxlifecycle) #### 依赖方式 ````java implementation 'com.gitee.sunlunchang.boxes-android:codelifecycle:lastVersion' ```` ### all ###### 一键依赖了所有模块 #### 依赖方式 ````java implementation 'com.gitee.sunlunchang:boxes-android:lastVersion' ````