Android Studio插件开发3之Extensions And Extension Points(扩展与扩展点)

插件开发系列
- Android Studio插件开发1之插件介绍与环境搭建
- Android Studio插件开发2之Action System
- Android Studio插件开发3之Extensions And Extension Points(扩展与扩展点)

如果说自己定义Action并实现相应的功能逻辑是造轮子的话,那么实现Extensions就是使用别人的轮子了,简单快速实现复杂的功能!

定义

Extensions 和Extension Points是Intellij平台提供的一套供插件之间或者是插件与平台核心功能之间通信的接口。

Extension points

一个插件提供给其它插件扩展自己功能的入口点,通过定义接口来约定沟通的方法,通俗点说就是造好轮子等别人来用。

Extensions

一个插件声明一个Extension,并通过对应的Extension Point实现相应的功能,通俗的说就是复用别人造好的轮子。

关系图

如果文字表达得不够明白,看一下以下的说明图应该能加深理解,毕竟一图胜千言

这里写图片描述

声明Extension和Extension Point

Extension和Extension Point都需要在plugin.xml声明,声明的语法如下

Extension Point

<extensionPoints>
  <extensionPoint name="ConcreteExtensionPoint1" beanClass="com.example.BeanClass">
  <extensionPoint name="ConcreteExtensionPoint2" interface="com.example.Interface">
</extensionPoints>
  • name 此Extension Point的名字
  • beanClass/interface 提供的接口,定义与Extension的交互方式

Extension Point声明的方式有两种,第一是通过interface的方式,此方式定义一个java接口供扩展方实现;第二是beanClass的方式,其定义一个java bean,并在扩展方声明Extension的时候,由扩展方提供java bean的属性,这里不明白的话先看下面Extension的声明。

Extension

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值