动态替换UI

android利用apkplug框架实现主应用与插件通讯(传递任意对象)实现UI替换

谁说胖子不能爱 提交于 2019-12-01 19:13:18
时光匆匆,乍一看已半年过去了,经过这半年的埋头苦干今天终于有满血复活了。 利用apkplug框架实现动态替换宿主Activity中的UI元素,以达到不用更新应用就可以更换UI样式的目的。 先看效果图: 首先理解OSGI服务的基本概念,如下图 1.首先定义一个java接口(interface)用于规范宿主与插件之间的通讯协议 interface com.apkplug.osgi.service.showView void showView(Bundle bundle,View v,int index) ; //添加View void removeView(Bundle bundle,View v); //删除View 2.决定osgi服务提供者和使用者 ,这里我们定义是 宿主应用为"OSGI 服务提供者" ,插件为"OSGI 服务使用者"。 注:OSGI服务提供者 注册服务 OSGI服务使用者 查询服务 3.宿主应用实现showView接口,相应类为 com.apkplug.osgi.serviceImp.showViewImp 具体代码如下: public class showViewImp implements showView{ private LinearLayout layout =null; /** * @param root 插件 View保存UI容器 */