本文将从接入、启动和拓展三方面向您介绍如何使用开发小助手。
接入开发小助手
前置条件
已使用组件化 Portal&Bundle 接入方式接入 mPaaS。
接入步骤
您只需在 Portal 工程的 build.gradle 文件中加入如下代码,即可完成开发小助手的接入。
devbundle "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200720113923@jar"
devmanifest "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200720113923:AndroidManifest@xml"
启动开发小助手
开发小助手随 mPaaS 框架启动,无需额外代码启动。但在以下情况下,在启动开发小助手时需要特别注意:
当安卓手机运行在monkey模式下时,开发小助手自动不启动。
当开发模式为 release mode 时,即
android:debuggable="false"
时,开发小助手默认不启动。 如果需要在 release mode 下启动开发小助手,可以通过在 AndroidManifest.xml 文件中设置如下属性强制启动开发小助手。但是在正式发布时一定要去掉该功能。代码配置如下:<meta-data android:name="devhelper_start" android:value="true" />
并且将开发小助手的依赖按照如下代码所示进行更换:
bundle "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200720113923@jar" manifest "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200720113923:AndroidManifest@xml"
拓展开发小助手
在实际使用中,您还可以根据实际需求,对开发小助手进行功能拓展,如查看用户的加密数据。拓展的功能依赖于增加新的实现类。
拓展步骤
在 assets 文件夹中添加一个
.devhelper.json
结尾的文件,并确保文件名唯一。该 JSON 文件需包含以下代码:[ { "className": "com.alipay.android.phone.devtool.devhelper.woodpecker.panel.items.SpmItem", "bundleName": "com-mpaas-android-dev-helper-devhelper" } ]
className:类名。该类名即步骤 2 中新建的实现类的类名。
bundleName:bundle 名。
bundle 名可在主 module 的
/build/intermediates/bundle/META-INF/BUNDLE.MF
文件中查看。如果该拓展功能是加在 Portal 工程中,则
bundleName
需填空字符串""
。
新建一个类并实现如下方法,需要确保该类有且只有一个无参构造方法。
/** * @param context * @return 小助手面板入口图片 */ Drawable icon(Context context); /** * @param context * @return 小助手面板显示的名称 */ String title(Context context); /** * @param context * @return 是否处理响应,如已处理,请返回 True */ boolean onClick(Context context); /** * @param context * @return 该功能是否可用,如可用,请返回True */ boolean enabled(Context context); /** * 返回如下分组 * {@link #GROUP_OTHER} = 'OTHER' * {@link #GROUP_TOOL} = 'TOOL' * {@link #GROUP_UI} = 'UI' * {@link #GROUP_LOG} = 'LOG' * * @return */ String group();
代码示例
以下为一个拓展开发小助手的简单示例。该示例增加了拓展功能 拓展接入,实现点击图标后返回字符串“onclick”的功能。
package com.alipay.mpaas.test.helper;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.widget.Toast;
import com.mpaas.demo.R;
public class SpmItem {
private final static String TAG = SpmItem.class.getName();
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public Drawable icon(Context context) {
return context.getDrawable(R.drawable.appicon);
}
public String title(Context context) {
return "拓展接入";
}
public boolean onClick(Context context) {
Toast.makeText(context,"onclick",Toast.LENGTH_LONG).show();
return true;
}
public boolean enabled(Context context) {
return true;
}
public String group() {
return "OTHER";
}
}
运行结果
如下图所示,在开发小助手的 OTHER 其他类中已经增加了 拓展接入,点击图标后,即可显示字符串“onclick”。