Brick
【此git仓库已停止更新,其中的若干个模块将被拆分为多个仓库,详情请点开本人的仓库列表查看。】使用Kotlin Coroutine和ViewModel、LiveData等Android Jetpack组件搭建而成的MVP、MVVM架构框架。实现了业务代码的高复用性的核心特点,并且使用简单、代码简洁。 如果使用Retrofit作为网络请求工具,可以为Model层自动注入Retrofit Api实例,进一步精简代码。同样的,也可以注入Room数据库框架的Dao层接口。注:配合http模块食用,风味更佳!
Install / Use
/learn @xiazunyang/BrickREADME
此git仓库已停止更新,其中的若干个模块将被拆分为多个仓库,详情请点击此处查看。
此项目是我个人在工作(Android开发)中不断总结、抽象而来,囊括了架构、网络、线程、UI等,每个功能都单独整理到一个模块之中,可以单独引用。看得上哪个模块,按需自取,更欢迎不吝赐教。
模块功能介绍
- app
- 示例工程,使用了以下所有的模块以及Kotlin协程、Room和Paging,极少的代码即可实现【Network->Database->UI】的软件架构。
- brick
- http
- adapter
- RecyclerView.Adapter辅助工具,完成Adapter仅需实现1个方法(查看示例)。
- 另外提供列表差异对比并自动处理动画的工具。
- chameleon
- 可以动态切换主题颜色的工具,非常轻量级,侵入性低,切换时无卡顿。

- 可以动态切换主题颜色的工具,非常轻量级,侵入性低,切换时无卡顿。
- result
- 能够精简在申请权限时和Activity之间传递参数和回传参数的代码。
- rx
- 当使用RxJava时,让数据流与ViewModel的生命周期绑定,数据流将在ViewModel被弃用时停止订阅。
- context-util
- 提供全局获取Context和Application的扩展方法、dp/sp计算的相关扩展方法以及Toast的相关扩展方法。需要通过initContext方法进行初始化。
- delegate
- starter
- start系列的扩展方法以及Intent相关的扩展方法查看示例
- stateful-layout
- stateful-livedata
在自己的项目中使用
- 在你的项目的根目录下的build.gradle文件中添加以下代码,如果已存在则忽略
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 在你的子模块的build.gradle文件中添加以下依赖:
模块|依赖 ---|--- adapter|implementation 'com.github.xiazunyang.brick:adapter:1.6.1' brick|implementation 'com.github.xiazunyang.brick:brick:1.6.1' chameleon|implementation 'com.github.xiazunyang.brick:chameleon:1.6.1' context-util|implementation 'com.github.xiazunyang.brick:context-util:1.6.1' delegate|implementation 'com.github.xiazunyang.brick:delegate:1.6.1' http|implementation 'com.github.xiazunyang.brick:http:1.6.1' result|implementation 'com.github.xiazunyang.brick:result:1.6.1' rx|implementation 'com.github.xiazunyang.brick:rx:1.6.1' stateful-layout|implementation 'com.github.xiazunyang.brick:stateful-layout:1.6.1' stateful-livedata|implementation 'com.github.xiazunyang.brick:stateful-livedata:1.6.1'
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
