天天看點

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);      

如:

assets_managers_set_applet_res_root("applets/");      

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;      

示例:

<window text="foo" anim_hint="htranslate" applet_name="foo">
...
</window>      

1.3 打開小應用程式 (applet) 中的視窗

要進入小應用程式 (applet),就要打開其中的視窗。在調用 window_open 時就要指定小應用程式 (applet) 的名稱。

格式為:小應用程式 (applet) 名 . 視窗名

示例:

window_open("foo.main");      

2. 小應用程式 (applet) 的管理

3. 完整示例