初始化引擎扩展

本文介绍了在 Android 客户端中初始化引擎扩展的操作步骤。

前置条件

​操作步骤

  1. 预置卡片本地路径。

    • 设置卡片引擎类 CubeEngineConfig 的属性。

      /**
      * 存储模版的本地资源包的路径
      *
      * @param resourcePath - 设置资源文件路径
      */
      public void setResourcePath(String resourcePath) {
                      this.resourcePath = resourcePath;
      }
    • 本地蚂蚁动态卡片 assets 路径。

      //清除卡片数据
      CubeService.instance().destroyEngine();
      CubeEngineConfig config = new CubeEngineConfig();
      //设置路径
      config.setResourcePath("您设置的资源所在路径");
      CubeService.instance().initEngine(config, MainApplication.getApplication());

      示例:如果您设置 setResourcePath("cube"),那么预置卡片路径就是 assets/cube/

  2. 设置异常监听。

    1. 设置异常监听接口 CExceptionListener

      public interface CExceptionListener {
          void onException(CExceptionInfo var1);
      }
    2. 异常接口方法描述。

      限定符和类型

      方法和说明

      void

      onException(CExceptionInfo info)

    3. 异常方法详细说明。

      /**
      * 异常监听通知
      *
      * @param cExceptionInfo - 异常信息
      */
      void onException(CExceptionInfo cExceptionInfo)
    4. Activity 中接入 CExceptionListener 类,执行继承方法。

      public class MainActivity extends AppCompatActivity implements CExceptionListener {
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
          }
      
          @Override
          public void onException(CExceptionInfo cExceptionInfo) {
                                      //根据 CExceptionInfo 返回数据判断异常接口错误信息
          }
      }
  3. 设置网络图片下载 Handler。

    1. 网络图片下载接口 ICKImageHandler

    2. ICKImageHandler 内部定义 onBitmapLoadedonBitmapFailed。方法如下:

      public interface ICKImageHandler {
      
          String loadImage(String var1, int var2, int var3, Map<String, Object> var4, ICKImageHandler.LoadImageListener var5);
      
          void cancel(String var1);
      
          public interface LoadImageListener {
              void onBitmapLoaded(Bitmap var1);
              void onBitmapFailed(Exception var1);
          }
      }
    3. 图片下载方法描述。

      限定符和类型

      方法和说明

      String

      loadImage(String var1, int var2, int var3, Map<String, Object> var4, ICKImageHandler.LoadImageListener var5)

      void

      cancel(String var1)

      void

      onBitmapLoaded(Bitmap var1)

      void

      onBitmapFailed(Exception var1)

    4. 图片下载方法详细描述。

      /**
      * 网络图片下载监听
      *
      * @param url - 图片下载网络地址 URL
      * @param width - 图片宽度
      * @param height - 图片高度
      * @param params - 参数
      * @param loadImageListener - 加载监听
      */
      String loadImage(String url, int width, int height, Map<String, Object> params, ICKImageHandler.LoadImageListener loadImageListener)
      
      
      /**
      * 网络图片下载取消监听
      *
      * @param var1 - URL
      */
      void cancel(String var1)
      
      
      /**
      * 图片下载成功监听
      *
      * @param var1 
      */
      void onBitmapLoaded(Bitmap var1)
      
      
      /**
      * 图片下载失败监听
      *
      * @param var1
      */
      void onBitmapFailed(Exception var1)
    5. Activity 中接入 ICKImageHandler 类,执行继承方法,重写网络图片下载功能。

      public class LocalCardsActivity extends AppCompatActivity implements ICKImageHandler {
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_local_cards);
              
          }
      
          @Override
          public String loadImage(String s, int i, int i1, Map<String, Object> map, LoadImageListener loadImageListener) {
              new Thread(){
                  @Override
                  public void run() {
                      try {
                          final Bitmap bitmap = HttpUtil.get(url, null, null);
                          if (bitmap != null){
                              if (loadImageListener != null){
                                  loadImageListener.onBitmapLoaded(bitmap);
                              }
                          }else {
                              if (loadImageListener != null){
                                  loadImageListener.onBitmapFailed(new Exception("bitmap is null"));
                              }
                          }
                      }catch (Exception e){
                          e.printStackTrace();
                          if (loadImageListener != null){
                              loadImageListener.onBitmapFailed(e);
                          }
                      }
                  }
              }.start();
              return url;
          }
      
          @Override
          public void cancel(String s) {
      
          }
      }