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

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

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

3天內不再提示

鴻蒙開發:創建PageAbility

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-18 09:36 ? 次閱讀

創建PageAbility

通過DevEco Studio開發平臺創建PageAbility時,DevEco Studio會在app.js/app.ets中默認生成onCreate()和onDestroy()方法,其他方法需要開發者自行實現。接口說明參見前述章節,創建PageAbility示例如下:

import featureAbility from '@ohos.ability.featureAbility';
import hilog from '@ohos.hilog';

const TAG: string = 'MainAbility';
const domain: number = 0xFF00;

class MainAbility {
  onCreate() {
    // 獲取context并調用相關方法
    let context = featureAbility.getContext();
    context.getBundleName((data, bundleName) = > {
      hilog.info(domain, TAG, 'ability bundleName:' ,bundleName);
    });
    hilog.info(domain, TAG, 'Application onCreate');
  }

  onDestroy() {
    hilog.info(domain, TAG, 'Application onDestroy');
  }

  onShow(): void {
    hilog.info(domain, TAG, 'Application onShow');
  }

  onHide(): void {
    hilog.info(domain, TAG, 'Application onHide');
  }

  onActive(): void {
    hilog.info(domain, TAG, 'Application onActive');
  }

  onInactive(): void {
    hilog.info(domain, TAG, 'Application onInactive');
  }

  onNewWant() {
    hilog.info(domain, TAG, 'Application onNewWant');
  }
}

export default new MainAbility();

PageAbility創建成功后,其abilities相關的配置項在config.json中體現,一個名字為EntryAbility的config.json配置文件示例如下:

{
  ...
  "module": {
    ...
    "abilities": [
      {
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ],
        "orientation": "unspecified",
        "formsEnabled": false,
        "name": ".MainAbility",
        "srcLanguage": "ets",
        "srcPath": "MainAbility",
        "icon": "$media:icon",
        "description": "$string:MainAbility_desc",
        "label": "$string:MainAbility_label",
        "type": "page",
        "visible": true,
        "launchType": "singleton"
      },
      ...
    ]
    ...
  }
}

FA模型中,可以通過featureAbility的getContext接口獲取應用上下文,進而使用上下文提供的能力。

表1 featureAbility接口說明

接口名接口描述
getContext()獲取應用上下文。開發前請熟悉鴻蒙開發指導文檔:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。

新文檔.png

通過getContext獲取應用上下文并獲取分布式目錄的示例如下:

import featureAbility from '@ohos.ability.featureAbility';
import fs from '@ohos.file.fs';
import promptAction from '@ohos.promptAction';
import hilog from '@ohos.hilog';

const TAG: string = 'PagePageAbilityFirst';
const domain: number = 0xFF00;
(async (): Promise< void > = > {
  let dir: string;
  try {
    hilog.info(domain, TAG, 'Begin to getOrCreateDistributedDir');
    dir = await featureAbility.getContext().getOrCreateDistributedDir();
    promptAction.showToast({
      message: dir
    });
    hilog.info(domain, TAG, 'distribute dir is ' + dir);
    let fd: number;
    let path = dir + '/a.txt';
    fd = fs.openSync(path, fs.OpenMode.READ_WRITE).fd;
    fs.close(fd);
  } catch (error) {
    hilog.error(domain, TAG, 'getOrCreateDistributedDir failed with : ' + error);
  }
})()

審核編輯 黃宇

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

    關注

    33

    文章

    8499

    瀏覽量

    150837
  • 鴻蒙
    +關注

    關注

    57

    文章

    2310

    瀏覽量

    42746
