移植案例与原理 - startup子系统之syspara_lite系统属性部件 (2)

news2024/11/24 13:05:44

系统属性部件syspara_lite负责提供获取与设置操作系统相关的系统属性,包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范,产品解决方案需要实现获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置/读取系统属性的接口。在《移植案例与原理 - startup子系统之syspara_lite系统属性部件》中,我们介绍了移植开发板时如何适配系统属性部件syspara_lite,并介绍了相关的运行机制原理。本文主要介绍如何使用syspara_lite系统属性部件的接口,然后详细介绍下syspara_lite系统属性部件的各个接口。

1、系统参数syspara_lite部件使用例子

下面是系统参数syspara_lite部件使用例子,来自https://gitee.com/openharmony/startup_syspara_lite。⑴处获取设备类型,⑵处获取厂商名称,⑶处获取品牌名称。其他系统属性接口调用的例子类似,详细的接口说明下文会提供。

⑴  char* value1 = GetDeviceType();
    printf("Device type =%s\n", value1);
    free(value1);
⑵  char* value2 = GetManufacture();
    printf("Manufacture =%s\n", value2);
    free(value2);
⑶  char* value3 = GetBrand();
    printf("GetBrand =%s\n", value3);
    free(value3);

2、系统参数syspara_lite部件接口信息

在文件base\startup\syspara_lite\interfaces\innerkits\native\syspara\include\parameter.h中定义了系统属性的接口。系统属性接口说明如下表所示:

接口名描述
int GetParameter(const char* key, const char* def, char* value, unsigned int len)获取系统参数
int SetParameter(const char* key, const char* value)设置/更新系统参数
const char* GetDeviceType(void)返回当前设备类型
const char* GetManufacture(void)返回当前设备生产厂家信息
const char* GetBrand(void)返回当前设备品牌信息
const char* GetMarketName(void)返回当前设备传播名
const char* GetProductSeries(void)返回当前设备产品系列名
const char* GetProductModel(void)返回当前设备认证型号
const char* GetSoftwareModel(void)返回当前设备内部软件子型号
const char* GetHardwareModel(void)返回当前设备硬件版本号
const char* GetHardwareProfile(void)返回当前设备硬件profile
const char* GetSerial(void)返回当前设备序列号(SN号)
const char* GetOSFullName(void)返回操作系统名
const char* GetDisplayVersion(void)返回当前设备用户可见的软件版本号
const char* GetBootloaderVersion(void)返回当前设备Bootloader版本号
const char* GetSecurityPatchTag(void)返回安全补丁标签
const char* GetAbiList(void)返回当前设备支持的指令集(Abi)列表
int GetSdkApiVersion(void)返回与当前系统软件匹配的SDK API 版本号
int GetFirstApiVersion(void)返回系统软件首版本SDK API 版本号
const char* GetIncrementalVersion(void)返回差异版本号
const char* GetVersionId(void)返回版本id
const char* GetBuildType(void)返回构建类型
const char* GetBuildUser(void)返回构建账户用户名
const char* GetBuildHost(void)返回构建主机名
const char* GetBuildTime(void)返回构建时间
const char* GetBuildRootHash(void)返回当前版本hash
const char* GetOsReleaseType(void)返回系统发布类型
int GetDevUdid(char *udid, int size)获取设备udid

小结

本文介绍了如何使用syspara_lite系统属性部件的接口,然后详细介绍下syspara_lite系统属性部件的各个接口。

如果大家想更加深入的学习 OpenHarmony 开发的内容,不妨可以参考以下相关学习文档进行学习,助你快速提升自己:

OpenHarmony 开发环境搭建:https://qr18.cn/CgxrRy

《OpenHarmony源码解析》:https://qr18.cn/CgxrRy

  • 搭建开发环境
  • Windows 开发环境的搭建
  • Ubuntu 开发环境搭建
  • Linux 与 Windows 之间的文件共享
  • ……

系统架构分析:https://qr18.cn/CgxrRy

  • 构建子系统
  • 启动流程
  • 子系统
  • 分布式任务调度子系统
  • 分布式通信子系统
  • 驱动子系统
  • ……

OpenHarmony 设备开发学习手册:https://qr18.cn/CgxrRy

在这里插入图片描述

OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy

写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新学习资源,请移步前往小编:https://qr21.cn/FV7h05

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1833329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手持气象仪:科技与自然交汇的奇妙工具

TH-SQ5在广袤无垠的大自然中,天气总是瞬息万变,让人难以捉摸。然而,随着科技的进步,人类已经能够借助各种先进的仪器来预测和监测天气变化,其中,手持气象仪便是其中的佼佼者。 手持气象仪,顾名…

聚焦 Navicat 17 新特性 | 查询与配置的革新之处

