精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發Ability Kit程序框架服務:API切換概述 API切換

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-28 16:23 ? 次閱讀

API切換概述

FA模型和Stage模型由于線程模型和進程模型的差異,部分接口僅在FA模型下才能使用,針對這部分接口在SDK的接口中有FAModelOnly的標記,用于提醒開發者這部分接口僅能在FA模型下使用。因此在切換到Stage模型時,需要將應用中用到的FAModelOnly接口替換成Stage模型下對應的接口。下面是startAbility的接口切換示例,全量接口列表請查看后續章節:

api-switch-overview

startAbility接口由FA模型切換到Stage模型的示例: 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • FA模型示例
    import featureAbility from '@ohos.ability.featureAbility';
    import Want from '@ohos.app.ability.Want';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PagePageAbilityFirst';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PagePageAbilityFirst {
    
      build() {
        Column() {
          List({ initialIndex: 0 }) {
            ListItem() {
              Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                //...
              }
              .onClick(() = > {
                (async (): Promise< void > = > {
                  try {
                    hilog.info(domain, TAG, 'Begin to start ability');
                    let want: Want = {
                      bundleName: 'com.samples.famodelabilitydevelop',
                      moduleName: 'entry',
                      abilityName: 'com.samples.famodelabilitydevelop.PageAbilitySingleton'
                    };
                    await featureAbility.startAbility({ want: want });
                    hilog.info(domain, TAG, `Start ability succeed`);
                  }
                  catch (error) {
                    hilog.error(domain, TAG, 'Start ability failed with ' + error);
                  }
                })()
              })
            }
            //...
          }
          //...
        }
        //...
      }
    }
    
  • Stage示例示例
  • HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
    搜狗高速瀏覽器截圖20240326151344.png
import hilog from '@ohos.hilog';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
import { Caller } from '@ohos.app.ability.UIAbility';

const TAG: string = '[Page_UIAbilityComponentsInteractive]';
const DOMAIN_NUMBER: number = 0xFF00;

@Entry
@Component
struct Page_UIAbilityComponentsInteractive {
  private context = getContext(this) as common.UIAbilityContext;
  caller: Caller | undefined = undefined;
  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            // context為Ability對象的成員,在非Ability對象內部調用需要
            // 將Context對象傳遞過去
            let wantInfo: Want = {
              deviceId: '', // deviceId為空表示本設備
              bundleName: 'com.samples.stagemodelabilitydevelop',
              moduleName: 'entry', // moduleName非必選
              abilityName: 'FuncAbilityA',
              parameters: { // 自定義信息
                info: '來自EntryAbility Page_UIAbilityComponentsInteractive頁面'
              },
            };
            // context為調用方UIAbility的UIAbilityContext
            this.context.startAbility(wantInfo).then(() = > {
              hilog.info(DOMAIN_NUMBER, TAG, 'startAbility success.');
            }).catch((error: BusinessError) = > {
              hilog.error(DOMAIN_NUMBER, TAG, 'startAbility failed.');
            });
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1452

    瀏覽量

    61420
  • 框架
    +關注

    關注

    0

    文章

    396

    瀏覽量

    17210
  • 鴻蒙
    +關注

    關注

    56

    文章

    2261

    瀏覽量

    42433
收藏 人收藏

    評論

    相關推薦

    鴻蒙服務API集全新呈現-開發更清晰高效

    鴻蒙服務API集全新呈現,開發更清晰高效,具體見如下截圖,深黑色部分即本階段公布支持的元服務API
    發表于 07-11 10:23

    鴻蒙Java API中aafwk是什么概念?有什么用途?

    1、鴻蒙Java API中的說明中aafwk是什么概念?什么文檔的縮寫?用途是什么?如ohos.aafwk.ability2、和ohos.accessibility.ability這一
    發表于 05-13 10:06

    OpenHarmony 應用開發SDK、API 與基礎工具

    一、整體說明 ArkTS 語言是鴻蒙系統主推的應用開發語言。因此鴻蒙系統提供給開發者的 API 絕大部分也是 ArkTS 語言的。
    發表于 09-19 15:45

    windows api大全

    Win32 API是從事Windows應用程序開發所必備的。 首先對Win32 API函數做完整的概述;然后收錄五大類函數:
    發表于 10-14 11:48 ?133次下載
    windows <b class='flag-5'>api</b>大全

    如何搭建API程序_框架api接口規范

    基于互聯網的應用正變得越來越普及,在這個過程中,有更多的站點將自身的資源開放給開發者來調用。對外提供的API 調用使得站點之間的內容關聯性更強,同時這些開放的平臺也為用戶、開發者和中小網站帶來了更大的價值。搭建
    發表于 01-04 17:48 ?1.2w次閱讀
    如何搭建<b class='flag-5'>API</b><b class='flag-5'>程序</b>_<b class='flag-5'>框架</b><b class='flag-5'>api</b>接口規范

    基于Java的接口快速開發框架——magic-api

    magic-api 是一個基于Java的接口快速開發框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Da
    發表于 07-19 11:42 ?741次閱讀
    基于Java的接口快速<b class='flag-5'>開發</b><b class='flag-5'>框架</b>——magic-<b class='flag-5'>api</b>

    API測試框架Grillon概述

    API測試框架Grillon概述
    的頭像 發表于 09-08 10:22 ?1866次閱讀

    鴻蒙應用模型:【Ability Kit】簡介

    Ability Kit程序框架服務)提供了應用程序開發
    的頭像 發表于 05-29 14:41 ?369次閱讀
    <b class='flag-5'>鴻蒙</b>應用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙Ability Kit程序框架服務)【Ability內頁面間的跳轉】

    基于Stage模型下的Ability開發,實現Ability內頁面間的跳轉和數據傳遞。
    的頭像 發表于 06-03 20:43 ?153次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>Ability</b>內頁面間的跳轉】

    鴻蒙Ability Kit程序框架服務)【Ability與ServiceExtensionAbility通信】

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發表于 06-05 09:28 ?315次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型概述

    本文介紹如何將一個FA模型開發的聲明式范式應用切換到Stage模型
    的頭像 發表于 06-26 14:40 ?201次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:FA模型<b class='flag-5'>切換</b>Stage模型<b class='flag-5'>概述</b>

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 app和deviceConfig的切換

    為了便于開發者維護應用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標簽提取到了app.json5中進行配置,并對部分標簽名稱進行了修改,具體差異見下表。
    的頭像 發表于 06-27 10:01 ?210次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:FA模型<b class='flag-5'>切換</b>Stage模型指導 app和deviceConfig的<b class='flag-5'>切換</b>

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 module的切換

    從FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異見下列表格。
    的頭像 發表于 06-27 14:16 ?237次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:FA模型<b class='flag-5'>切換</b>Stage模型指導 module的<b class='flag-5'>切換</b>

    鴻蒙開發Ability Kit程序框架服務:PageAbility切換 組件切換

    FA模型中PageAbility對應Stage模型中的UIAbility,PageAbility切換為UIAbility的方法如下。
    的頭像 發表于 06-28 11:38 ?227次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:PageAbility<b class='flag-5'>切換</b> 組件<b class='flag-5'>切換</b>

    鴻蒙開發Ability Kit程序框架服務:ServiceAbility切換 組件切換

    FA模型中的ServiceAbility對應Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility為系統API,只有系統
    的頭像 發表于 06-28 10:24 ?195次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:ServiceAbility<b class='flag-5'>切換</b> 組件<b class='flag-5'>切換</b>