未验证 提交 51d54997 编写于 作者: O openharmony_ci 提交者: Gitee

!2926 更新应用开发导读

Merge pull request !2926 from 时睿/master
......@@ -4,13 +4,13 @@
在应用开发的文档中,您可以获取到如下几方面的内容:
### 入门
### 快速开始
[入门部分](quick-start/Readme-CN.md)可以帮助开发者了解应用开发的基本方法。
[快速开始](quick-start/Readme-CN.md)可以帮助开发者了解应用开发的基本方法。
这一部分包含了IDE工具DevEco Studio的基本使用方法,以及快速构建首个应用的快速入门
这一部分包含了快速构建首个应用的快速入门,以及开发OpenHarmony应用所必备的基础知识
此外,还在此部分详述了OpenHarmony应用程序的包结构,以及资源文件的使用指导。
开发的基础知识包含了OpenHarmony应用程序的包结构配置文件说明,以及资源文件的使用指导。
### 开发
......
......@@ -4,13 +4,13 @@
在应用开发的文档中,您可以获取到如下几方面的内容:
### 入门
### 快速开始
[入门部分](quick-start/start-overview.md)可以帮助开发者了解应用开发的基本方法。
[快速开始](quick-start/start-overview.md)可以帮助开发者了解应用开发的基本方法。
这一部分包含了IDE工具DevEco Studio的基本使用方法,以及快速构建首个应用的快速入门
这一部分包含了快速构建首个应用的快速入门,以及开发OpenHarmony应用所必备的基础知识
此外,还在此部分详述了OpenHarmony应用程序的包结构,以及资源文件的使用指导。
开发的基础知识包含了OpenHarmony应用程序的包结构配置文件说明,以及资源文件的使用指导。
### 开发
......
......@@ -192,9 +192,6 @@ _[JS API 差异报告](api-change/v3.1-Release/js-apidiff-v3.1-release.md)_
_[Native API差异报告](api-change/v3.1-Release/native-apidiff-v3.1-release.md)_
_[Changelog](api-change/v3.1-Release/changelog-v3.1-release.md)_
### 芯片及开发板适配
芯片及开发板适配状态请参考[SIG-Devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)信息。
......@@ -250,4 +247,4 @@ _[Changelog](api-change/v3.1-Release/changelog-v3.1-release.md)_
| [I4UUFR](https://gitee.com/openharmony/third_party_e2fsprogs/issues/I4UUFR) | 本地编译构建Hi3516开发板版本镜像 | 编译Hi3516版本时偶现编译失败,重新下载代码可恢复。 | 2022-04-30 |
| [I4RJU8](https://e.gitee.com/open_harmony/issues/list?issue=I4RJU8) | Hi3516标准系统camera 预览黑屏 | 影响标准系统Hi3516 camera预览功能。 | 2022-05-30 |
| [I4Z3G9](https://e.gitee.com/open_harmony/issues/list?issue=I4Z3G9) | 【图形子系统】【RK3568】打开沉浸式主窗口和在主窗口上打开辅助窗口出现闪屏 | 打开沉浸式主窗口和在主窗口上打开辅助窗口出现闪屏,影响体验。 | 2022-04-15 |
| [I50EBB](https://gitee.com/openharmony/docs/issues/I50EBB?from=project-issue) | 【Hi3516烧录】标准系统Hi3516镜像无法通过IDE烧录 | 仅在IDE版本上Ubuntu环境烧录不成功。<br/>**规避方案:**通过remote方式在Windows上烧录。<br/>**后续方案:**<br/>改成Windows+Ubuntu混合模式,在Windows界面操作远程的Ubuntu开发、编译、调试;烧录自动回传到Windows上进行。 | 2022-04-30 |
| [I50EBB](https://gitee.com/openharmony/docs/issues/I50EBB?from=project-issue) | 【Hi3516烧录】标准系统Hi3516镜像无法通过IDE烧录 | 仅在IDE版本上Ubuntu环境烧录不成功。<br/>**规避方案:** 通过remote方式在Windows上烧录。<br/>**后续方案:**<br/>改成Windows+Ubuntu混合模式,在Windows界面操作远程的Ubuntu开发、编译、调试;烧录自动回传到Windows上进行。 | 2022-04-30 |
# ChangeLog
**关键的接口/组件变更**
## 包管理子系统
### 结构体BundleInfo
#### 变更前:
BundleInfo结构体中包含了abilityInfo和hapModuleInfo这两个属性。
#### 变更后
BundleInfo结构体中将abilityInfo和hapModuleInfo这两个属性修改为abilityInfos和hapModuleInfos。
#### 变更影响
#### 关键的接口/组件变更
#### 适配指导
如果代码中有使用到上述已删除的属性,需要适配新的结构体。
### 结构体AbilityInfo
#### 变更前:
AbilityInfo结构体中包含了formEntity、minFormHeight、defaultFormHeight、minFormWidth、defaultFormWidth和customizeData属性。
#### 变更后
AbilityInfo结构体中删除了formEntity、minFormHeight、defaultFormHeight、minFormWidth、defaultFormWidth和customizeData属性,其中customizeData修改为metaData。
#### 变更影响
#### 关键的接口/组件变更
#### 适配指导
如果代码中有使用到上述已删除的属性,需要适配新的结构体。
### 结构体ApplicationInfo
#### 变更前:
ApplicationInfo结构体中包含了customizeData这个属性。
#### 变更后
AbilityInfo结构体中删除了customizeData,修改为metaData。
#### 变更影响
#### 关键的接口/组件变更
#### 适配指导
如果代码中有使用到上述已删除的属性,需要适配新的结构体。
### 接口getAllShortcutInfo
#### 变更前:
该接口查询快捷信息。
#### 变更后
该接口已废弃,改为系统API,不支持三方应用。
#### 变更影响
使用该接口的代码需要删除。
#### 关键的接口/组件变更
#### 适配指导
### 接口checkPermission
#### 变更前:
该接口查询权限的授权状态。
#### 变更后
该接口已废弃,包管理子系统不提供该接口。
#### 变更影响
使用该接口的代码需要删除。
#### 关键的接口/组件变更
#### 适配指导
调用Context提供的权限查询接口。
```C++
import featureAbility from '@ohos.ability.featureAbility'
import bundle from '@ohos.bundle'
var context = featureAbility.getContext();
bundle.getBundleInfo('com.context.test', 1, (datainfo) =>{
context.verifyPermission("com.example.permission", datainfo.uid);
});
```
## 软总线子系统
### 结构体MessageOption
#### 变更前:
MessageOption结构体中`TF_WAIT_TIME == 4`
#### 变更后
MessageOption结构体中`TF_WAIT_TIME == 8`
#### 变更影响
RPC 同步调用默认等待时间从4秒变为8秒。
#### 关键的接口/组件变更
#### 适配指导
涉及RPC通信的代码,可以根据业务情况设置等待时间: `setWaitTime(waitTime: number): void`
### 接口queryLocalInterface
#### 变更前:
接口返回值为`IRemoteBroker`
#### 变更后
接口返回值为`IRemoteObject`
#### 变更影响
使用该接口的代码,接口返回值类型为`IRemoteObject`
#### 关键的接口/组件变更
#### 适配指导
```
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
onConnect: function(elementName, remoteProxy) {
console.log("RpcClient: js onConnect called.");
proxy = remoteProxy;
},
onDisconnect: function (elementName) {
console.log("RpcClient: onDisconnect");
},
onFailed: function() {
console.log("RpcClient: onFailed");
}
};
let want = {
"bundleName":"com.ohos.server",
"abilityName":"com.ohos.server.MainAbility",
};
FA.connectAbility(want, connect);
let broker = proxy.queryLocalInterface("testObject");
console.log("RpcClient: queryLocalInterface is " + broker);
```
### 接口readCharArray
#### 变更前:
`readCharArray(dataIn: boolean[]) : void`: 入参类型为bool数组。
`readCharArray(): boolean[]`: 返回值为bool数组。
#### 变更后
`readCharArray(dataIn: boolean[]) : void`: 入参类型为number数组。
`readCharArray(): boolean[]`: 返回值为number数组。
#### 变更影响
使用该接口的代码入参、返回值类型从`boolean[]`转为`number[]`
#### 关键的接口/组件变更
#### 适配指导
```
let data = rpc.MessageParcel.create();
let result = data.writeCharArray(['a', 'b', 'c']);
console.log("RpcClient: writeCharArray is " + result);
let array = new Array(3);
data.readCharArray(array);
```
```
let data = rpc.MessageParcel.create();
let result = data.writeCharArray(['a', 'b', 'c']);
console.log("RpcClient: writeCharArray is " + result);
let array = data.readCharArray();
console.log("RpcClient: readCharArray is " + array);
```
### 接口sendRequest
#### 变更前:
该接口返回值为`boolean`
#### 变更后
该接口返回值为`Promise<SendRequestResult>`
#### 变更影响
使用该接口的代码返回值类型为期约`Promise<SendRequestResult>`
#### 关键的接口/组件变更
#### 适配指导
```
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
onConnect: function(elementName, remoteProxy) {
console.log("RpcClient: js onConnect called.");
proxy = remoteProxy;
},
onDisconnect: function(elementName) {
console.log("RpcClient: onDisconnect");
},
onFailed: function() {
console.log("RpcClient: onFailed");
}
};
let want = {
"bundleName": "com.ohos.server",
"abilityName": "com.ohos.server.MainAbility",
};
FA.connectAbility(want, connect);
let option = new rpc.MessageOption();
let data = rpc.MessageParcel.create();
let reply = rpc.MessageParcel.create();
data.writeInt(1);
data.writeString("hello");
proxy.sendRequest(1, data, reply, option)
.then(function(result) {
if (result.errCode === 0) {
console.log("sendRequest got result");
result.reply.readException();
let msg = result.reply.readString();
console.log("RPCTest: reply msg: " + msg);
} else {
console.log("RPCTest: sendRequest failed, errCode: " + result.errCode);
}
}).catch(function(e) {
console.log("RPCTest: sendRequest got exception: " + e.message);
}).finally (() => {
console.log("RPCTest: sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
});
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册