当前位置: 首页 > news >正文

Android MVVM示例项目

项目地址

GitHub - yaolunwei/Androidbbc at androidx

项目简介

BBC(基础业务组件)

业务组件的基础,所有业务组件必须基于该组件进行开发,提供一站式开发

快速使用

  1. gradle:
implementation 'com.bigoat.android:bbc:0.0.1'

约定成俗

以下继承关系是必须的

  • Application extends BaseApplication
  • Activity extends BaseActivity
  • Fragment extends BaseFragment
  • ViewModel extends BaseViewModel
  • BaseLiveData 代替 LiveData
  • @Repository 注解网络请求接口

BaseApplication

全局初始化,例如网络,日志等

提供全局标准初始化方法 init()

BaseActivity && BaseFragment

负责UI和用户事件处理,不要做复杂的逻辑处理

提供通用Log Toast SP Permissions Dialog 等标准约定操作,重载皆可实现自定义处理

BaseViewModel

用户逻辑处理,数据驱动UI,发起网络请求也在这里,不要处理UI操作

重要的事说三篇:

  • 不能引入Android有关的包(例如:Activity Fragment Context)
  • 不能引入Android有关的包(例如:Activity Fragment Context)
  • 不能引入Android有关的包(例如:Activity Fragment Context)

BaseLiveData

可观察带生命周期的数据对象

例如 BaseLiveData<User>

@Repository

用于注解网络请求接口自动初始化网络请求对象

http://www.lryc.cn/news/176259.html

相关文章:

  • 迅为龙芯2K1000开发板通过汇编控制GPIO
  • 合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”
  • Django — 类视图和中间件
  • VMware安装CentOS Stream 8以及JDK和Docker
  • MySQL作业1
  • 基于微信小程序的家校通系统设计与实现(亮点:选题新颖、上传作业、批改作业、成绩统计)
  • uni-app问题记录
  • Leetcode---363周赛
  • Netty粘包与拆包问题
  • JS下载链接的两种方式
  • 手把手教你实现:将后端SpringBoot项目部署到华为云服务器上
  • 【红队攻防】从零开始的木马免杀到上线
  • Linux命令行操作:使用“more“命令进行分页显示
  • CentOS下安装MySQL 8.1及备份配置
  • 【RabbitMQ实战】06 3分钟部署一个RabbitMQ集群
  • (c语言)整形提升
  • 上传文件报错:The temporary upload location [/tmp/tomcat/xxx] is not valid
  • 直线模组的品牌有哪些?
  • 零基础学习ESP8266
  • 基于PYQT5的GUI开发系列教程【二】框架安装和基础环境配置
  • pg数据库操作,insert(sql)插入一条数据后获返回当前插入数据的id --chatGPT
  • 【数据结构-树】哈夫曼树
  • HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒
  • 【响应式布局】
  • Spring面试题23:Spring支持哪些事务管理类型?Spring框架的事务管理有哪些优点?你更倾向用哪种事务管理类型?
  • Leetcode—— LCR 122. 路径加密
  • 缓冲区溢出漏洞分析
  • 【高阶数据结构】红黑树(C++实现)
  • 算力百川汇蓝海,商海荡漾绘宏图
  • ORACLE 内存结构之系统全局区(SGA)