|
- Android AutoService原理AutoService AutoService是谷歌 . . .
AutoService 是谷歌提供的一个组件,使用简单但是功能却是非常强大。 AutoService 会自动在 META-INF 文件夹下生成 Processor 配置信息文件,该文件包含实现该服务接口的具体实现类。 当外部程序加载这个模块时,可以通过该 jar 包 META-INF services 里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入。 AutoService 其实是基于 SPI 机制,这样我们可以直接跨模块查找到想要的接口实现类,避免不必要的模块间依赖,降低模块之间的耦合性。 简化 Java SPI 使用:不需要手动创建和维护 META-INF services 目录下的配置文件,只需要在对应的实现类上添加 @AutoService 注解即可。
- Google组件化方案 - AutoService_com. google. auto. service . . .
今天我们介绍一款轻量级的组件化通信框架,谷歌的亲儿子 - AutoService。 在Android项目架构中,最底层一个Base层,然后是Common,所有的业务模块都依赖Common层,app被称为壳工程,它依赖所有的业务模块。 图很简陋,但整体就是这样一个结构了。 我们就以一个简单的demo举例,创建一个kotlin项目: common为通用模块,app和weblibrary为业务模块。 我们要做的就是从app的MainActivity跳转到weblibrary的WebViewActivity。 首先需要在公共模块进行依赖:
- java注解处理器之Google Auto Service - strongmore - 博客园
SPI是java提供的一种服务发现的标准,具体请看 SPI介绍,但每次我们都需要自己创建services目录,以及配置文件,google的autoservice就可以帮我们省去这一步。 maven的依赖 定义接口 String userName(); 定义接口实现,使用AutoService注解 @Override public String userName() { return "local user"; @Override public String userName() { return "remote user"; 调用 public static void main(String[] args) {
- 使用Google开源库AutoService进行组件化开发 - 腾讯云
在JDK 1 6中实现了JSR-269规范,提供了一组插入式注解处理器的标准 API 在编译期间对注解进行处理,可以看作是一组 编译器 的插件,可以读取 修改 添加抽象语法树中的任意元素。 在 Android 模块开发之 APT 技术介绍了自定义注解处理器的一些知识,自定义注解处理器注册才能被Java 虚拟机 调用,在上面的博客第四小节中用的方法是手动注册,这比较违反程序员懒的特点,在里面也提到了自动注册的方法,就是AutoService,今天这篇博客就是来扒一扒谷歌提供的这个开源库。 先通过一个栗子看下AutoService怎么用的。 定义一个简单的接口: String display(); }
- auto service README. md at main · google auto · GitHub
AutoService will generate the file META-INF services javax annotation processing Processor in the output classes folder The file will contain:
- Android Google AutoService框架使用详解 - 乐耶园
AutoService框架的作用是自动生成SPI清单文件 (META-INF services下的文件)。 不用它也行,如果不使用它就需要手动去创建这个文件、手动往这个文件里添加服务 (接口实现)。 AutoService比较常用的场景是帮助注册APT (注解处理器)。 下面以APT的例子来讲解它的使用。 开发APT需要在Java SE项目中开发,因为需要继承AbstractProcessor,AbstractProcessor作用在Java编译阶段。 先创建Java module,在Android Studio中也可以创建,然后在build gradle中添加依赖,如下dependencies部分。
- Google AutoService – 谷歌自动服务
In this quick tutorial, we’ll briefly explain Google’s AutoService 在这个快速教程中,我们将简要地解释谷歌的自动服务。 这是一个 注释处理器库,可以帮助我们生成 Java服务提供商接口 (SPI)配置文件。 Simply put, we can leverage Java SPI to develop extensible applications, as it provides fast, safe, and also dynamic customizations 简单地说,我们可以利用Java SPI来开发可扩展的应用程序,因为它提供了快速、安全、也是动态的定制。
- Google组件化方案 - SPI之AutoService - 简书
今天我们介绍一款轻量级的组件化通信框架,谷歌的亲儿子 - AutoService。 在Android项目架构中,最底层一个Base层,然后是Common,所有的业务模块都依赖Common层,app被称为壳工程,它依赖所有的业务模块。 图很简陋,但整体就是这样一个结构了。 我们就以一个简单的demo举例,创建一个kotlin项目: common为通用模块,app和weblibrary为业务模块。 我们要做的就是从app的MainActivity跳转到weblibrary的WebViewActivity。 首先需要在公共模块进行依赖:
|
|
|