随着 Navicat 17 的发布,引起业界热烈讨论与关注,这也标志着 Navicat 的产品力再次飞跃。新版本引入的众多创新特性极大地提升了用户在数据库管理和数据分析方面的体验,涵盖模型设计与同步、数据字典、数据分析(data profiling&am…

安卓手机删除文件怎么找回?2个方法,一键救援错过的数据

我们通过手机拍照、录音、录像、浏览网页、社交互动等方式记录和分享生活中的每一个瞬间。然而,手机中的数据也是我们最容易误删的。 当我们不小心删除了重要的文件或数据时,将给生活和工作带来不小的困扰。那么,删除文件怎么找回呢&#xf…

人脸识别系统---年龄预测

一、预测年龄 1.加载预训练的人脸检测模型 face_cascade cv2.CascadeClassifier(haarcascade_frontalface_default.xml)2.加载预训练的性别和年龄识别模型 gender_net cv2.dnn.readNetFromCaffe(deploy_gender.prototxt, gender_net.caffemodel) age_net cv2.dnn.readNet…

英语恶补ing

ing的词组都有停下来做某事的感觉了。 second hand是形容词了。 wouldnt buy这里的would是情态动词,也是助动词 助动词不能单独使用,要搭配实义动词,这样才能构成谓语 情态动词(modals)在英语中有多种作用&#xff…

Linux系统编程——网络编程

目录 一、对于Socket、TCP/UDP、端口号的认知: 1.1 什么是Socket: 1.2 TCP/UDP对比: 1.3 端口号的作用: 二、字节序 2.1 字节序相关概念: 2.2 为什么会有字节序: 2.3 主机字节序转换成网络字节序函数…

springboot + Vue前后端项目(第十七记)

项目实战第十七记 写在前面1. 个人信息1.1 Person.vue1.2 设置路由并改动Header.vue1.3 动态刷新头像1.3.1 在保存个人信息时,触发方法1.3.2 父组件Manage.vue1.3.3 再将user以prop方式传递给子组件Header.vue1.3.4 Header.vue使用user 1.4 效果图 2. 修改密码2.1 前…

《跟我一起学“网络安全”》——等保风评加固应急响应

等保风评加固应急响应 一、安全加固 背景 随着IP技术的飞速发展,一个组织的信息系统经常会面临内部和外部威胁的风险,网络安全已经成为影响信息系统的关键问题。 虽然传统的防火墙等各类安全产品能提供外围的安全防护,但并不能真正彻底的消…

每日复盘-202406017

今日关注: 20240617 六日涨幅最大: ------1--------301036--------- 双乐股份 五日涨幅最大: ------1--------301176--------- 逸豪新材 四日涨幅最大: ------1--------300868--------- 杰美特 三日涨幅最大: ------1--------301082--------- 久盛电气 二日涨幅最大…

day02论文学习:能够使大语言模型产生带有引用的文章

1.主题:Enabling Large Language Models to Generate Text with Citations(能够使大语言模型产生带有引用的文章) 引用出处: Gao, T., Yen, H., Yu, J., & Chen, D. (2023). Enabling Large Language Models to Generate Tex…

C#特性-CallerMemberName、CallerFilePath和CallerLineNumber的介绍和应用

介绍 在csharp中,CallerMemberName, CallerFilePath, 和 CallerLineNumber 是编译时常量,它们是csharp 5.0引入的特性,用于提供有关调用堆栈的信息,通常用于日志记录和调试。这些特性可以自动填充方法的参数,无需显式…

你必须知道的Linux基础知识(一)

Linux简介 类 Unix 系统 Linux 是一种自由、开放源码的类似 Unix 的操作系统 Linux 本质是指 Linux 内核 Linux 这个词本身只表示 Linux 内核,单独的 Linux 内核并不能成为一个可以正常工作的操作系统,所以Linux 出现了各种发行版。 Linux 之父 (林纳斯本纳第…

【系统架构设计师】一、计算机系统基础知识(指令系统|存储系统|输入输出技术|总线结构)

目录 一、指令系统 1.1 计算机指令 1.2 指令寻址方式 1.3 CISC 与 RISC 1.4 指令流水线 二、存储系统 2.1 分级存储体系 2.2 地址映射 2.3 替换算法 2.4 磁盘 2.4.1 磁盘结构和参数 2.4.2 磁盘调度算法 三、输入输出技术 四、总线结构 五、考试真题练习 一、指令…

-------------------------面试散文-----------------------------------

问题1:vue中动态引入图片,为什么使用require? 回答:因为动态添加的src 编译过后的文件地址和被编译过后的资源文件地址不一致,从而导致无法访问题 而使用require 返回的就是资源文件被编译后的文件地址,从…

Linux 按键输入实验

Linux 按键输入实验 1、添加 pinctrl 节点 首先修改在设备树里面添加关于按键的节点。I.MX6U-ALPHA 开发板上的 KEY 使用了 UART1_CTS_B 这个 PIN,打开 imx6ull-alientekemmc.dts,在 iomuxc 节点的 imx6ul-evk 子节点下创建一个名为“pinctrl_key”的子…

OSPF 动态路由协议(思科、华为)

#交换设备 OSPF 动态路由协议 一、基本概念 1.中文翻译:开放式最短路径优先路由协议(open shortest path first),是一个内部网关路由协议(一个自治系统内)2.也称为:链路状态路由协议&#xf…

CAD二次开发(9)- CAD中对象的实时选择

1. 点的拾取 有时候我们需要在CAD画布上实时选取起始点和结束点,然后绘制出来一条直线。实现如下: public void getPoint(){var doc Application.DocumentManager.MdiActiveDocument;var editor doc.Editor;var docDatabase doc.Database;PromptPoi…

Spring Cloud Alibaba Nacos持久化配置

所谓的持久化就是将Nacos配置持久化存储到数据库里面,在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力。 ① 找到并执行sql脚本 这里路径为:n…

摄影构图:人像摄影和风景摄影的一些建议

写在前面 博文内容涉及摄影中人像摄影和风景摄影的简单介绍《高品质摄影全流程解析》 读书笔记整理理解不足小伙伴帮忙指正 😃 生活加油 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样…