收藏 人收藏

    評論

    相關推薦

    鴻蒙Ability開發-Stage模型下Ability的創建和使用

    ); hilog.info(ENTRY_ABILITY_DOMAIN, TAG, \'%{public}s\', \'Ability onBackground\'); } } 本文內容是鴻蒙開發
    發表于 01-08 15:34

    HarmonyOS應用開發-PageAbility生命周期介

    調用onDestroy方法,開發者可以在該方法里做一些回收資源、清空緩存等應用退出前的準備工作。onCreate() :Ability第一次啟動創建Ability時調用onCreate方法,開發者可以
    發表于 10-17 11:11

    HarmonyOS/OpenHarmony應用開發-PageAbility開發體驗

    功能簡介PageAbility是具備ArkUI實現的Ability,是開發者具體可見并可以交互的Ability實例。開發者通過IDE創建Ability時,IDE會自動
    發表于 12-08 11:03

    鴻蒙應用開發者使用的精美圖表庫控件

    該三方開源庫從github fork過來,主要將底層接口調用的實現修改成鴻蒙接口的實現,將三方庫鴻蒙化,供開發鴻蒙應用的開發者使用 Eaze
    發表于 04-01 10:31 ?1次下載

    中文編程鴻蒙Hi3861開發基礎案例之-01創建新工程

    中文編程鴻蒙Hi3861開發創建新工程
    的頭像 發表于 05-11 09:53 ?2643次閱讀
    中文編程<b class='flag-5'>鴻蒙</b>Hi3861<b class='flag-5'>開發</b>基礎案例之-01<b class='flag-5'>創建</b>新工程

    使用 Taro 開發鴻蒙原生應用 —— 快速上手,鴻蒙應用開發指南

    隨著鴻蒙系統的不斷完善,許多應用廠商都希望將自己的應用移植到鴻蒙平臺上。最近,Taro 發布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發鴻蒙原生應用,也可將現有的
    的頭像 發表于 02-02 16:09 ?823次閱讀
    使用 Taro <b class='flag-5'>開發</b><b class='flag-5'>鴻蒙</b>原生應用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應用<b class='flag-5'>開發</b>指南

    鴻蒙開發:【PageAbility組件概述+配置】

    PageAbility是包含UI、提供展示UI能力的應用組件,主要用于與用戶交互。
    的頭像 發表于 06-17 18:05 ?458次閱讀

    鴻蒙開發:【PageAbility的生命周期】

    PageAbility生命周期是PageAbility被調度到INACTIVE、ACTIVE、BACKGROUND等各個狀態的統稱。PageAbility生命周期流轉及狀態說明見如下圖1、表1所示。
    的頭像 發表于 06-17 10:05 ?666次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:【<b class='flag-5'>PageAbility</b>的生命周期】

    鴻蒙開發PageAbility的啟動模式

    啟動模式對應PageAbility被啟動時的行為,支持單實例模式、多實例模式兩種啟動模式。
    的頭像 發表于 06-17 14:35 ?319次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:<b class='flag-5'>PageAbility</b>的啟動模式

    鴻蒙開發:啟動本地PageAbility

    PageAbility相關的能力通過featureAbility提供,啟動本地Ability通過featureAbility中的startAbility接口實現。
    的頭像 發表于 06-18 09:29 ?262次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:啟動本地<b class='flag-5'>PageAbility</b>

    鴻蒙開發:停止PageAbility

    停止PageAbility通過featureAbility中的terminateSelf接口實現。
    的頭像 發表于 06-18 14:16 ?281次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:停止<b class='flag-5'>PageAbility</b>

    鴻蒙開發:啟動遠程PageAbility 僅對系統應用開放

    啟動遠程PageAbility同樣通過featureAbility中的startAbility接口實現。
    的頭像 發表于 06-19 09:34 ?219次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:啟動遠程<b class='flag-5'>PageAbility</b> 僅對系統應用開放

    鴻蒙開發:啟動指定頁面

    PageAbility的啟動模式設置為單例時(具體設置方法和典型場景示例見[PageAbility的啟動模式],缺省情況下是單實例模式),若PageAbility已被拉起,再次啟動PageA
    的頭像 發表于 06-19 09:29 ?366次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>:啟動指定頁面

    鴻蒙開發Ability Kit程序框架服務:Stage模型啟動FA模型PageAbility

    本小節介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。
    的頭像 發表于 06-26 09:50 ?328次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>Ability Kit程序框架服務:Stage模型啟動FA模型<b class='flag-5'>PageAbility</b>

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

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