Android 基础库 - 插件框架 - 插件实现

往期参考:

  1. 需求定义
  2. 基本原理

插件框架代码已经开源,欢迎使用并反馈。https://github.com/cmguo/android-plugins

​​​​​​插件入口类

 

实现插件入口类,该类实现通用插件接口,完成插件的启动,停止工作。插件类不提供具体功能,插件里面的其他类,提供具体功能。

public class Plugin extends PluginBase {

    @Override

    public int init(Context context) {

        // do something

        return 0;

    }

}

插件描述

 

 

插件描述包括:

  1. 基本信息:名字、作者、描述、图标
  2. 管理信息:模板(环境)、依赖

<?xml version="1.0" encoding="utf-8"?>

<plugin xmlns:android="http://schemas.android.com/apk/res/android"

    android:name="@string/app_name"

    android:author="@string/author"

    android:thumbnail="@drawable/ic_launcher"

    android:description="@string/description"

    android:settingsActivity="com.xxx.yyy.SettingsActivity"

templates="@array/plugin_template"

    depends="@array/plugin_depend"

/>

注册插件

 

 

在Manifest中注册插件信息,插件的包名就是APK的包名。插件支持的SDK Level 范围通过use-sdk定义。另外需要在Application的meta-data中注册插件描述xml资源。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.xxx.yyy"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="14"

        android:targetSdkVersion="21" />

 

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <meta-data

            android:name="com.base.plugin"

            android:resource="@xml/plugin"/>

    </application>

 

</manifest>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting Horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值