forked from openkylin/docs
update 开始贡献/openKylin+SDK开发指南V2.0.md.
Signed-off-by: chipo <gugudu@sina.com>
This commit is contained in:
parent
9e635b48ab
commit
53758bace9
|
@ -6,152 +6,62 @@ openSDK SIG
|
|||
|
||||
目录
|
||||
|
||||
1
|
||||
概述\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....1
|
||||
|
||||
2
|
||||
部署方式\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...2
|
||||
|
||||
3 系统能力
|
||||
SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....2
|
||||
|
||||
> 3.1
|
||||
> 系统信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....2
|
||||
>
|
||||
> 3.1.1
|
||||
> 系统时间报时\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....2
|
||||
>
|
||||
> 3.1.2
|
||||
> 获取硬件信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....4
|
||||
>
|
||||
> 3.1.3
|
||||
> 获取包列表信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....21
|
||||
>
|
||||
> 3.1.4
|
||||
> 获取资源信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...23
|
||||
>
|
||||
> 3.1.5
|
||||
> 获取操作系统基础信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....33
|
||||
>
|
||||
> 3.1.6
|
||||
> 获取网络信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...40
|
||||
>
|
||||
> 3.1.7
|
||||
> 获取系统运行时信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...43
|
||||
>
|
||||
> 3.1.8
|
||||
> 获取当前地理信息\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....45
|
||||
>
|
||||
> 3.2
|
||||
> 电源管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...46
|
||||
>
|
||||
> 3.2.1
|
||||
> 锁屏设置\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....46
|
||||
>
|
||||
> 3.3
|
||||
> 文件管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...47
|
||||
>
|
||||
> 3.4 AI
|
||||
> 能力\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...48
|
||||
>
|
||||
> 3.4.1 OCR
|
||||
> 文字识别功能\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...48
|
||||
>
|
||||
> 3.5
|
||||
> 打印机管理\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....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 概述
|
||||
2 部署方式
|
||||
3 系统能力 SDK
|
||||
3.1 系统信息
|
||||
3.1.1 系统时间报时
|
||||
3.1.2 获取硬件信息
|
||||
3.1.3 获取包列表信息
|
||||
3.1.4 获取资源信息
|
||||
3.1.5 获取操作系统基础信息
|
||||
3.1.6 获取网络信息
|
||||
3.1.7 获取系统运行时信息
|
||||
3.1.8 获取当前地理信息
|
||||
3.2 电源管理
|
||||
3.2.1 锁屏设置
|
||||
3.3 文件管理
|
||||
3.4 AI 能力
|
||||
3.4.1 OCR 文字识别功能
|
||||
3.5 打印机管理
|
||||
4 应用支撑 SDK
|
||||
4.1 QT 自研控件模块
|
||||
4.1.1 窗体模块
|
||||
4.1.2 对话框模块
|
||||
4.1.3 输入框模块
|
||||
4.1.4 按钮模块
|
||||
4.1.5 Bar 模块
|
||||
4.1.6 滑动条模块
|
||||
4.1.7 消息提示模块
|
||||
4.1.8 面包屑 KBreadCrumb
|
||||
4.1.9 KCommentPanel
|
||||
4.1.10 KListView
|
||||
4.1.11 KTag
|
||||
4.1.12 KTranslucentFloor
|
||||
4.2 Wayland-helper
|
||||
4.2.1 WindowManager
|
||||
4.2.2 WindowInfo
|
||||
4.2.3 UkuiStyleHelper
|
||||
4.3 应用通用功能模块
|
||||
4.3.1 日志模块
|
||||
4.3.2 系统相关模块
|
||||
4.3.3 d-bus 模块------即将废弃
|
||||
4.3.4 系统信息模块
|
||||
5 基础开发 SDK
|
||||
5.1 日志
|
||||
5.2 定时器
|
||||
5.3 C 语言字符串扩展
|
||||
5.4 链表模块
|
||||
5.5 配置文件操作
|
||||
5.6 单位进制转换
|
||||
```
|
||||
|
||||
|
||||
### **1** 概述
|
||||
|
||||
# 1 概述
|
||||
|
||||
|
||||
openKylin 自研开发者套件(以下简称 openSDK)是在 openKylin 社区操作系统上,为生态建设与软件开发提供安全、可靠、快捷、稳定的开发者接口。相比于社区中其他的开发者套件或框架,openSDK 更加聚焦于解决开放麒麟桌面操作系统的兼容、适配、移植、优化等方面的问题。openSDK 当前聚焦三大模块,包括应用支撑 SDK、系统能力 SDK、基础开发 SDK,同时充分考虑 openSDK 的兼容性。
|
||||
|
||||
|
@ -166,10 +76,7 @@ SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\
|
|||
| 基础开发 SDK | 聚焦于应用开发过程中,为开发者提供日志管理、封装字符串处理等能力,提升开发效率; |
|
||||
|
||||
|
||||
|
||||
|
||||
### **2** 部署方式
|
||||
|
||||
# 2 部署方式
|
||||
|
||||
|
||||
openKylin 社区自研开发者套件下载使用时需提前添加 openSDK 源地址,安装步骤如下:
|
||||
|
@ -177,102 +84,70 @@ SDK\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\
|
|||
(1)软件源:
|
||||
|
||||
|
||||
|
||||
```
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze main cross
|
||||
pty
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze main cross pty
|
||||
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze-security main cross
|
||||
pty
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze-security main cross pty
|
||||
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze-updates main cross
|
||||
pty
|
||||
deb http://archive.build.openKylin.top/openKylin/ yangtze-updates main cross pty
|
||||
```
|
||||
|
||||
|
||||
|
||||
(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 |
|
||||
+----------------------------------------------------------------------+
|
||||
|
||||
> (1)dbus 服务名称:com.kylin.kysdk.TimeServer
|
||||
>
|
||||
> (2)路径名称:/com/kylin/kysdk/Timer
|
||||
>
|
||||
> (3)Interfaces:com.kylin.kysdk.TimeInterface
|
||||
>
|
||||
> (4)信号:
|
||||
>
|
||||
> 系统时间修改信号:TimeChangeSignal
|
||||
>
|
||||
> 定时报时信号:TimeSignal
|
||||
>
|
||||
> 系统时间修改报时
|
||||
```
|
||||
$ sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libkysdk-systime libkysdk-systime-dev
|
||||
```
|
||||
|
||||
+----------+------------+--------------------+--------------------+---+
|
||||
| > 子模块 | > 编程语言 | 声明 | > 描述 | |
|
||||
+==========+============+====================+====================+===+
|
||||
| 系统时间 | > C | > void | 当系统时间被修改 | |
|
||||
| | | > Time | | |
|
||||
| 报时 | | ChangeSignal(const | > 时 , | |
|
||||
| | | > char\* t) | > | |
|
||||
| | | | > co | |
|
||||
| | | | m.kylin.kysdk.Time | |
|
||||
| | | | | |
|
||||
| | | | ServerDbus | |
|
||||
| | | | 服务会发 | |
|
||||
| | | | | |
|
||||
| | | | > 出报时信号 | |
|
||||
+----------+------------+--------------------+--------------------+---+
|
||||
| | | > 参数说明 | > 返回值说明 | |
|
||||
+----------+------------+--------------------+--------------------+---+
|
||||
| | | t:当前时间 如: | > 无 | |
|
||||
| | | | | |
|
||||
| | | > \"2021/09/26 | | |
|
||||
| | | > | | |
|
||||
| | | > 21:13:28\" | | |
|
||||
+----------+------------+--------------------+--------------------+---+
|
||||
(1)dbus 服务名称:com.kylin.kysdk.TimeServer
|
||||
|
||||
> 系统时间整分报时
|
||||
(2)路径名称:/com/kylin/kysdk/Timer
|
||||
|
||||
(3)Interfaces:com.kylin.kysdk.TimeInterface
|
||||
|
||||
(4)信号:
|
||||
|
||||
系统时间修改信号:TimeChangeSignal
|
||||
|
||||
定时报时信号:TimeSignal
|
||||
|
||||
系统时间修改报时
|
||||
|
||||
| 子模块 | 编程语言 | 声明 | 描述 |
|
||||
| :----: | :----: | :----: | :----: |
|
||||
| 系统时间报时 | C | void TimeChangeSignal(const char* t) | 当系统时间被修改时,com.kylin.kysdk.TimeServerDbus 服务会发出报时信号|
|
||||
| | | 参数说明 | 返回值说明 |
|
||||
| | | t:当前时间 如:"2021/09/26 21:13:28" | 无 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
系统时间整分报时
|
||||
|
||||
+----------+------------+---------------------------------+-------------------------+
|
||||
| > 子模块 | > 编程语言 | 声明 | > 描述 |
|
||||
|
|
Loading…
Reference in New Issue