原信息是什么概念,该如何理解啊 HarmonyOS鸿蒙Next

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

原信息是什么概念,该如何理解啊 HarmonyOS鸿蒙Next 经常看到咱们的Api里提到, 从XX版本开始支持原信息XXX 这里原信息是啥意思啊,该如何理解啊

3 回复

您可以参考一下metadata标签:

module.json5配置文件-应用配置文件(Stage模型)-开发基础知识-基础入门 - 华为HarmonyOS开发者

Metadata主要是通过一个TAG(Key),去找对应的Data,用于传递参数和配置信息,减少内存拷贝操作。

参考demo

import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { bundleManager, common } from '@kit.AbilityKit';

@Entry
@Component
struct getMetadata {
  @State message: string = 'Hello World';
  context = this as common.UIAbilityContext;

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION;
          try {
            bundleManager.getBundleInfoForSelf(bundleFlags).then((bundleInfo: bundleManager.BundleInfo) => {
              hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s',
                JSON.stringify(bundleInfo));
              hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. MetaData: %{public}s',
                JSON.stringify(bundleInfo.appInfo.metadataArray));
              let arr = bundleInfo.appInfo.metadataArray;
              console.info("testTag arr is ", (arr instanceof Array));
              hilog.info(0x0000, 'testTag', 'arr : %{public}s', JSON.stringify(arr.length));
              for (let data of arr) {
                hilog.info(0x0000, 'testTag', 'MetaData name: %{public}s', JSON.stringify(data.moduleName));
                for (let metadata of data.metadata) {
                  hilog.info(0x0000, 'testTag', 'MetaData content: %{public}s', JSON.stringify(metadata));
                }
              }
            }).catch((err: BusinessError) => {
              hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message);
            });
          } catch (err) {
            let message = (err as BusinessError).message;
            hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message);
          }
        })
    }
    .height('100%')
    .width('100%')
  }
}

元服务问题您可以参考链接: 元服务定义 - 华为HarmonyOS开发者

更多关于原信息是什么概念,该如何理解啊 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


原信息在HarmonyOS鸿蒙Next中指的是系统底层的基础信息或元数据,用于描述设备、应用或服务的核心属性。它不依赖于具体的编程语言(如Java或C语言),而是系统架构的一部分。原信息可以包括设备的硬件配置、应用的功能描述、服务的接口定义等,这些信息为系统的运行、调度和优化提供了基础支持。

在HarmonyOS的分布式架构中,原信息是实现跨设备协同的关键。它允许不同的设备通过共享原信息来理解彼此的能力和状态,从而实现无缝的互联互通。例如,当多个设备组成一个超级终端时,原信息可以帮助系统识别每个设备的角色和功能,并动态调整任务分配。

理解原信息的概念,可以从系统设计的角度出发,将其视为HarmonyOS实现高效、灵活分布式能力的基石。它不涉及具体的开发语言,而是系统层面的抽象和定义。

HarmonyOS鸿蒙Next是华为推出的新一代操作系统,旨在构建一个全场景、多设备的智能生态。它采用分布式架构,支持跨设备协同,提供统一的开发框架,简化应用开发流程。鸿蒙Next强调低延迟、高效率和安全性,适用于智能手机、平板、智能家居、车载系统等多种设备,实现无缝连接与数据共享。其核心目标是提升用户体验,推动智能设备的互联互通,为开发者提供更广阔的创新平台。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!