全部产品
云市场

使用开发小助手

更新时间:2020-05-14 16:17:11

本文将从接入、启动和拓展三方面向您介绍如何使用开发小助手。

接入开发小助手

前置条件

已接入mPaaS 框架。

接入步骤

您只需在 Portal 工程的 build.gradle 文件中加入如下代码,即可完成开发小助手的接入。

  1. devbundle "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200514150006@jar"
  2. devmanifest "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200514150006:AndroidManifest@xml"

启动开发小助手

开发小助手随 mPaaS 框架启动,无需额外代码启动。但在以下情况下,在启动开发小助手时需要特别注意:

  1. 当安卓手机运行在monkey模式下时,开发小助手自动不启动。
  2. 当开发模式为 release mode 时,即 android:debuggable="false" 时,开发小助手默认不启动。 如果需要在 release mode 下启动开发小助手,可以通过在 AndroidManifest.xml 文件中设置如下属性强制启动开发小助手。但是在正式发布时一定要去掉该功能。代码配置如下:
    1. <meta-data
    2. android:name="devhelper_start"
    3. android:value="true" />
    并且将开发小助手的依赖按照如下代码所示进行更换:
    1. bundle "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200514150006@jar"
    2. mainfest "com.mpaas.android.dev.helper:devhelper-build:1.0.0.200514150006:AndroidManifest@xml"

拓展开发小助手

在实际使用中,您还可以根据实际需求,对开发小助手进行功能拓展,如查看用户的加密数据。拓展的功能依赖于增加新的实现类。

拓展步骤

  1. 在 assets 文件夹中添加加一个 .devhelper.json 结尾的文件,并确保文件名唯一。该json文件需包含以下代码:
    1. [
    2. {
    3. "className": "com.alipay.android.phone.devtool.devhelper.woodpecker.panel.items.SpmItem",
    4. "bundleName": "com-mpaas-android-dev-helper-devhelper"
    5. }
    6. ]
    className:类名。该类名即步骤2中新建的实现类的类名。bundleName:bundle 名。bundle 名可在主 module 的 /build/intermediates/bundle/META-INF/BUNDLE.MF 文件中查看。如果该拓展功能是加在 Portal 工程中,则 bundleName 需填空字符串 “”。
  2. 新建一个类并实现如下方法,需要确保该类有且只有一个无参构造方法。

    1. /**
    2. * @param context
    3. * @return 小助手面板入口图片
    4. */
    5. Drawable icon(Context context);
    6. /**
    7. * @param context
    8. * @return 小助手面板显示的名称
    9. */
    10. String title(Context context);
    11. /**
    12. * @param context
    13. * @return 是否处理相应,如已处理,请返回True
    14. */
    15. boolean onClick(Context context);
    16. /**
    17. * @param context
    18. * @return 该功能是否可用,如可用,请返回True
    19. */
    20. boolean enabled(Context context);
    21. /**
    22. * 返回如下分组
    23. * {@link #GROUP_OTHER} = 'OTHER'
    24. * {@link #GROUP_TOOL} = 'TOOL'
    25. * {@link #GROUP_UI} = 'UI'
    26. * {@link #GROUP_LOG} = 'LOG'
    27. *
    28. * @return
    29. */
    30. String group();

代码示例

以下为一个拓展开发小助手的简单示例。该示例增加了拓展功能 拓展接入,实现点击图标后返回字符串“onclick”的功能。

  1. package com.alipay.mpaas.test.helper;
  2. import android.annotation.TargetApi;
  3. import android.content.Context;
  4. import android.graphics.drawable.Drawable;
  5. import android.os.Build;
  6. import android.widget.Toast;
  7. import com.mpaas.demo.R;
  8. public class SpmItem {
  9. private final static String TAG = SpmItem.class.getName();
  10. @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  11. public Drawable icon(Context context) {
  12. return context.getDrawable(R.drawable.appicon);
  13. }
  14. public String title(Context context) {
  15. return "拓展接入";
  16. }
  17. public boolean onClick(Context context) {
  18. Toast.makeText(context,"onclick",Toast.LENGTH_LONG).show();
  19. return true;
  20. }
  21. public boolean enabled(Context context) {
  22. return true;
  23. }
  24. public String group() {
  25. return "OTHER";
  26. }
  27. }

运行结果

如下图所示,在开发小助手的 OTHER 其他类 中已经增加了 拓展接入,点击图标后,即可显示字符串“onclick”。))