ServiceLoader使用步骤
文章目录 Android ServiceLoader使用前言一、ServiceLoader是什么?二、使用步骤1.准备工作最关键的一步哦了,万事俱备只欠东风,最后一步:
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、ServiceLoader是什么?看到这里的时候笔者假设你已经知道ServiceLoader是做什么用的了。不会的请自行查阅文档
二、使用步骤 1.准备工作 一个android工程新建一个module library里面创建一个接口,比如叫UserServiceapp module依赖 步骤2 创建的library
并新建一个类实现UserService接口
最后的工程目录类似于这个样子
**
**
配置我们的实现类,分别在app module和library module里面创建配置文件,位置在java文件夹目录平级:META-INF/services/,创建一个文本文件,**名字命名为UserService的全路径名(就是你创建的接口类的全限定名)**内容就写你当前module内实现类的全限定名,例如我的工程配置如下:
如何在library内获取UserService接口所有实现类呢?
ServiceLoader<IUserService> load = ServiceLoader.load(IUserService.class); if (load == null) { System.out.println("service is null"); }else { for (IUserService service: load) { System.out.println(service.getClass()); System.out.println(service.getUser()); } }哦了,网上找了很多都没说META-INF 文件配置的注意事项,切记,配置文件名称是用接口的全路径名,内容是写当前模块内的实现类类名。
欢迎同学们一起交流~~~