【Github】项目名:Linkage-RecyclerView:一行代码接入二级联动订餐列表
项目简介
Linkage – RecyclerView是一款基于“MVP架构(依赖倒置原则)”开发的二级联动列表控件。它源于“RxJava魔法师”项目需求,当初在GitHub未找到合适开源库,于是自己编写。它高度解耦、可轻松配置且能通过Maven仓库远程依赖。个性化配置简单,依托MVP“配置解耦”特性,使用者无需探究内部逻辑,实现Config类就能定制和扩展功能,默认最少一行代码即可运行。
项目目的
其目标是实现一行代码接入二级联动列表,除了一键接入节省大量工作外,还能让使用者获得整洁代码风格和标准资源命名规范。展示了MVP架构编写第三方库的最佳实践,使用者无需了解内部逻辑就能简单配置使用,有优秀的代码分层和封装思想,主体工程基于前沿Jetpack组件,全面使用AndroidX和MaterialDesign2以及ConstraintLayout约束布局最佳实践,并且不会使用Dagger和艰深晦涩的代码编写方式,可供考虑项目架构挑选的人参考。
核心技术
基于MVP架构(依赖倒置原则)进行开发,依托MVP的“配置解耦”特性实现功能。采用Java语言编写,运用了Jetpack组件,在AndroidX和MaterialDesign2的基础上构建,使用ConstraintLayout约束布局。
简单使用示例
- 在build.gradle添加依赖:implementation ‘com.kunminx.linkage:linkage – recyclerview:2.7.0’(注意要在根目录build.gradle添加mavenCentral())。
- 依据默认分组实体类DefaultGroupedItem结构准备数据(以JSON为例给出了数据结构示例)。
- 在布局中引入LinkageRecyclerView。
- 得到数据后最少一行代码linkage.init(items)即可完成初始化。同时也给出了一些如数据结构差异处理和混淆白名单配置等温馨提示,更多自定义操作详见Wiki解析。
项目总结
Linkage – RecyclerView是一个很实用的二级联动列表控件库,在MVP架构的运用上有诸多可借鉴之处。如果您对这个库有任何想法或者使用经验,欢迎在评论区留言讨论。