【Android】只给个泛型,如何自动初始化ViewModel与ViewBinding?这几种方案值得了解
💡
原文中文,约12200字,阅读约需29分钟。
📝
内容提要
本文介绍了三种封装计划来实现自动初始化ViewModel和ViewBinding的方法。第一种是使用反射,通过获取泛型的实例来初始化目标。第二种是使用APT代码生成,通过生成对应的代码来实现初始化。作者还提到了混淆和类型安全与可读性的问题。最后,作者总结了三种方法各自的优缺点,选择哪种方法取决于个人偏好。
🎯
关键要点
- 文章介绍了三种封装计划来实现自动初始化ViewModel和ViewBinding的方法。
- 第一种方法是使用反射,通过获取泛型的实例来初始化目标。
- 第二种方法是使用APT代码生成,通过生成对应的代码来实现初始化。
- 作者提到混淆和类型安全与可读性的问题。
- 最后总结了三种方法各自的优缺点,选择哪种方法取决于个人偏好。
- 反射方法的实现需要传入ViewModel的class对象和DataBinding的inflate方法。
- APT代码生成方法通过定义注解和使用auto-service与kotlinpoet库来生成初始化代码。
- 三种方法各有利弊,开发者可以根据自己的需求选择合适的方法。
🏷️
标签
➡️