弱龄寄事外,委怀在琴书。这篇文章主要讲述Android中SPI的使用相关的知识,希望能为你提供帮助。
转载注明出处:
http://blog.csdn.net/xiaohanluo/article/details/71515678
1. 简介 SPI全称是Service Provider Interface,
服务提供方接口,
服务通常是指一个接口或者一个抽象类,
服务提供方是对这个接口或者抽象类的具体实现,
由第三方来实现接口提供具体的服务。SPI提供了一种动态的对应用程序进行扩展的机制,
通常用作框架服务的拓展或者可替换的服务组件,
但是在android中并没有广泛的使用。
SPI运用场景主要有:
- Java Database Connectivity
- Java Cryptography Extension
- Java Naming and Directory Interface
- Java API for XML Processing
- Java Business Integration
- java Sound
- Java Image I/O
- Java File Systems
2. SPI机制
- 在resources/META-INF/services/目录中创建以
服务全限定名
命名的文件, 该文件内容为服务的具体实现类的全限定名
, 文件中可以写多个服务的具体实现类 - 使用ServiceLoader类动态加载服务的具体实现类
- 服务具体的实现类必须有一个不带参数的构造方法
- 如果服务的具体实现类在Jar包中, 则需要放在主程序的classPath中
文章图片
图-1 举例示意图
推荐阅读
- Android Volley框架的几种post提交请求方式
- 为基于 x86 的 Android* 游戏选择合适的引擎
- Writing your first Django app--2017年5月9日
- Android获取状态栏和标题栏的高度
- android的窗口机制分析------UI管理系统
- android入门 — ListView点击事件
- Eclipse出现"Running Android Lint has encountered a problem"解决方式
- sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法
- Android减少布局层次--有关Activity根视图DecorView的思考