update 开始贡献/openKylin+SDK开发指南V2.0.md.

Signed-off-by: chipo <gugudu@sina.com>
This commit is contained in:
chipo 2022-11-06 09:16:34 +00:00 committed by Gitee
parent 9e635b48ab
commit 53758bace9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 97 additions and 222 deletions

View File

@ -6,152 +6,62 @@ openSDK SIG
目录 目录
1
概述\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....1
2 ```
部署方式\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...2 1 概述
2 部署方式
3 系统能力 3 系统能力 SDK
SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....2 3.1 系统信息
3.1.1 系统时间报时
> 3.1 3.1.2 获取硬件信息
> 系统信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....2 3.1.3 获取包列表信息
> 3.1.4 获取资源信息
> 3.1.1 3.1.5 获取操作系统基础信息
> 系统时间报时\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....2 3.1.6 获取网络信息
> 3.1.7 获取系统运行时信息
> 3.1.2 3.1.8 获取当前地理信息
> 获取硬件信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....4 3.2 电源管理
> 3.2.1 锁屏设置
> 3.1.3 3.3 文件管理
> 获取包列表信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....21 3.4 AI 能力
> 3.4.1 OCR 文字识别功能
> 3.1.4 3.5 打印机管理
> 获取资源信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...23 4 应用支撑 SDK
> 4.1 QT 自研控件模块
> 3.1.5 4.1.1 窗体模块
> 获取操作系统基础信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....33 4.1.2 对话框模块
> 4.1.3 输入框模块
> 3.1.6 4.1.4 按钮模块
> 获取网络信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...40 4.1.5 Bar 模块
> 4.1.6 滑动条模块
> 3.1.7 4.1.7 消息提示模块
> 获取系统运行时信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...43 4.1.8 面包屑 KBreadCrumb
> 4.1.9 KCommentPanel
> 3.1.8 4.1.10 KListView
> 获取当前地理信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....45 4.1.11 KTag
> 4.1.12 KTranslucentFloor
> 3.2 4.2 Wayland-helper
> 电源管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...46 4.2.1 WindowManager
> 4.2.2 WindowInfo
> 3.2.1 4.2.3 UkuiStyleHelper
> 锁屏设置\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....46 4.3 应用通用功能模块
> 4.3.1 日志模块
> 3.3 4.3.2 系统相关模块
> 文件管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...47 4.3.3 d-bus 模块------即将废弃
> 4.3.4 系统信息模块
> 3.4 AI 5 基础开发 SDK
> 能力\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...48 5.1 日志
> 5.2 定时器
> 3.4.1 OCR 5.3 C 语言字符串扩展
> 文字识别功能\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...48 5.4 链表模块
> 5.5 配置文件操作
> 3.5 5.6 单位进制转换
> 打印机管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....49 ```
4 应用支撑
SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....53
> 4.1 QT
> 自研控件模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....54
>
> 4.1.1
> 窗体模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....56
>
> 4.1.2
> 对话框模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....59
>
> 4.1.3
> 输入框模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....73
>
> 4.1.4
> 按钮模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....76
>
> 4.1.5 Bar
> 模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...85
>
> 4.1.6
> 滑动条模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....90
>
> 4.1.7
> 消息提示模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...92
>
> 4.1.8 面包屑
> KBreadCrumb\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...95
>
> 4.1.9
> KCommentPanel\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....95
>
> 4.1.10
> KListView\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....96
>
> 4.1.11
> KTag\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....96
>
> 4.1.12
> KTranslucentFloor\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....97
>
> 4.2
> Wayland-helper\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....98
>
> 4.2.1
> WindowManager\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....99
>
> 4.2.2
> WindowInfo\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...102
>
> 4.2.3
> UkuiStyleHelper\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....102
>
> 4.3
> 应用通用功能模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...103
>
> 4.3.1
> 日志模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...103
>
> 4.3.2
> 系统相关模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....103
>
> 4.3.3 d-bus
> 模块------即将废弃\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...105
>
> 4.3.4
> 系统信息模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....106
5 基础开发
SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...109
> 5.1
> 日志\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...109
>
> 5.2
> 定时器\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....113
>
> 5.3 C
> 语言字符串扩展\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....116
>
> 5.4
> 链表模块\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....124
>
> 5.5
> 配置文件操作\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....128
>
> 5.6
> 单位进制转换\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....131
### **1** 概述
# 1 概述
openKylin 自研开发者套件(以下简称 openSDK是在 openKylin 社区操作系统上为生态建设与软件开发提供安全、可靠、快捷、稳定的开发者接口。相比于社区中其他的开发者套件或框架openSDK 更加聚焦于解决开放麒麟桌面操作系统的兼容、适配、移植、优化等方面的问题。openSDK 当前聚焦三大模块,包括应用支撑 SDK、系统能力 SDK、基础开发 SDK同时充分考虑 openSDK 的兼容性。 openKylin 自研开发者套件(以下简称 openSDK是在 openKylin 社区操作系统上为生态建设与软件开发提供安全、可靠、快捷、稳定的开发者接口。相比于社区中其他的开发者套件或框架openSDK 更加聚焦于解决开放麒麟桌面操作系统的兼容、适配、移植、优化等方面的问题。openSDK 当前聚焦三大模块,包括应用支撑 SDK、系统能力 SDK、基础开发 SDK同时充分考虑 openSDK 的兼容性。
@ -166,10 +76,7 @@ SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\
| 基础开发 SDK | 聚焦于应用开发过程中,为开发者提供日志管理、封装字符串处理等能力,提升开发效率; | | 基础开发 SDK | 聚焦于应用开发过程中,为开发者提供日志管理、封装字符串处理等能力,提升开发效率; |
# 2 部署方式
### **2** 部署方式
openKylin 社区自研开发者套件下载使用时需提前添加 openSDK 源地址,安装步骤如下: openKylin 社区自研开发者套件下载使用时需提前添加 openSDK 源地址,安装步骤如下:
@ -177,102 +84,70 @@ SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\
1软件源 1软件源
``` ```
deb http://archive.build.openKylin.top/openKylin/ yangtze main cross deb http://archive.build.openKylin.top/openKylin/ yangtze main cross pty
pty
deb http://archive.build.openKylin.top/openKylin/ yangtze-security main cross deb http://archive.build.openKylin.top/openKylin/ yangtze-security main cross pty
pty
deb http://archive.build.openKylin.top/openKylin/ yangtze-updates main cross deb http://archive.build.openKylin.top/openKylin/ yangtze-updates main cross pty
pty
``` ```
2配置后更新源 2配置后更新源
+----------------------+
| > \$ sudo apt update |
+----------------------+
+-------+----------------+ ```
| **3** | > 系统能力 SDK | $ sudo apt update
+-------+----------------+ ```
# 3 系统能力 SDK
> 系统能力 SDK 中的每个软件包均表述了一个或一类系统能力,例如操作系 系统能力 SDK 中的每个软件包均表述了一个或一类系统能力,例如操作系统信息、硬件管理、系统内生安全策略、网络管理等;
>
> 统信息、硬件管理、系统内生安全策略、网络管理等;
>
> 安装命令:
+---------------------------------------------------------------+ 安装命令:
| > \$ sudo apt-get install libkysdk-system libkysdk-system-dev |
+---------------------------------------------------------------+
> **3.1** 系统信息 ```
> $ sudo apt-get install libkysdk-system libkysdk-system-dev
> 该层设计主要为应用提供与操作系统相关的功能接口,以自研、组合、封 ```
装三种方式,将与 OS 相关功能(如文件系统、硬件信息、通信等)以功能为 ## 3.1 系统信息
> 角度重新实现;屏蔽系统差异、平台差异带来的开发复杂性与调试难度。 该层设计主要为应用提供与操作系统相关的功能接口,以自研、组合、封装三种方式,将与 OS 相关功能(如文件系统、硬件信息、通信等)以功能为角度重新实现;屏蔽系统差异、平台差异带来的开发复杂性与调试难度。
+-----------+----------------+ ### 3.1.1 系统时间报时
| **3.1.1** | > 系统时间报时 |
+-----------+----------------+
> 当系统时间在整分或系统时间被修改时com.kylin.kysdk.TimeServer Dbus 当系统时间在整分或系统时间被修改时com.kylin.kysdk.TimeServer Dbus 服务会发出报时信号。
>
> 服务会发出报时信号。
+----------------------------------------------------------------------+
| \$ sudo apt-get install libdbus-1-dev libdbus-glib-1-dev |
| libkysdk-systime libkysdk- |
| |
| > systime-dev |
+----------------------------------------------------------------------+
> 1dbus 服务名称com.kylin.kysdk.TimeServer ```
> $ sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libkysdk-systime libkysdk-systime-dev
> 2路径名称/com/kylin/kysdk/Timer ```
>
> 3Interfacescom.kylin.kysdk.TimeInterface
>
> 4信号
>
> 系统时间修改信号TimeChangeSignal
>
> 定时报时信号TimeSignal
>
> 系统时间修改报时
+----------+------------+--------------------+--------------------+---+ 1dbus 服务名称com.kylin.kysdk.TimeServer
| > 子模块 | > 编程语言 | 声明 | > 描述 | |
+==========+============+====================+====================+===+
| 系统时间 | > C | > void | 当系统时间被修改 | |
| | | > Time | | |
| 报时 | | ChangeSignal(const | > 时 | |
| | | > char\* t) | > | |
| | | | > co | |
| | | | m.kylin.kysdk.Time | |
| | | | | |
| | | | ServerDbus | |
| | | | 服务会发 | |
| | | | | |
| | | | > 出报时信号 | |
+----------+------------+--------------------+--------------------+---+
| | | > 参数说明 | > 返回值说明 | |
+----------+------------+--------------------+--------------------+---+
| | | t当前时间 如: | > 无 | |
| | | | | |
| | | > \"2021/09/26 | | |
| | | > | | |
| | | > 21:13:28\" | | |
+----------+------------+--------------------+--------------------+---+
> 系统时间整分报时 2路径名称/com/kylin/kysdk/Timer
3Interfacescom.kylin.kysdk.TimeInterface
4信号
系统时间修改信号TimeChangeSignal
定时报时信号TimeSignal
系统时间修改报时
| 子模块 | 编程语言 | 声明 | 描述 |
| :----: | :----: | :----: | :----: |
| 系统时间报时 | C | void TimeChangeSignal(const char* t) | 当系统时间被修改时com.kylin.kysdk.TimeServerDbus 服务会发出报时信号|
| | | 参数说明 | 返回值说明 |
| | | t当前时间 如:"2021/09/26 21:13:28" | 无 |
系统时间整分报时
+----------+------------+---------------------------------+-------------------------+ +----------+------------+---------------------------------+-------------------------+
| > 子模块 | > 编程语言 | 声明 | > 描述 | | > 子模块 | > 编程语言 | 声明 | > 描述 |