android 不再手写控件ID绑定,插件化批量绑定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 不再手写控件ID绑定,插件化批量绑定相关的知识,希望对你有一定的参考价值。

参考技术A 记录下插件使用中遇到的问题

由于ButterKnife 已经不开始维护了,新项目建议使用第二种方式

GenerateFindViewById 使用效果如下图

安装路径

按照上面安装插件,由于我公司电脑android开发环境搭建是直接 从笔记本上打包java、 android studio、android sdk 拷贝到公司电脑D盘目录,而非android 安装时的默认C盘目录,安装好插件后,每次重启android studio 会报 Plugin "GenerateFindViewById Injections!" is incompatible (supported only in IntelliJ IDEA).错误 。

)

android 四大组件值Service 绑定式服务

bound服务是指允许被应用程序组件绑定的服务,通过调用bindService()可以完成绑定,
用于创建一个长期存在的连接(并且一般不再允许组件通过调用startService()来start服务。 当应用程序中的activity或其它组件需要与服务进行交互,或者应用程序的某些功能需要暴露给其它应用程序时,
你应该创建一个bound服务,并通过进程间通信(IPC)来完成。 要创建一个bound服务,你必须实现onBind()回调方法,并返回一个IBinder对象,
此对象定义了与服务进行通信的接口。 然后,其它应用程序组件可以调用bindService()来获得接口
并调用服务中的方法。 服务只在为绑定的应用程序组件工作时才会存活,因此,只要没有组件绑定到服务,
系统就会自动销毁服务(你不需要像started服务中那样通过onStartCommand()来终止一个bound服务)。 要创建一个bound服务,首先必须定义好接口,用于指明客户端如何与服务进行通信
这个客户端与服务之间的接口必须是一个IBinder对象的实现,并且你的服务必须在onBind()
回调方法中返回这个对象。一旦客户端接收到这个IBinder,它就可以通过这个接口来与服务进行交互。 同一个服务可以被多个客户端绑定。当客户端完成交互时,会调用unbindService()来解除绑定。
一旦不存在客户端与服务绑定时,系统就会销毁该服务。 实现bound服务的方式可以有很多种,实现的过程也比started类型的服务更为复杂,
因此bound服务将在单独的bound服务文档中讨论。

 

以上是关于android 不再手写控件ID绑定,插件化批量绑定的主要内容,如果未能解决你的问题,请参考以下文章

Android 手写实现插件化换肤 兼容Android10 Android11

Android 手写实现插件化换肤框架 兼容Android10 Android11

android 四大组件值Service 绑定式服务

如何在android 动态加载插件small

有啥好用的Android Studio的插件值得推荐

有啥好用的Android Studio的插件值得推荐