• AWTK 支持可独立安装的小应用程序 (applet)


    支持可独立安装的小应用程序 (applet)

    AWTK 应用程序通常是一个单体的应用程序,里面所有的窗口都共享一个资源包(目录),不能单独卸载和安装。但是在有的设备里,AWTK 应用程序又扮演着"系统"的角色,比如在智能手表中,用户可以自己安装喜欢的表盘甚至应用程序,为了方便说明,我们可以独立安装的这类应用程序成为小应用程序 (applet)。

    小应用程序 (applet) 的资源必须是独立的,才方便安装和卸载。运行时,先到自己的资源目录中找资源,如果找不到,再到系统中去找。AWTK 最近对此做了支持。具体使用方法如下:

    1. 使用方法

    1.1 设置小应用程序 (applet) 资源所在的根目录(所有的小应用程序 (applet) 的资源都安装到该目录下)。

    /**
     * @method assets_managers_set_applet_res_root
     * 设置小应用程序 (applet) 的资源根目录。
     * @param {const char*} res_root 资源根目录。
     *
     * @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
     */
    ret_t assets_managers_set_applet_res_root(const char* res_root);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如:

    assets_managers_set_applet_res_root("applets/");
    
    • 1

    1.2 为窗口指定 applet_name 属性

    为窗口指定 applet_name 属性后,窗口优先到对应的 applet 中查找引用的资源,如果找不到就到系统中去查找。

    在开发小程序应用 (applet),其中所有窗口都必须指定同一个 applet 名称。

      /** 
       * @property {char*} applet_name
       * @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
       * 小应用程序 (applet) 的名称。
       *
       * > 如果该窗口属于某个独立的小程序应用 (applet),需要指定它的名称,以便到对应的资源目录查找资源。
       */
      char* applet_name;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    示例:

    <window text="foo" anim_hint="htranslate" applet_name="foo">
    ...
    </window>
    
    • 1
    • 2
    • 3

    1.3 打开小应用程序 (applet) 中的窗口

    要进入小应用程序 (applet),就要打开其中的窗口。在调用 window_open 时就要指定小应用程序 (applet) 的名称。

    格式为:小应用程序 (applet) 名 . 窗口名

    示例:

    window_open("foo.main");
    
    • 1

    2. 小应用程序 (applet) 的管理

    对小应用程序 (applet) 的管理,比如安装、卸载和查看,需要应用程序自己处理。

    3. 完整示例

    完整示例

  • 相关阅读:
    10. 同步控制指令
    使用 webpack 打包 express 应用
    Go--运算符
    (Java)类和对象
    示波器电流探头消磁如何正确操作
    工业信息物理系统攻击检测增强模型
    快速入门Docker
    基于JAVA微博网站计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    我这个代码可以通过深度优先搜索实现逆拓扑排序时检测出有回路的存在吗
    易动纷享--测试实习生视频面试
  • 原文地址:https://blog.csdn.net/absurd/article/details/125612147