“a3c988ea068c94f39a2e6bd37e0faf1c2606a55d”上不存在“drivers/gpu/git@gitcode.net:openanolis/cloud-kernel.git”
未验证 提交 2865a9a0 编写于 作者: O openharmony_ci 提交者: Gitee

!18415 更新FAQ+website

Merge pull request !18415 from zengyawen/master
...@@ -160,7 +160,7 @@ OpenHarmony IDL容器数据类型与Ts数据类型、C++数据类型的对应关 ...@@ -160,7 +160,7 @@ OpenHarmony IDL容器数据类型与Ts数据类型、C++数据类型的对应关
若不存在,可对应版本前往[docs仓版本目录](../../release-notes)下载SDK包,以[3.2Beta3版本](../../release-notes/OpenHarmony-v3.2-beta3.md)为例,可通过镜像站点获取。 若不存在,可对应版本前往[docs仓版本目录](../../release-notes)下载SDK包,以[3.2Beta3版本](../../release-notes/OpenHarmony-v3.2-beta3.md)为例,可通过镜像站点获取。
关于如何替换DevEco Studio的SDK包具体操作,参考[full-SDK替换指南](../quick-start/full-sdk-compile-guide.md)中的替换方法。 关于如何替换DevEco Studio的SDK包具体操作,参考[full-SDK替换指南](../faqs/full-sdk-compile-guide.md)中的替换方法。
得到idl工具的可执行文件后,根据具体场景进行后续开发步骤。 得到idl工具的可执行文件后,根据具体场景进行后续开发步骤。
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
只有系统应用才允许实现ServiceExtensionAbility,因此开发者在开发之前需做如下准备: 只有系统应用才允许实现ServiceExtensionAbility,因此开发者在开发之前需做如下准备:
- **替换Full SDK**:ServiceExtensionAbility相关接口都被标记为System-API,默认对开发者隐藏,因此需要手动从镜像站点获取Full SDK,并在DevEco Studio中替换,具体操作可参考[替换指南](../quick-start/full-sdk-switch-guide.md) - **替换Full SDK**:ServiceExtensionAbility相关接口都被标记为System-API,默认对开发者隐藏,因此需要手动从镜像站点获取Full SDK,并在DevEco Studio中替换,具体操作可参考[替换指南](../faqs/full-sdk-switch-guide.md)
- **申请AllowAppUsePrivilegeExtension特权**:只有具有AllowAppUsePrivilegeExtension特权的应用才允许开发ServiceExtensionAbility,具体申请方式可参考[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md) - **申请AllowAppUsePrivilegeExtension特权**:只有具有AllowAppUsePrivilegeExtension特权的应用才允许开发ServiceExtensionAbility,具体申请方式可参考[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)
......
...@@ -11,7 +11,7 @@ WindowExtensionAbility必须和[AbilityComponent](../reference/arkui-ts/ts-conta ...@@ -11,7 +11,7 @@ WindowExtensionAbility必须和[AbilityComponent](../reference/arkui-ts/ts-conta
> **说明:** > **说明:**
> >
> 本接口为系统接口,如果三方开发者想要实现应用进行跨应用的界面拉起和嵌入,请参考[full-SDK替换指南](../../application-dev/quick-start/full-sdk-switch-guide.md)将SDK替换为full-SDK。 > 本接口为系统接口,如果三方开发者想要实现应用进行跨应用的界面拉起和嵌入,请参考[full-SDK替换指南](../faqs/full-sdk-switch-guide.md)将SDK替换为full-SDK。
> >
......
# 常见问题 # 常见问题
- [如何编译full-SDK](full-sdk-compile-guide.md)
- [如何替换full-SDK](full-sdk-switch-guide.md)
- [Ability开发常见问题](faqs-ability.md) - [Ability开发常见问题](faqs-ability.md)
- [ArkUI框架开发常见问题](faqs-arkui.md) - [ArkUI框架开发常见问题](faqs-arkui.md)
- [ArkUI开发框架开发-ArkTS语法常见问题](faqs-arkui-arkts.md)
- [Web开发常见问题](faqs-arkui-web.md) - [Web开发常见问题](faqs-arkui-web.md)
- [包管理开发常见问题](faqs-bundle-management.md) - [包管理开发常见问题](faqs-bundle-management.md)
- [资源管理开发常见问题](faqs-globalization.md) - [资源管理开发常见问题](faqs-globalization.md)
...@@ -19,4 +22,5 @@ ...@@ -19,4 +22,5 @@
- [启动恢复开发常见问题](faqs-startup.md) - [启动恢复开发常见问题](faqs-startup.md)
- [分布式DeviceProfrofile开发常见问题](faqs-distributed-device-profile.md) - [分布式DeviceProfrofile开发常见问题](faqs-distributed-device-profile.md)
- [SDK使用常见问题](faqs-sdk.md) - [SDK使用常见问题](faqs-sdk.md)
- [三四方库使用常见问题](faqs-third-fourth-party-library.md) - [语言编译运行时常见问题](faqs-compiler-runtime.md)
- [三四方库使用常见问题](faqs-third-fourth-party-library.md)
\ No newline at end of file
...@@ -5,3 +5,47 @@ ...@@ -5,3 +5,47 @@
适用于:OpenHarmony 3.1 Beta5 API 9 适用于:OpenHarmony 3.1 Beta5 API 9
在系统设置修改了应用权限,三方应用无法监听到权限变化的。 在系统设置修改了应用权限,三方应用无法监听到权限变化的。
## 应用申请LOCATION位置信息权限为什么没有弹窗
适用于:OpenHarmny 3.2 Release API 9
使用API version 9以下版本的SDK开发的应用,可以直接申请ohos.permission.LOCATION权限。
使用API version 9及API version 9以上版本的SDK开发的应用,需要先申请权限ohos.permission.APPROXIMATELY\_LOCATION,才可申请此权限。
**参考链接**
[应用权限列表](../security/permission-list.md#ohospermissionlocation)
## 向用户申请授予权限但被用户拒绝后,如何处理才能避免应用二次进入时崩溃
适用于:OpenHarmony SDK 3.2 Beta5
**可能原因**
- 业务功能所需要的权限被用户拒绝后不再弹窗请求权限而是直接返回结果。
- 若开发者在请求权限后未进行相关判断,会导致应用直接访问受权限管控的目标对象,此时应用可能会因为没有对应权限而被拒绝访问,从而导致应用意外终止。
**解决措施**
1. 应用在调用受权限保护的接口前,需要先校验应用是否已经获取该权限。如果校验结果显示,应用已经获取了该权限,那么应用可以直接访问该目标接口,否则,应用需要通过动态弹框先申请用户授权,并根据授权结果进行相应处理。
2. 如果用户拒绝授予某个权限时,需要确保与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。
3. 当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到“系统设置”中授权。
**参考链接**
[访问控制(权限)开发概述](../security/accesstoken-overview.md)
## module.json5配置文件中extensionAbilities和requestPermissions的权限声明有何区别
适用于:OpenHarmony SDK 3.2 Beta5
- requestPermissions:标识当前应用运行时需向系统申请的权限集合,应用申请的权限只有在此处配置的才会生效。
- extensionAbilitie.permissions:标识当前ExtensionAbility组件自定义的权限信息,表示当其他应用访问该ExtensionAbility时,需要申请相应的权限信息,仅做权限校验使用。
**参考链接**
[module.json5配置文件](../quick-start/module-configuration-file.md)
...@@ -254,7 +254,7 @@ DevEco Studio默认下载是public-sdk。 ...@@ -254,7 +254,7 @@ DevEco Studio默认下载是public-sdk。
**解决措施** **解决措施**
三方应用不支持开发ServiceExtensionAbility和DataShareExtensionAbility。若开发系统应用,请[下载full-sdk](../quick-start/full-sdk-switch-guide.md) 三方应用不支持开发ServiceExtensionAbility和DataShareExtensionAbility。若开发系统应用,请[下载full-sdk](../faqs/full-sdk-switch-guide.md)
## 如何获取应用级别的temp路径和files路径 ## 如何获取应用级别的temp路径和files路径
...@@ -268,6 +268,56 @@ DevEco Studio默认下载是public-sdk。 ...@@ -268,6 +268,56 @@ DevEco Studio默认下载是public-sdk。
[获取应用开发路径](../application-models/application-context-stage.md#获取应用开发路径) [获取应用开发路径](../application-models/application-context-stage.md#获取应用开发路径)
## terminateSelf方法销毁当前应用之后并没有在后台任务列表中删除
适用于:OpenHarmony 3.2 Beta5
**解决措施**
在当前应用对应UIAbility的module.json5配置文件中,配置abilities标签的removeMissionAfterTerminate字段,设置为true即为销毁应用的同时删除应用快照记录,缺省值为false。
**参考链接**
[module.json5配置文件](../quick-start/module-configuration-file.md)
## Stage模型下开发的应用如何拉起 FA 模型开发的应用
适用于:OpenHarmony 3.2 Beta 5,API 9
**问题现象**
已在stage模型下的应用如何拉起FA模型
**解决措施**
该功能目前已支持,具体实现可参考如下代码:
示例:
```
let want = {
deviceId: "", // deviceId为空表示本设备
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
moduleName: "Module1", // moduleName非必选
parameters: { // 自定义信息
},
}
// context为意图拉起的FA模型的AbilityContext
context.startAbility(want).then(() => {
...
}).catch((err) => {
...
})
```
## 原子化服务是否可以全程使用js实现
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
目前新建的卡片的目录结构都是css+hml+json,不能完全靠js实现,事件的触发和参数的传递都可以在json文件里面处理。
## FA卡片上架后在用户的服务中心展示时可否触发生命周期,从而实现用户没有打开过FA应用的情况下获取到用户的登录信息 ## FA卡片上架后在用户的服务中心展示时可否触发生命周期,从而实现用户没有打开过FA应用的情况下获取到用户的登录信息
...@@ -279,7 +329,44 @@ FA卡片的生命周期以及信息显示 ...@@ -279,7 +329,44 @@ FA卡片的生命周期以及信息显示
**解决措施** **解决措施**
服务卡片在添加卡片后就触发了oncreat()生命周期,在不启用app的情况下也可以显示相关的用户信息-静默登录,但服务卡片目前要在app安装之后手动添加。 服务卡片在添加卡片后就触发了oncreat\(\)生命周期,在不启用app的情况下也可以显示相关的用户信息-静默登录,但服务卡片目前要在app安装之后手动添加。
## JS/ArkTS跳转到其他应用时报错“\[c4d4d3492eb8531, 0, 0\] ContextDeal::startAbility fetchAbilities failed”
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
JS/ArkTS跳转时, startAbility报错
**解决措施**
一般用startAbility,实现如下:
```
import featureAbility from '@ohos.ability.featureAbility'
function onStartRemoteAbility() {
console.info('onStartRemoteAbility begin');
let params;
let wantValue = {
bundleName: 'ohos.samples.etsDemo',
abilityName: 'ohos.samples.etsDemo.RemoteAbility',
deviceId: getRemoteDeviceId(),
parameters: params
};
console.info('onStartRemoteAbility want=' + JSON.stringify(wantValue));
featureAbility.startAbility({
want: wantValue
}).then((data) => {
console.info('onStartRemoteAbility finished, ' + JSON.stringify(data));
});
console.info('onStartRemoteAbility end');
}
```
**参考链接**
可参考[启动本地PageAbility](../application-models/start-local-pageability.md)
## 如何通过卡片点击实现业务登录场景 ## 如何通过卡片点击实现业务登录场景
...@@ -332,30 +419,28 @@ this.context.startAbility( ...@@ -332,30 +419,28 @@ this.context.startAbility(
**代码示例** **代码示例**
``` ```
import UIAbility from '@ohos.app.ability.UIAbility'; import common from '@ohos.app.ability.common';
let UIAbilityContext = UIAbility.context;
let ApplicationContext = UIAbility.context.getApplicationContext();
@Entry @Entry
@Component @Component
struct AbilityContextTest { struct AbilityContextTest {
// abilityContext // abilityContext
@State UIabilityInfo: string = '获取 abilityInfo' @State UIAbilityInfo: string = '获取 abilityInfo'
UIabilityContext: UIAbilityContext UIAbilityContext: common.UIAbilityContext
aboutToAppear() { aboutToAppear() {
// getContext获取Context,转为abilityContext // getContext获取Context,转为abilityContext
this.UIabilityContext = getContext(this) as UIAbilityContext this.UIAbilityContext = getContext(this) as common.UIAbilityContext
} }
build() { build() {
Row() { Row() {
Column({ space: 20 }) { Column({ space: 20 }) {
Text(this.abilityInfo) Text(this.UIAbilityInfo)
.fontSize(20) .fontSize(20)
.onClick(()=>{ .onClick(() => {
this.UIabilityInfo = JSON.stringify(this.UIabilityContext.UIabilityInfo) this.UIAbilityInfo = JSON.stringify(this.UIAbilityContext.abilityInfo)
console.log(`ContextDemo abilityInfo= ${this.UIabilityInfo}`) console.log(`ContextDemo abilityInfo = ${this.UIAbilityInfo}`)
}) })
} }
.width('100%') .width('100%')
...@@ -364,3 +449,51 @@ struct AbilityContextTest { ...@@ -364,3 +449,51 @@ struct AbilityContextTest {
} }
} }
``` ```
## 后台长时任务启动失败
适用于:OpenHarmony 3.2 Release API9
**问题现象**
调用featureAbility.startAbility\(\)接口启动ServiceAbility,在ServiceAbility中启动后台长时任务报错,错误信息:\{"code":201,"message":"BussinessError 201: Permission denied."\}
**解决措施**
启动后台长时任务需要在module.json5文件中配置长时任务权限ohos.permission.KEEP\_BACKGROUND\_RUNNING、同时为需要使用长时任务的ability声明相应的后台模式类型。
```
"module": {
"abilities": [
{
"backgroundModes": [
"dataTransfer",
"location"
], // 后台模式类型
}
],
"requestPermissions": [
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING" // 长时任务权限
}
]
}
```
**参考链接**
[ServiceAbility组件配置-后台模式类型](../application-models/serviceability-configuration.md)
[长时任务权限](../security/permission-list.md#ohospermissionkeep_background_running)
[长时任务开发指导](../task-management/continuous-task-dev-guide.md#基于stage模型)
## FA卡片如何进行数据交互
适用于:OpenHarmony SDK 3.2 Beta 5 API9
卡片通过postCardAction接口触发和提供方的交互,在提供方中通过updateForm方法更新数据。
**参考链接**
[服务卡片开发指导](../application-models/widget-development-fa.md)
# ArkUI开发框架(ArkTS语法)
## ArkUI如何通过代码动态创建组件
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
ArkUI使用ArkTS声明式开发范式,开发者无法持有组件实例,在声明时通过渲染控制语法以及动态构建UI元素的方式,控制组件的创建。
**代码示例**
```
// 条件渲染语句创建组件
if(this.isTrue) {
Text("创建文本组件").fontSize(30)
}
// 循环渲染语句创建组件
ForEach(this.nums,(item) => {
Text(item + '').fontSize(30)
},item => JSON.stringify(item))
```
**参考链接**
[渲染控制语法](../quick-start/arkts-rendering-control-overview.md)
## 使用@Builder装饰器包含自定义组件的方法与普通方法的区别是什么
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
@Builder装饰的方法中使用了自定义组件,那么该方法每次被调用时,对应的自定义组件均会重新创建,普通方法中不使用@builder装饰,无法容纳自定义组件。
**参考链接**
[@BuilderParam](../quick-start/arkts-builderparam.md)
## 如何使用@BuilderParam装饰器进行组件传参
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
- 不带参数
对@BuilderParam修饰的属性进行赋值时不带参数(如:content: this.specificParam),则此属性的类型需定义成无返回值的函数(如:@BuilderParam content: \(\) =\> void)。
- 带参数
对@BuilderParam修饰的属性进行赋值时带参数(如:callContent: this.specificParam1\("111"\)),则此属性的类型需定义成any(如:@BuilderParam callContent: any)。
**参考链接**
[@BuilderParam](../quick-start/arkts-builderparam.md)
## 如何监听数组内对象属性变化
适用于:OpenHarmony 3.2 Beta5 API9
**问题现象**
数组内存储对象示例,需要对对象的属性变化进行监听。
**解决措施**
通过@Observed配合@ObjectLink装饰符实现。@Observed用于类,@ObjectLink用于变量。
**代码示例**
1. 在类上使用@Observed。
```
@Observed
class ClassA {
public name: string
public c: number
public id: number
constructor(c: number, name: string = 'OK') {
this.name = name
this.c = c
}
}
```
2. 在组件变量使用@ObjectLink。
```
@Component
struct ViewA {
label: string = 'ViewA1'
@ObjectLink a: ClassA
build() {
Row() {
Button(`ViewA [${this.label}] this.a.c= ${this.a.c} +1`)
.onClick(() => {
this.a.c += 1
})
}.margin({ top: 10 })
}
}
```
**参考链接**
[Observed和ObjectLink数据管理](../quick-start/arkts-observed-and-objectlink.md)
## 子组件使用@Link修饰成员变量时,如何通过父组件传值
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
子组件使用@Link接受父组件的值时,需要使用'$'建立变量之间的引用关系。才能实现同步。
**代码示例**
\@Link语义是从'$'操作符引出,即\$isPlaying是this.isPlaying内部状态的双向数据绑定。当单击子组件PlayButton中的按钮时,\@Link变量更改,PlayButton与父组件中的Text和Button将同时进行刷新,同样地,当点击父组件中的Button修改this.isPlaying时,子组件PlayButton与父组件中的Text和Button也将同时刷新。
1. 在父组件使用\@State装饰器,传递数据使用\$符创建引用。
```
@Entry
@Component
struct Player {
@State isPlaying: boolean = false
build() {
Column() {
PlayButton({ buttonPlaying: $isPlaying })
Text(`Player is ${this.isPlaying ? '' : 'not'} playing`).fontSize(18)
Button('Parent:' + this.isPlaying)
.margin(15)
.onClick(() => {
this.isPlaying = !this.isPlaying
})
}
}
}
```
2. 在子组件使用\@Link接受数据。
```
@Component
struct PlayButton {
@Link buttonPlaying: boolean
build() {
Column() {
Button(this.buttonPlaying ? 'pause' : 'play')
.margin(20)
.onClick(() => {
this.buttonPlaying = !this.buttonPlaying
})
}
}
}
```
**参考链接**
[@Link](../quick-start/arkts-link.md)
## 父组件如何与孙子组件进行状态同步
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
- 方式一(推荐):使用@Provide和@Consume装饰器。在父组件使用@Provide,在孙子组件使用@Consume,可以实现父组件和孙子组件进行双向数据绑定。
- 方式二:使用@State和@Link装饰器。在父组件使用@State,在每一层子组件(子组件和孙子组件)都使用@Link。
**代码示例一**
1. 父组件中使用子组件,通过Provide提供reviewVote参数,供跨级传递给孙子组件。
```
@Entry
@Component
struct Father{
@Provide("reviewVote") reviewVotes: number = 0;
build() {
Column() {
Son()
Button(`Father: ${this.reviewVotes}`)
...
}
}
}
```
2. 子组件中使用孙组件。
```
@Component
struct Son{
build() {
Column() {
GrandSon()
}
}
}
```
3. 孙子组件中使用Consume来接受reviewVote的参数。
```
@Component
struct GrandSon{
@Consume("reviewVote") reviewVotes: number
build() {
Column() {
Button(`GrandSon: ${this.reviewVotes}`)
...
}.width('100%')
}
}
```
**代码示例二**
1. 父组件Father使用@State绑定数据reviewVote。
```
@Entry
@Component
struct Father {
@State reviewVotes: number = 0;
build() {
Column() {
Son({reviewVotes:$reviewVotes})
Button(`Father: ${this.reviewVotes}`)
...
}
}
}
```
2. 子组件Son中使用@Link接受由父组件Father传递的参数reviewVote。
```
@Component
struct Son{
@Link reviewVotes: number;
build() {
Column() {
Grandson({reviewVotes:$reviewVotes})
}
}
}
```
3. 孙子组件GrandSon使用@Link接受由Son组件传递的参数reviewVote。
```
@Component
struct Grandson{
@Link reviewVotes: number;
build() {
Column() {
Button(`Grandson: ${this.reviewVotes}`)
...
}.width('100%')
}
}
```
## Js如何定义callback函数
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
定义个callback函数的样例,**示例如下:**
1. 定义回调函数
```
// 页面中定义个2个参数,空返回的callback函数
myCallback: (a:number,b:string) => void
```
2. 在使用时进行初始化赋值
```
aboutToAppear() {
// callback函数初始化
this.myCallback= (a,b)=>{
console.info(`handle myCallback a=${a},b=${b}`)
}}
```
## 组件需要多次更新时如何优化性能
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
使用状态管理模块,目前已经支持最小化更新,当数据依赖变化时,不再是重新刷新整个自定义组件,而是只更新依赖数据的视图内容。
## 对象中函数的this如何指向外层
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过箭头函数实现。
**代码示例**
```
const obj = {
start:() => {
return this.num
}
}
```
## 如何实现页面加载前从接口获取数据
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
页面生命周期相关问题,在页面渲染前从接口获取数据,渲染时将数据渲染到页面上。
**解决措施**
在声明周期函数aboutToAppear中使用异步接口获取页面数据,数据变量使用@State修饰,数据获取完成后根据变量自动刷新页面。
**代码示例**
```
@Entry
@Component
struct Test6Page {
// 数据获取成功,会自动刷新页面
@State message: string = 'loading.....'
aboutToAppear(){
// 模拟异步接口获取数据
setTimeout(()=>{
this.message = 'new msg'
},3000)
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
```
## 如何将传感器的数据实时显示在UI的Text中
适用于:Openharmony 3.2 Beta5 API9
**解决措施**
传感器返回数据类型为double,可将double转为string,再显示在text中。
## 如何监听屏幕旋转
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
屏幕旋转可使用媒体查询接口进行监听。
```
import mediaquery from '@ohos.mediaquery'
let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //监听横屏事件
function onPortrait(mediaQueryResult) {
if (mediaQueryResult.matches) {
// do something here
} else {
// do something here
}
}
listener.on('change', onPortrait) // 注册回调
listener.off('change', onPortrait) // 去注册回调
```
**参考链接**
[媒体查询](../reference/apis/js-apis-mediaquery.md)
## 创建的单例换了页面后不生效问题
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
单例只有在同一个流程中才有效,换了页面后之前的实例都全是undefined。
**解决措施**
对于每个Page都会生成一个js文件,定义的单例会在每个js中都生成一份,所以单例的作用范围只是Page的范围。
如果想共享一个实例,创建范围需要提升至UIAbility或者App级别。
## 如何将时间格式的字符串string转换为Date对象
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
如果字符string满足格式“yyyy-MM-dd”格式,则可直接使用函数new Date\("yyyy-MM-dd"\)来获取对应的Date对象。
```
new Date("2021-05-23");
new Date("2020/2/29");
new Date("2020-14-03");
new Date("14-02-2021");
```
其他格式字符串可使用new Date\(year:number,month:number,day?:number,hour?:number,mintue?:number,second?:number,ms?:number\)方法来获取Date对象。
```
// 根据参数创建日期的语法:
new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
```
其中每一个参数换算为对应时间参数传入即可。
- yearValue:应符合 ISO 8061 YYYY 格式。例如 2021。如果我们以 YY 格式指定一个值,它将会被错误地接受。例如,仅将 2021 提到 21 会被认为是 1921 年而不是 2021 年。
- IndexOfMonth:从索引 0 开始。因此,从 Month 值中减去 1。例如,对于 3 月,该值为 3,但 monthIndex 将为 2(即 3-1 = 2)。本月指数通常应在 0-11 范围内
- dayValue:表示一个月中的某天。它应在 1-31 范围内,具体取决于一个月中的天数。例如:对于 21-05-2021,日期值为 21
- hours:一天中的小时。例如 10 点。
- minutes:过去一个小时的分钟数
- seconds:保留超过一分钟的秒数。
## ArkTS如何把string转为byte数组
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
参考如下代码实现,示例:
```
stringToArray(str:string) {
var arr = [];
for(var i = 0,j = str.length;i<j;++i) {
arr.push(str.charCodeAt(i))
}
return arr;
}
```
## ArkTS如何实现字符串编解码
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过util工具函数模块中的TextEncoder和TextDecoder进行解码。
**参考链接**
[TextEncoder](../reference/apis/js-apis-util.md#textencoder)[TextDecoder](../reference/apis/js-apis-util.md#textdecoder)
## 如何导入和导出namespace命名空间
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过export和import导入导出
- namespace导数据库出
```
namespace Util{
export function getTime(){
return Date.now()
}
}
export default Util
```
- namespace导入
```
import Util from './util'
Util.getTime()
```
## worker线程中能否进行关系型数据库的操作
适用于:Openharmony 3.2 Beta5 API 9
当前不支持将UI主线程中的rdb数据库对象发送给Worker线程后进行操作。Worker线程中使用rdb数据库,需要重新获取rdb数据库的对象。
## 如何获取应用resource目录下的文件
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
- 方式一:使用\$r或者\$rawfile访问。适合静态访问,程序运行时不改变资源路径。
- 方式二:使用ResourceManage访问。适合动态访问,程序运行时可动态改变资源路径。
**参考链接**
[资源访问](../quick-start/resource-categories-and-access.md)[资源管理](../reference/apis/js-apis-resource-manager.md#getstring)
## XML格式如何转为JSON格式
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
服务端返回的数据是通过base64编码后XML格式,需要转为JSON格式进行后续的处理。
**解决措施**
使用util工具中的base64相关接口进行解码操作,然后使用convertxml组件解析XML格式数据。
**代码示例**
```
import convertxml from '@ohos.convertxml';
import util from '@ohos.util';
@Entry
@Component
struct Faq_4_31 {
@State message: string = 'base64转json'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
/* 原数据,GBK编码
<?xml version="1.0" encoding="GBK"?>
<data>
<asset_no>xxxxx</asset_no>
<machine_sn>xxxx</machine_sn>
<bios_id>xxxx</bios_id>
<responsible_emp_name><![CDATA[xxxx]]></responsible_emp_name>
<responsible_account><![CDATA[xxxx xxxx]]></responsible_account>
<responsible_emp_no>xxxx</responsible_emp_no>
<responsible_dept><![CDATA[xxxx]]></responsible_dept>
<user_dept><![CDATA[xxxx]]></user_dept>
<user_name><![CDATA[xxx]]></user_name>
<cur_domain_account>xxxx</cur_domain_account>
<asset_loc><![CDATA[--]]></asset_loc>
<asset_loc_cur><![CDATA[]]></asset_loc_cur>
<asset_type>1</asset_type>
<asset_use>For Outsourcing Staff/xxxx</asset_use>
<overdue_date></overdue_date>
<asset_status>xxxx</asset_status>
<asset_period>xxxx</asset_period>
<license></license>
</data>
*/
let src = 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0JLIj8+CjxkYXRhPgo8YXNzZXRfbm8+eHh4eHg8L2Fzc2V0X25vPgo8bWFjaGluZV9zbj54eHh4PC9tYWNoaW5lX3NuPgo8Ymlvc19pZD54eHh4PC9iaW9zX2lkPgo8cmVzcG9uc2libGVfZW1wX25hbWU+PCFbQ0RBVEFbeHh4eF1dPjwvcmVzcG9uc2libGVfZW1wX25hbWU+CjxyZXNwb25zaWJsZV9hY2NvdW50PjwhW0NEQVRBW3h4eHggeHh4eF1dPjwvcmVzcG9uc2libGVfYWNjb3VudD4KPHJlc3BvbnNpYmxlX2VtcF9ubz54eHh4PC9yZXNwb25zaWJsZV9lbXBfbm8+CjxyZXNwb25zaWJsZV9kZXB0PjwhW0NEQVRBW3h4eHhdXT48L3Jlc3BvbnNpYmxlX2RlcHQ+Cjx1c2VyX2RlcHQ+PCFbQ0RBVEFbeHh4eF1dPjwvdXNlcl9kZXB0Pgo8dXNlcl9uYW1lPjwhW0NEQVRBW3h4eF1dPjwvdXNlcl9uYW1lPgo8Y3VyX2RvbWFpbl9hY2NvdW50Pnh4eHg8L2N1cl9kb21haW5fYWNjb3VudD4KPGFzc2V0X2xvYz48IVtDREFUQVstLV1dPjwvYXNzZXRfbG9jPgo8YXNzZXRfbG9jX2N1cj48IVtDREFUQVtdXT48L2Fzc2V0X2xvY19jdXI+Cjxhc3NldF90eXBlPjE8L2Fzc2V0X3R5cGU+Cjxhc3NldF91c2U+Rm9yIE91dHNvdXJjaW5nIFN0YWZmL3h4eHg8L2Fzc2V0X3VzZT4KPG92ZXJkdWVfZGF0ZT48L292ZXJkdWVfZGF0ZT4KPGFzc2V0X3N0YXR1cz54eHh4PC9hc3NldF9zdGF0dXM+Cjxhc3NldF9wZXJpb2Q+eHh4eDwvYXNzZXRfcGVyaW9kPgo8bGljZW5zZT48L2xpY2Vuc2U+CjwvZGF0YT4='
let base64 = new util.Base64Helper();
// base解码
let src_uint8Array = base64.decodeSync(src);
// 解码为utf-8的字符串
let textDecoder = util.TextDecoder.create("utf-8",{ignoreBOM: true})
let src_str = textDecoder.decodeWithStream(src_uint8Array)
//替换encoding字段
src_str = src_str.replace("GBK","utf-8")
console.log('Test src_str: ' + JSON.stringify(src_str));
// 转换 xml-> json
let conv = new convertxml.ConvertXML();
let options = {trim : false, declarationKey:"_declaration",
instructionKey : "_instruction", attributesKey : "_attributes",
textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype",
commentKey : "_comment", parentKey : "_parent", typeKey : "_type",
nameKey : "_name", elementsKey : "_elements"}
let src_json = JSON.stringify(conv.convertToJSObject(src_str, options));
console.log('Test json: ' + JSON.stringify(src_json));
})
}
.width('100%')
}
.height('100%')
}
}
```
## 在生成器函数中编译TS语言有哪些使用限制
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
TS语言的使用在生成器函数中存在以下限制:
- 表达式仅允许在字符串\(\$\{expression\}\)、if条件、ForEach的参数和组件的参数中使用。
- 这些表达式中的任何一个都不能导致任何应用程序状态变量(@State、@Link、@Prop)的改变,否则会导致未定义和潜在不稳定的框架行为。
- 生成器函数内部不能有局部变量。
上述限制都不适用于事件处理函数(例如onClick)的匿名函数实现。
## 如何设置一张图片上面四个角都分别有一个角标
适用于 OpenHarmony 3.2 Beta5
**问题现象**
应用需求,在一张图片上面四个角分别设置一个角标。
**解决措施**
可以使用绝对定位,设置元素锚点相对于父容器顶部起点的偏移位置。在布局容器中,设置该属性不影响父容器布局。
示例:
```
@Entry
@Component
struct PositionExample2 {
build() {
Column({ space: 20 }) {
Stack({ alignContent: Alignment.TopStart }) {
Row()
.size({ width: '100', height: '100' })
.backgroundColor(0xdeb887)
Image($r('app.media.app_icon'))
.size({ width: 25, height: 25 })
.markAnchor({ x: 0, y: 0 })
Image($r('app.media.app_icon'))
.size({ width: 25, height: 25 })
.markAnchor({ x: 25, y: 25 })
.position({ x: '100%', y: '100%' })
}.margin({ top: 25 }).width('100').height('100')
}
.width('100%').margin({ top: 25 })
}
}
```
## util.generateRandomUUID参数问题
适用于 OpenHarmony 3.2 Beta5
**解决措施**
generateRandomUUID底层使用Node.js crypto.randomUUID\(\)接口,传递参数为false时会生成uuid,并缓存到系统里,参数为true时使用系统已缓存的UUID。
参考文档:[util.generateRandomUUID](../reference/apis/js-apis-util.md#utilgeneraterandomuuid9)
## worker线程与主线程是否运行在相同的全局上下文中
适用于 OpenHarmony 3.2 Beta5
**解决措施**
worker线程与主线程不在同一个上下文中,它们使用数据通信的方式交互。
**参考链接**
worker:[启动一个Worker](../reference/apis/js-apis-worker.md)
## 应用图标一多设置
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
希望可以按照设备的不同类型,显示相应的应用图标
**解决措施**
借助资源限定词能力,可以实现应用图标的一多配置
**示例代码**
1.创建资源目录,并在资源目录中添加资源文件,以Tablet为例,在src/main/resources下创建tablet资源目录,在tablet目录下创建media资源文件夹
```
├─base
│ ├─element
│ ├─media
│ └─profile
├─rawfile
├─tablet
│ ├─element
│ └─media
```
2.在1中创建的media文件夹下添加设备类型为tablet时希望显示的图标文件,在UI界面进行引用
```
@Entry @Component struct Index { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text($r("app.string.my_string"))
.fontSize($r("app.float.my_float"))
.fontColor($r("app.color.my_color"))
Image($r("app.media.my_image"))
.width(100)
.height(100)
}
.width('100%')
.height('100%') } }
```
**参考链接**
[资源使用](../key-features/multi-device-app-dev/resource-usage.md)
## 调用方法的时候,如何解决方法内部的this变成undefined?
适用于:OpenHarmony SDK 3.2,API 9
**问题现象**
ArkTS里的this指向
**解决措施**
方式一:在调用方法的时候加上.bind\(this\)
方式二:使用箭头函数。
## OpenHarmony的systemTime.getCurrentTime\(\)接口和JS的new Date\(\).getTime\(\)有区别吗
适用于:OpenHarmony SDK 3.2,API 9
**解决措施**
systemTime.getCurrentTime\(false\)和new Date\(\).getTime\(\)一样,都是返回1970年1月1日至今的毫秒数;systemTime.getCurrentTime\(true\)返回1970年1月1日至今的纳秒数。两种方式都是系统时间。
## 如何实现类似js中的slot插槽功能
适用于:OpenHarmony SDK 3.2,API 9
**解决措施**
适用于:OpenHarmony SDK3.2.5.5, API9 Stage模型
该功能在ArkTS中使用@Build和@BuilderParam方式来实现,具体可参考文档:[@BuilderParam:引用@Builder函数](../quick-start/arkts-builderparam.md)
## 加上lineHeight,Text垂直不居中的原因
适用于 OpenHarmony 3.2 Beta5 API 9
**原因分析**
Text组件不用设置lineHeight属性,默认就是居中的。绘制文本是从底部开始绘制的,设置合适的lineHeight可以让文本有居中效果,但如果lineHeight设置的过高,文本就会显得偏下一些,一般lineHeight属性用来联合padding属性调整Text内的上下行间距。
**参考链接**
[Text](../reference/arkui-ts/ts-basic-components-text.md#示例1)
## SideBarContainer如何设置controlButton属性
适用于 OpenHarmony 3.2 Beta5,API9
**解决措施**
示例代码:
```
@Entry
@Component
struct SideBarContainerExample {
normalIcon : Resource = $r("app.media.icon")
selectedIcon: Resource = $r("app.media.icon")
@State arr: number[] = [1, 2, 3]
@State current: number = 1
build() {
SideBarContainer(SideBarContainerType.Embed)
{
Column() {
ForEach(this.arr, (item, index) => {
Column({ space: 5 }) {
Image(this.current === item ? this.selectedIcon : this.normalIcon).width(64).height(64)
Text("Index0" + item)
.fontSize(25)
.fontColor(this.current === item ? '#0A59F7' : '#999')
.fontFamily('source-sans-pro,cursive,sans-serif')
}
.onClick(() => {
this.current = item
})
}, item => item)
}.width('100%')
.justifyContent(FlexAlign.SpaceEvenly)
.backgroundColor('#19000000')
Column() {
Text('SideBarContainer content text1').fontSize(25)
Text('SideBarContainer content text2').fontSize(25)
}
.margin({ top: 50, left: 20, right: 30 })
}
.sideBarWidth(150)
.minSideBarWidth(50)
.controlButton({left:32,
top:32,
width:32,
height:32,
icons:{shown: $r("app.media.icon"),
hidden: $r("app.media.icon"),
switching: $r("app.media.icon")}})
.maxSideBarWidth(300)
.onChange((value: boolean) => {
console.info('status:' + value)
})
}
}
```
## Grid如何实现拖拽功能
适用于 OpenHarmony 3.2 Beta5 ,API9
**解决措施**
1. grid组件下设置属性editMode\(true\)设置Grid是否进入编辑模式,进入编辑模式可以拖拽Grid组件内部GridItem
2.[onItemDragStart](../reference/arkui-ts/ts-container-grid.md#事件)回调中设置拖拽过程中显示的图片
3.[onItemDrop](../reference/arkui-ts/ts-container-grid.md#事件)中获取拖拽起始位置,和拖拽插入位置,在[onDrag](../reference/arkui-ts/ts-universal-events-drag-drop.md#事件)回调中完成交换数组位置逻辑。示例代码:
```
@Entry
@Component
struct GridExample {
@State numbers: String[] = []
scroller: Scroller = new Scroller()
@State text: string = 'drag'
@Builder pixelMapBuilder() { //拖拽过程样式
Column() {
Text(this.text)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width(80)
.height(80)
.textAlign(TextAlign.Center)
}
}
aboutToAppear() {
for (let i = 1;i <= 15; i++) {
this.numbers.push(i + '')
}
}
changeIndex(index1: number, index2: number) { //交换数组位置
[this.numbers[index1], this.numbers[index2]] = [this.numbers[index2], this.numbers[index1]];
}
build() {
Column({ space: 5 }) {
Grid(this.scroller) {
ForEach(this.numbers, (day: string) => {
GridItem() {
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width(80)
.height(80)
.textAlign(TextAlign.Center)
.onTouch((event: TouchEvent) => {
if (event.type === TouchType.Up) {
this.text = day
}
})
}
})
}
.columnsTemplate('1fr 1fr 1fr')
.columnsGap(10)
.rowsGap(10)
.onScrollIndex((first: number) => {
console.info(first.toString())
})
.width('90%')
.backgroundColor(0xFAEEE0)
.height(300)
.editMode(true) //设置Grid是否进入编辑模式,进入编辑模式可以拖拽Grid组件内部GridItem
.onItemDragStart((event: ItemDragInfo, itemIndex: number) => { //第一次拖拽此事件绑定的组件时,触发回调。
return this.pixelMapBuilder() //设置拖拽过程中显示的图片。
})
.onItemDrop((event: ItemDragInfo, itemIndex: number, insertIndex: number, isSuccess: boolean) => { //绑定此事件的组件可作为拖拽释放目标,当在本组件范围内停止拖拽行为时,触发回调。
console.info('beixiang' + itemIndex + '', insertIndex + '') //itemIndex拖拽起始位置,insertIndex拖拽插入位置
this.changeIndex(itemIndex, insertIndex)
})
}.width('100%').margin({ top: 5 })
}
}
```
## 使用什么接口进行url编码
适用于:OpenHarmony 3.2 Beta5,API9
**解决措施**
使用全局函数encodeURI进行编码,使用decodeURI进行解码。例如空格字符““,编码后为%20。
```
let a = encodeURI(" ")
console.log(a) // %20
```
## 如何解析xml
适用于:OpenHarmony 3.2 Beta5,API9
**解决措施**
使用ConvertXML的convert接口可以将xml文本解析为JavaScript对象。
参考文档:[转换xml](../reference/apis/js-apis-convertxml.md)
## 使用Styles装饰器,编译报错.stateStyles doesn't conform standard
适用于:OpenHarmony 3.2 Beta5,API9
**原因分析**
Styles装饰器内部只支持通用属性,使用了非通用属性作为Style的代码
**解决措施**
去掉非通用属性,或者使用Builder来提取公共组件。
## Radio组件\$\$双向绑定
适用于:OpenHarmony 3.2 Beta5,API9
**解决措施**
Radio组件使用\$\$绑定的变量变更时,仅渲染当前组件,提高渲染速度。
当Radio组件的状态发生改变时,不会自动修改绑定的变量。
参考:[内置组件双向绑定](../quick-start/arkts-two-way-sync.md)
## ForEach组件在真机上无法执行
适用于:OpenHarmony 3.2 beta5,API9
**问题现象**
ForEach组件预览器可以正常执行,但在真机上无法执行。
**原因分析**
真机上系统版本大于等于3.2beta5版本,真机会默认开启最小化更新策略。
旧版IDE默认没有开启最小化更新,导致组件运行异常。
**解决措施**
module.json5添加"metadata"配置项:
```
{
"module": {
"metadata": [
{
"name": "ArkTSPartialUpdate",
"value": "true"
}
}
}
```
...@@ -172,3 +172,102 @@ Web({ src: 'www.example.com', controller: this.controller }) ...@@ -172,3 +172,102 @@ Web({ src: 'www.example.com', controller: this.controller })
**参考链接** **参考链接**
[domStorageAccess](../reference/arkui-ts/ts-basic-components-web.md#domstorageaccess) [domStorageAccess](../reference/arkui-ts/ts-basic-components-web.md#domstorageaccess)
## 如何解决Web组件加载的HTML页面内检测网络状态失败
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
在HTML页面内通过window.navigator.onLine获取网络状态,联网和断网情况下均为false。
**解决措施**
配置应用获取网络信息权限: ohos.permission.GET\_NETWORK\_INFO
**参考链接**
[GET\_NETWORK\_INFO](../security/permission-list.md#ohospermissionget_network_info)
## 如何自定义拼接设置UserAgent参数
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
默认UserAgent需要通过WebviewController获取。WebviewController对象必须在Web组件绑定后,才能调用WebviewController上的方法getUserAgent获取默认UserAgent。因此在页面加载前通过自定义字符串拼接修改UserAgent,可采用此方式:
1. 使用@State定义初始UserAgent,绑定到Web组件;
2. 在Web组件的onUrlLoadIntercept回调中,通过WebviewController.getUserAgent\(\)获取默认UserAgent,并修改Web组件绑定的UserAgent
**代码示例**
```
import web_webview from '@ohos.web.webview'
@Entry
@Component
struct Index {
private controller: web_webview.WebviewController = new web_webview.WebviewController()
@State userAgentPa: string = ''
build() {
Row() {
Column() {
Web({ src: 'http://www.example.com', controller: this.controller }) //需要手动替换为真实网站
.width('100%')
.userAgent(this.userAgentPa)
.onUrlLoadIntercept((event) => {
let userAgent = this.controller.getUserAgent();
this.userAgentPa = userAgent + ' 111111111'
return false;
})
}
.width('100%')
}
.height('100%')
}
}
```
**参考链接**
[userAgent](../reference/arkui-ts/ts-basic-components-web.md#useragent)[getUserAgent](../reference/apis/js-apis-webview.md#getuseragent)
## Web组件中如何通过手势滑动返回上一个Web页面
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过重写onBackPress函数来自定义返回逻辑,使用WebviewController判断是否返回上一个Web页面。
**示例代码**
```
import web_webview from '@ohos.web.webview';
@Entry
@Component
struct Index {
controller: web_webview.WebviewController = new web_webview.WebviewController();
build() {
Column() {
Web({ src: 'http://www.example.com', controller: this.controller })//需要手动替换为真实网站
}
}
onBackPress() {
// 当前页面是否可前进或者后退给定的step步(-1),正数代表前进,负数代表后退
if (this.controller.accessStep(-1)) {
this.controller.backward(); // 返回上一个web页
// 执行用户自定义返回逻辑
return true
} else {
// 执行系统默认返回逻辑,返回上一个page页
return false
}
}
}
```
**参考链接**
[Web组件](../reference/apis/js-apis-webview.md#accessstep)
...@@ -121,6 +121,86 @@ console.log(`bundleName: ${context.abilityInfo.bundleName}`) ...@@ -121,6 +121,86 @@ console.log(`bundleName: ${context.abilityInfo.bundleName}`)
## 能否在本应用中获取到其他应用的HAP包信息 ## 能否在本应用中获取到其他应用的HAP包信息
适用于:OpenHarmony 3.2 Beta API 9 适用于:OpenHarmony 3.2 API 9
**问题现象**
如何查询系统内其他应用的信息
**解决措施**
查询系统内其他应用信息的API暂时只提供给系统应用使用,具体使用方法:
- 查询系统内指定应用信息需要获取normal级权限ohos.permission.GET\_BUNDLE\_INFO,使用接口bundleManager.getApplicationInfo\(\)
- 查询系统内所有应用信息需要获取system\_basic级权限ohos.permission.GET\_BUNDLE\_INFO\_PRIVILEGED,使用接口bundleManager.getAllApplicationInfo\(\)
**参考链接**
[@ohos.bundle.bundleManager \(bundleManager模块\)](../reference/apis/js-apis-bundleManager.md)
## 如何查询进程的pid
适用于:OpenHarmony 3.2 Beta API 9
**解决措施**
可以通过接口@ohos.process来获取。
**代码示例**
```
import process from '@ohos.process';
private pid = process.pid;
```
**参考链接**
[@ohos.process \(获取进程相关的信息\)](../reference/apis/js-apis-process.md)
## 如何让最大化按钮不可用
适用于:OpenHarmony 3.2 Beta API 9
**解决措施**
可以通过supportWindowModes字段去指定是否显示。
- full\_screen表示支持全屏显示
- split表示支持分屏显示
- floating表示支持窗口化显示
**代码示例**
```
"abilities": [
{
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ts",
"description": "$string:EntryAbility_desc",
"icon": "$media:icon",
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"supportWindowMode": ["split", "floating"],
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
```
**参考链接**
[supportWindowModes参考文档](../reference/apis/js-apis-bundleManager-abilityInfo.md)
根据OpenHarmony的安全设计规范,SDK不提供接口能力给三方应用查询其他应用的包信息(包括但不限于应用名称、版本号等)。
# 语言编译运行时常见问题
## 从rawfile中获取json格式的字符串后,转换成对应的object对象后,再去调用实例方法时直接崩溃
适用于:OpenHarmony 3.2 Beta API 9
**问题现象**
直接报错:jscrash happened in xxxxxxxxx,crash日志中错误信息:Error message: Unexpected Object in JSON
**解决措施**
通过json解析字符串得到的对象的原型是object,其原型链中不存在自有的实例方法,故无法调用。
如需调用该方法,则有以下两种方式:
1. 在解析后的对象上添加对应的原型。
2. 将该实例方法改为静态方法,通过类名去调用。
...@@ -4,10 +4,6 @@ ...@@ -4,10 +4,6 @@
适用于:OpenHarmony 3.2Beta API 9 适用于:OpenHarmony 3.2Beta API 9
**问题现象**
hilog日志如何落盘存储
**解决措施** **解决措施**
使用命令:hilog -w start -f ckTest -l 1M -n 5 -m zlib -j 11 使用命令:hilog -w start -f ckTest -l 1M -n 5 -m zlib -j 11
...@@ -26,3 +22,129 @@ hilog日志如何落盘存储 ...@@ -26,3 +22,129 @@ hilog日志如何落盘存储
更多参数含义请使用hilog --help查看。 更多参数含义请使用hilog --help查看。
``` ```
## Hilog日志如何设置为只打印当前应用的日志
适用于:OpenHarmony 3.2Beta API 9
**解决措施**
通过hilog命令行工具来过滤保留当前应用的日志日志。
hilog -T xxx 按tag过滤;
hilog –D xxx 按domain过滤;
hilog -e 对日志内容匹配,支持正则式tag, domain, pid都支持多重过滤,组合过滤以及反向过滤。
## 程序打开直接崩溃了,如何定位问题
适用于:OpenHarmony 3.2Beta API 9
**解决措施**
方法1:通过业务日志打印,定位崩溃的代码位置。
方法2:通过Crash文件查看报错信息,Crash文件路径是:/data/log/faultlog/faultlogger/。
## 应用如何打印日志是使用hilog还是console,hilog接口参数domain的设置范围是什么
适用于:OpenHarmony 3.2Beta API 9
console是对hilog日志系统的封装,其采用默认参数,主要用于应用开发调试阶段。
推荐使用hilog,可以对日志系统进行分类和统一处理,具体参考文档:[hilog日志系统](../reference/apis/js-apis-hilog.md#hilogisloggable)
hilog接口参数domain的取值范围0x0\~0xFFFF,建议开发者在应用内根据需要自定义划分。
## hilog日志打印长度限制是多少,是否可以配置
适用于:OpenHarmony 3.2Beta API 9
日志打印的长度限制为1024个字符,该长度不能配置
## 格式化日志打印时,使用private的作用是什么
适用于:OpenHarmony 3.2 Beta API 9
**问题现象**
C++代码中hilog的格式参数类型为%d或者%s时,日志打印为何显示private
**解决措施**
直接使用%d、%s等格式化参数时,标准系统默认使用private替换真实数据进行打印,防止数据泄露。如果需要打印出真实数据,需要使用%\{public\}d替换%d或者%\{public\}s替换%s。
## 如何解决hilog.debug日志无法打印
适用于:OpenHarmony 3.2 Beta API 9
**解决措施**
通过hdc命令 hdc shell hilog -b D开启调试开关
## hilog接口的tag参数是否支持用空格隔开的多个字符串
适用于:OpenHarmony 3.2 Beta API 9
支持。
## hilog如何打印\{private\}隐私标志的内容
适用于:OpenHarmony 3.2 Beta API 9
**解决措施**
使用命令关闭隐私模式即可。命令如下:hdc shell hilog -p off
## 有关崩溃日志收集和性能问题排查的功能有哪些
适用于:OpenHarmony 3.2 Beta API 9
**问题现象**
有关崩溃日志收集和性能问题排查的功能有哪些
**解决措施**
faultLogger:崩溃日志收集,参考文档:[故障日志获取](../reference/apis/js-apis-faultLogger.md)
hichecker:问题检测,参考文档:[检测模式](../reference/apis/js-apis-hichecker.md)
hiTraceMeter:性能打点,参考文档:[性能打点](../reference/apis/js-apis-hitracemeter.md)
## 如何控制日志输出
适用于:OpenHarmony 3.2 Beta API 9
**问题现象**
根据不同的环境要求,输出不同的日志信息。
**解决措施**
通过hilog命令调整日志打印级别,输出不同级别的日志信息。命令如下:
hdc shell hilog -L <D/I/W/E/F\>
## hilog的TAG长度有限制吗
适用于:OpenHarmony 3.2 Beta API 9
整个tag的长度是32。
## 日志里面的appfreeze文件的怎么查看,要看哪些内容
适用于:OpenHarmony 3.2 Beta API 9
主要查看方向:
1、先看一下Reason是什么事件的;根据不同的Reason下面有大致的检测原理和分析样例。
2、关注MSG有什么信息,根据MSG的信息看一下大致的方向;
3、分析OpenStacktraceCatcher里面的应用栈信息,并且结合流水日志一起确定一下当前在干什么事情;
4、看一下PeerBinderCatcher当前进程是否有对端的binder卡住,如果有跟当前进程相关的同步wait,则会有相应的PeerBinder Stacktrace信息——这个是卡住你当前进程的对端进程的栈信息。
5、还有整机进程的cpu信息和当前进程的内存信息辅助定位。
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
关系型数据库rdb使用Sqlite数据库, 它不支持 TRUNCATE TABLE 语句,建议使用delete语句,如:DELETE FROM sqlite\_sequence WHERE name = 'table\_name' ,另外发生该错误会抛出空异常。 关系型数据库rdb使用Sqlite数据库, 它不支持 TRUNCATE TABLE 语句,建议使用delete语句,如:DELETE FROM sqlite\_sequence WHERE name = 'table\_name' ,另外发生该错误会抛出空异常。
## 关系型数据库rdb支持哪些数据类型 ## 关系型数据库rdb支持哪些数据类型
适用于:OpenHarmony SDK 3.0版本以上,API 9 Stage模型 适用于:OpenHarmony SDK 3.0版本以上,API 9 Stage模型
...@@ -35,13 +33,43 @@ ...@@ -35,13 +33,43 @@
关系型数据库rdb支持的数据类型有:number、string、boolean。其中number为数字类型,支持Double,Long,Float,Int,Int64,最大精度为十进制17位数字。 关系型数据库rdb支持的数据类型有:number、string、boolean。其中number为数字类型,支持Double,Long,Float,Int,Int64,最大精度为十进制17位数字。
## 如何将PixelMap的数据存储到数据库中 ## 如何实现应用数据持久化存储
适用于:OpenHarmony 3.2 Beta5 API 9 适用于 OpenHarmony 3.2 Beta5 API 9
**问题现象** **解决措施**
通过PersistentStorage类实现管理应用持久化数据,可以将特定标记的持久化数据链接到AppStorage中,并由AppStorage接口访问对应持久化数据。PersistentStorage持久化后的数据会生成本地xml文件保存,文件路径为/data/app/el2/100/base/<bundleName\>/haps/<hapName\>/files/persistent\_storage。
示例:
存储PixelMap的数据 ```
AppStorage.Link('varA')
PersistentStorage.PersistProp("varA", "111");
@Entry
@Component
struct Index {
@StorageLink('varA') varA: string = ''
build() {
Column() {
Text('varA: ' + this.varA).fontSize(20)
Button('Set').width(100).height(100).onClick(() => {
this.varA += '333'
})
}
.width('100%')
.height('100%')
}
}
```
**参考链接**
[持久化数据管理\(OpenHarmony\)](../quick-start/arkts-persiststorage.md)
## 如何将PixelMap的数据存储到数据库中
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施** **解决措施**
...@@ -49,7 +77,7 @@ PixelMap应该被转换成相应的ArrayBuffer再放进数据库。 ...@@ -49,7 +77,7 @@ PixelMap应该被转换成相应的ArrayBuffer再放进数据库。
**参考链接** **参考链接**
[readPixelsToBuffer](../reference/apis/js-apis-image.md#readpixelstobuffer7-1) [readPixelsToBuffer](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md#readpixelstobuffer7-1)
## 如何获取rdb关系型数据库文件 ## 如何获取rdb关系型数据库文件
...@@ -105,6 +133,27 @@ API8版本rdb关系型数据库中TEXT类型保存超长文本失败 ...@@ -105,6 +133,27 @@ API8版本rdb关系型数据库中TEXT类型保存超长文本失败
**解决措施** **解决措施**
API9版本之前对TEXT文本存储长度限制在1024字节,所以会存在超长文本保存失败的情况。 API9版本之前对TEXT文本存储长度限制在1024字节,所以会存在超长文本保存失败的情况。
在API9的版本中已经放开了长度限制。 在API9的版本中已经放开了长度限制。
## Preferences.put缓存成功,但get的结果一直是undefined
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
使用首选项保存数据成功,但是获取数据为空。
**解决措施**
1. 使用put操作后,使用flush持久化数据,然后再使用get获取数据。
2. 由于flush操作是异步执行,将Storage实例通过异步线程回写入文件中, 所以需要等待flush操作执行完成后,再执行get操作。
## 使用RDB数据库时,能否指定内存数据库模式
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
RDB数据库底层使用的是SQLite,默认的内存数据库模式是文件,不支持修改。
...@@ -149,3 +149,64 @@ import UIAbility from '@ohos.app.ability.UIAbility'; ...@@ -149,3 +149,64 @@ import UIAbility from '@ohos.app.ability.UIAbility';
**参考链接** **参考链接**
[使用EventHub进行数据](../application-models/uiability-data-sync-with-ui.md#使用eventhub进行数据通信) [使用EventHub进行数据](../application-models/uiability-data-sync-with-ui.md#使用eventhub进行数据通信)
## 如何实现点击Notification通知打开App功能
适用于:OpenHarmony 3.1 Beta5 API 9
**解决措施**
通过配置Notification.publish发布通知接口的参数NotificationRequest中wantAgent属性实现
**代码示例**
```
import notificationManager from '@ohos.notificationManager';
import WantAgent from '@ohos.app.ability.wantAgent';
async function publishNotification() {
let wantAgentInfo = {
wants: [
{
bundleName: "com.example.webuseragent", // 自己应用的bundleName
abilityName: "EntryAbility",
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 1,
}
const wantAgent = await WantAgent.getWantAgent(wantAgentInfo)
let contentType = notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT;
await notificationManager.publish({
content: {
contentType: contentType,
normal: {
title: "测试标题",
text: "测试内容",
}
},
id: 1,
wantAgent: wantAgent
})
}
```
**参考链接**
[Notification](../reference/apis/js-apis-notificationManager.md)[WantAgent](../reference/apis/js-apis-app-ability-wantAgent.md)
## 调用notificationManager.publish发布通知失败
适用于:OpenHarmony 3.2 Beta5
**问题现象**
发布通知后,无错误日志信息,通知栏没有通知显示
**解决措施**
发布通知时,需要在真机端系统设置中,开启对应应用的通知开关,然后才能在通知栏中看到发布的通知。
手动开启步骤:设置 \> 通知和状态栏 \> 应用名称 \> 允许通知。
也可通过接口notificationManager.requestEnableNotification\(\)来弹窗让用户授权(仅弹一次)。
...@@ -20,4 +20,91 @@ ...@@ -20,4 +20,91 @@
输入命令 hdc shell mount -o remount,rw /,正确执行无提示信息。 输入命令 hdc shell mount -o remount,rw /,正确执行无提示信息。
## 如何实现文件不存在则创建文件
适用于:OpenHarmony 3.2 版本 API 9
**解决措施**
可以通过调用函数fs.open来实现,open\(path: string, mode?: number\),指定第二个参数mode为fs.OpenMode.CREATE,表示若文件不存在,则创建文件。
## 如何解决文件的中文乱码问题
适用于:OpenHarmony 3.2 版本 API 9
**解决措施**
读取文件内容的buffer数据后,通过@ohos.util的TextDecoder对文件内容进行解码。
```
let filePath = getContext(this).filesDir + "/test0.txt";
let stream = fs.createStreamSync(filePath, "r+");
let buffer = new ArrayBuffer(4096)
let readOut = stream.readSync(buffer);
let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM: true })
let readString = textDecoder.decodeWithStream(new Uint8Array(buffer), { stream: false });
console.log("读取的文件内容:" + readString);
```
## “datashare://”路径使用fs.open可以打开,但使用fs.copyFile会报错
适用于:OpenHarmony 3.2 版本 API 9
**解决措施**
copyfile不支持uri,可以先使用open接口打开datashare uri后,拿到fd后再调用copyfile接口。
```
let file = fs.openSync("datashare://...")
fs.copyFile(file.fd, 'dstPath', 0).then(() => {
console.info('copyFile success')
}).catch((err) => {
console.info("copy file failed with error message: " + err.message + ", error code: " + err.code);
})
```
## 如何修改沙箱路径下json文件的指定内容
适用于:OpenHarmony 3.2 版本 API 9
**解决措施**
可以通过以下步骤来完成:
1、使用fs.openSyn获取json文件的fd。
```
import fs from '@ohos.file.fs';
let sanFile = fs.open(basePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let fd = sanFile.fd;
```
2、通过fs.readSync读取json文件内容。
```
let content = fs.readSync(basePath);
```
3、修改内容。
```
obj.name = 'new name';
```
4、重新写入json文件。
```
fs.writeSync(file.fd, JSON.stringify(obj));
```
fs的具体使用可以参考:[@ohos.file.fs](../reference/apis/js-apis-file-fs.md)
## 通过fileAccess模块获取的文件路径对应的实际路径是什么
适用于:OpenHarmony 3.2 版本 API 9 Stage模型
**解决措施**
此类文件是保存在/storage/media/100/local/files目录下,具体位置与文件类型和来源有关。知道文件名时,可在此目录下通过如下命令查找:find . -name \[filename\]
[应用文件上传下载](../file-management/app-file-upload-download.md)
...@@ -116,3 +116,35 @@ Resource为string支持限定词目录使用this.context.resourceManager.getStri ...@@ -116,3 +116,35 @@ Resource为string支持限定词目录使用this.context.resourceManager.getStri
适用于:OpenHarmony 3.2 Beta5 API 9 适用于:OpenHarmony 3.2 Beta5 API 9
form\_config.json文件中不支持使用\$引用常量。 form\_config.json文件中不支持使用\$引用常量。
## ArkTS如何解析xml文件
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
1. 在rawfile目录下创建如下xml文件**。**
```
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>Jacky</name>
<age>18</age>
</user>
```
2. 使用resourceManager.getRawFileContent获取xml文件字节数组。
```
import resourceManager from '@ohos.resourceManager';
resourceManager.getRawFileContent("test.xml", (error, value) => {
if (error != null) {
console.log("error is " + error);
return
}
let arrayBuffer = value.buffer; // unit8Array
var xmpParser = new xml.XmlPullParser(arrayBuffer);
var tagName = ""
//do something
}
```
...@@ -23,7 +23,7 @@ try { ...@@ -23,7 +23,7 @@ try {
## 如何隐藏状态栏实现沉浸式效果 ## 如何隐藏状态栏实现沉浸式效果
适用于:OpenHarmony 3.2 Beta5,API 9 Stage模型 适用于:OpenHarmony 3.2 Beta5,API 9
**解决措施** **解决措施**
...@@ -59,7 +59,7 @@ try { ...@@ -59,7 +59,7 @@ try {
## 如何获取窗口的宽高信息 ## 如何获取窗口的宽高信息
适用于:OpenHarmony SDK 3.2 Beta5,API 9 Stage模型 适用于:OpenHarmony 3.2 Beta5,API 9 Stage模型
**解决措施** **解决措施**
...@@ -91,3 +91,32 @@ try { ...@@ -91,3 +91,32 @@ try {
} }
``` ```
## 如何对图片进行高斯模糊处理
适用于:OpenHarmony 3.2 Beta5,API 9
**解决措施**
导入图像处理(@ohos.multimedia.image)和图像效果(@ohos.effectKit)模块,对图像进行处理并添加模糊效果。
**代码示例**
```
import image from "@ohos.multimedia.image";
import effectKit from "@ohos.effectKit";
const color = new ArrayBuffer(96);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } };
image.createPixelMap(color, opts).then((pixelMap) => {
let radius = 5;
let headFilter = effectKit.createEffect(pixelMap);
if (headFilter != null) {
headFilter.blur(radius);
}
})
```
**参考链接:**
[图片添加模糊效果](../reference/apis/js-apis-effectKit.md#blur)
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
## 使用XComponent组件显示相机的预览输出流时,如何获取相机的帧数据 ## 使用XComponent组件显示相机的预览输出流时,如何获取相机的帧数据
适用于:OpenHarmony 3.2 版本 API 9 Stage模型 适用于:OpenHarmony 3.2 版本 API 9
**问题现象** **问题现象**
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
## 如何获取前置摄像头的预览图像 ## 如何获取前置摄像头的预览图像
适用于:OpenHarmony 3.2版本 API 9 Stage模型 适用于:OpenHarmony 3.2版本 API 9
**解决措施** **解决措施**
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
## 如何设置相机焦距 ## 如何设置相机焦距
适用于:OpenHarmony 3.2版本 API 9 Stage模型 适用于:OpenHarmony 3.2版本 API 9
**解决措施** **解决措施**
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
## 如何后台播放音乐 ## 如何后台播放音乐
适用于:OpenHarmony 3.2版本 API 9 Stage模型 适用于:OpenHarmony 3.2版本 API 9
**问题现象** **问题现象**
...@@ -105,7 +105,7 @@ AVSession对媒体播放做了管控,当三方应用从前台切入后台或 ...@@ -105,7 +105,7 @@ AVSession对媒体播放做了管控,当三方应用从前台切入后台或
## 创建多个视频组件无法播放 ## 创建多个视频组件无法播放
适用于:OpenHarmony 3.2版本 API 9 Stage模型 适用于:OpenHarmony 3.2版本 API 9
**问题现象** **问题现象**
...@@ -115,10 +115,9 @@ AVSession对媒体播放做了管控,当三方应用从前台切入后台或 ...@@ -115,10 +115,9 @@ AVSession对媒体播放做了管控,当三方应用从前台切入后台或
当前限制最多创建13个媒体播放实例。 当前限制最多创建13个媒体播放实例。
## 如何直接调起图片库 ## 如何直接调起图片库
适用于:OpenHarmony 3.2版本 API 9 Stage模型 适用于:OpenHarmony 3.2版本 API 9
**解决措施** **解决措施**
...@@ -134,3 +133,67 @@ let context = getContext(this) as common.UIAbilityContext; ...@@ -134,3 +133,67 @@ let context = getContext(this) as common.UIAbilityContext;
context.startAbility(want); context.startAbility(want);
``` ```
## 如何申请设备上的媒体读写权限
适用于:OpenHarmony 3.2版本 API 9 Stage模型
**解决措施**
1. 在module.json5配置文件中配置媒体读写权限ohos.permission.READ\_MEDIA和ohos.permission.WRITE\_MEDIA。
示例:
```
{
"module" : {
"requestPermissions":[
{
"name" : "ohos.permission.READ_MEDIA",
"reason": "$string:reason"
},
{
"name" : "ohos.permission.WRITE_MEDIA",
"reason": "$string:reason"
}
]
}
}
```
2. 这两个权限的授权方式均为user\_grant,因此需要调用requestPermissionsFromUser接口,以动态弹窗的方式向用户申请授权。
```
let context = getContext(this) as common.UIAbilityContext;
let atManager = abilityAccessCtrl.createAtManager();
let permissions: Array<string> = ['ohos.permission.READ_MEDIA','ohos.permission.WRITE_MEDIA']
atManager.requestPermissionsFromUser(context, permissions)
.then((data) => {
console.log("Succeed to request permission from user with data: " + JSON.stringify(data))
}).catch((error) => {
console.log("Failed to request permission from user with error: " + JSON.stringify(error))
})
```
## 如何检测当前相机服务的状态
适用于:OpenHarmony 3.2版本 API 9 Stage模型
**解决措施**
cameraManager通过设置状态回调返回相机状态。
```
cameraManager.on('cameraStatus', (cameraStatusInfo) => {
console.log(`camera : ${cameraStatusInfo.camera.cameraId}`);
console.log(`status: ${cameraStatusInfo.status}`);
})
```
相机状态:CameraStatus
枚举,相机状态。
CAMERA_STATUS_APPEAR 0 新的相机出现。
CAMERA_STATUS_DISAPPEAR 1 相机被移除。
CAMERA_STATUS_AVAILABLE 2 相机可用。
CAMERA_STATUS_UNAVAILABLE 3 相机不可用。
参考文档:[CameraStatus](../reference/apis/js-apis-camera.md#oncamerastatus)
...@@ -39,3 +39,39 @@ target_link_libraries(entry PUBLIC ...@@ -39,3 +39,39 @@ target_link_libraries(entry PUBLIC
) )
``` ```
## 在Native代码中使用OH\_LOG\_Print打印日志报错
适用于:OpenHarmony 3.1 Beta5 API 9
**问题现象**
在Native代码中使用OH\_LOG\_Print打印日志,上报错误:undefined symbol: OH\_LOG\_Print
**原因分析**
缺少链接库文件。
**解决措施**
打开CMakeLists.txt文件,在target\_link\_libraries最后追加libhilog\_ndk.z.so。
```
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(entry PUBLIC
libace_napi.z.so
libhilog_ndk.z.so
)
```
## 如何遍历rawfiles中的文件
适用于:OpenHarmony 3.1 Beta5 API 9
**解决方案:**
使用Native API中的OH\_ResourceManager\_OpenRawDir\(\)方法获取到rawfile的根目录,然后对其进行遍历。
**参考文档:**
[Native开发指导](../reference/native-apis/rawfile.md)
...@@ -6,3 +6,19 @@ ...@@ -6,3 +6,19 @@
PPG和ECG的血压监测传感器属于可穿戴设备传感器,传感器数据设计个人隐私数据,暂未对个人开发者开放接口。 PPG和ECG的血压监测传感器属于可穿戴设备传感器,传感器数据设计个人隐私数据,暂未对个人开发者开放接口。
## 如何正确使用震动模块接口
适用于:OpenHarmony 3.2版本 API 9 Stage模型
**问题现象**
震动模块接口调用报错,错误码201。
vibrate fail, error.code: 201error.message: NaN
**解决措施**
权限校验失败。需要申请ohos.permission.VIBRATE权限。
参考文档:[权限申请](../security/accesstoken-guidelines.md)
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
适用于OpenHarmony 3.1 Beta5 API 9 适用于OpenHarmony 3.1 Beta5 API 9
通过ohpm可以获取的三四方库在Gitee上做了汇总([OpenHarmony上可直接使用的三方组件汇总](https://gitee.com/openharmony-tpc/tpc_resource)),针对于不同功能三方库内容做了分类,开发者可以根据需要进行参考。 通过ohpm可以获取的三四方库在Gitee上做了汇总([OpenHarmony上可直接使用的三方组件汇总](https://gitee.com/openharmony-tpc/tpc_resource?_from=gitee_search#%E4%B8%89%E6%96%B9%E7%BB%84%E4%BB%B6%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB)),针对于不同功能三方库内容做了分类,开发者可以根据需要进行参考。
## 网络相关的三方库有哪些 ## 网络相关的三方库有哪些
......
...@@ -63,3 +63,103 @@ onWindowStageCreate(windowStage){ ...@@ -63,3 +63,103 @@ onWindowStageCreate(windowStage){
[窗口基础能力文档](../reference/apis/js-apis-window.md) [窗口基础能力文档](../reference/apis/js-apis-window.md)
## 如何锁定设备竖屏,使得窗口不随屏幕旋转
适用于:OpenHarmony SDK 3.2 Beta5 API 9 Stage模型
**解决措施**
采用窗口的setPreferredOrientation方法可以实现该效果,将orientation参数设置为window.Orientation.PORTRAIT时,可锁定屏幕为竖屏。
**代码示例**
```
import window from "@ohos.window";
//1.获取窗口实例对象,新建窗口使用createWindow方法,获取已有的窗口使用findWindow方法
let windowClass = null;
let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
try {
let promise = window.createWindow(config);
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
}).catch((err)=>{
console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
});} catch (exception) {
console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
}
//2.窗口实例使用setPreferredOrientation方法,设置窗口的显示方向,PROTRAIT为固定竖屏,其他方向可参照参考链接
let orientation = window.Orientation.PORTRAIT;
if (windowClass) {
windowClass.setPreferredOrientation(orientation, (err) => {
if (err.code) {
console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting window orientation.');
}
```
**参考链接**
[window.Orientation](../reference/apis/js-apis-window.md#orientation9)
## 调用Window实例的setWindowSystemBarProperties接口设置窗口状态栏和导航栏的高亮属性时不生效
适用于:OpenHarmony SDK 3.2 Beta5 API9 Stage模型
**解决措施**
状态栏字体高亮属性的本质就只是让字体变成白色。调用window实例的setWindowSystemBarProperties接口时,如果设置了状态栏内容颜色statusBarContentColor,就以开发者设置的颜色为准,isStatusBarLightIcon状态栏字体高亮属性就不生效;同理,如果设置了导航栏内容颜色navigationBarContentColor,isNavigationBarLightIcon导航栏字体高亮属性就不生效。
**参考链接**
[window.SystemBarProperties](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-window.md#systembarproperties)
## 如何保持屏幕常亮
适用于:OpenHarmony 3.2 Beta5 API9
**解决措施**
设置屏幕常亮,不熄屏。
获取窗口实例对象后,调用[setWindowKeepScreenOn方法](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-window.md#setwindowkeepscreenon9)可设置屏幕是否常亮。
```
let isKeepScreenOn = true;
try {
windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
if (err.code) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the screen to be always on.');
});
} catch (exception) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
}
```
## 如何监听窗口大小的变化
适用于:OpenHarmony 3.2 Beta5 API9
**解决措施**
获取窗口实例对象后,可以通过窗口的on\('windowSizeChange'\)方法实现对窗口尺寸大小变化的监听
```
try {
windowClass.on('windowSizeChange', (data) => {
console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
});
} catch (exception) {
console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
}
```
**参考链接**
[window.on\("windowSizeChange"\)](../reference/apis/js-apis-window.md#onwindowsizechange7)
# 接口 # 接口
- [开发说明](development-intro.md) - [开发说明](development-intro.md)
...@@ -37,10 +37,12 @@ ...@@ -37,10 +37,12 @@
- [@ohos.app.ability.Want (Want)](js-apis-app-ability-want.md) - [@ohos.app.ability.Want (Want)](js-apis-app-ability-want.md)
- [@ohos.app.ability.wantAgent (WantAgent模块)](js-apis-app-ability-wantAgent.md) - [@ohos.app.ability.wantAgent (WantAgent模块)](js-apis-app-ability-wantAgent.md)
- [@ohos.app.ability.wantConstant (wantConstant)](js-apis-app-ability-wantConstant.md) - [@ohos.app.ability.wantConstant (wantConstant)](js-apis-app-ability-wantConstant.md)
- [@ohos.app.businessAbilityRouter (业务路由模块)](js-apis-businessAbilityRouter.md)
- [@ohos.app.form.formBindingData (卡片数据绑定类)](js-apis-app-form-formBindingData.md) - [@ohos.app.form.formBindingData (卡片数据绑定类)](js-apis-app-form-formBindingData.md)
- [@ohos.app.form.formHost (FormHost)](js-apis-app-form-formHost.md) - [@ohos.app.form.formHost (FormHost)](js-apis-app-form-formHost.md)
- [@ohos.app.form.formInfo (FormInfo)](js-apis-app-form-formInfo.md) - [@ohos.app.form.formInfo (FormInfo)](js-apis-app-form-formInfo.md)
- [@ohos.app.form.formProvider (FormProvider)](js-apis-app-form-formProvider.md) - [@ohos.app.form.formProvider (FormProvider)](js-apis-app-form-formProvider.md)
- [@ohos.application.uriPermissionManager(URI权限管理)](js-apis-uripermissionmanager.md)
- 通用能力的接口(待停用) - 通用能力的接口(待停用)
- [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-ability-dataUriUtils.md) - [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-ability-dataUriUtils.md)
- [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md) - [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md)
...@@ -138,6 +140,12 @@ ...@@ -138,6 +140,12 @@
- [NotificationSlot](js-apis-inner-notification-notificationSlot.md) - [NotificationSlot](js-apis-inner-notification-notificationSlot.md)
- [NotificationTemplate](js-apis-inner-notification-notificationTemplate.md) - [NotificationTemplate](js-apis-inner-notification-notificationTemplate.md)
- [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md) - [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md)
- 公共事件定义
- [元能力子系统公共事件定义](common_event/commonEvent-ability.md)
- [包管理子系统公共事件定义](common_event/commonEvent-bundleManager.md)
- [通知服务公共事件定义](common_event/commonEvent-ans.md)
- [资源调度子系统公共事件定义](common_event/commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](common_event/commonEvent-telephony.md)
- 包管理 - 包管理
- [@ohos.bundle.appControl (appControl模块)](js-apis-appControl.md) - [@ohos.bundle.appControl (appControl模块)](js-apis-appControl.md)
- [@ohos.bundle.bundleManager (bundleManager模块)](js-apis-bundleManager.md) - [@ohos.bundle.bundleManager (bundleManager模块)](js-apis-bundleManager.md)
...@@ -147,6 +155,7 @@ ...@@ -147,6 +155,7 @@
- [@ohos.bundle.freeInstall (freeInstall模块)](js-apis-freeInstall.md) - [@ohos.bundle.freeInstall (freeInstall模块)](js-apis-freeInstall.md)
- [@ohos.bundle.installer (installer模块)](js-apis-installer.md) - [@ohos.bundle.installer (installer模块)](js-apis-installer.md)
- [@ohos.bundle.launcherBundleManager (launcherBundleManager模块)](js-apis-launcherBundleManager.md) - [@ohos.bundle.launcherBundleManager (launcherBundleManager模块)](js-apis-launcherBundleManager.md)
- [@ohos.bundle.overlay (overlay模块)](js-apis-overlay.md)
- [@ohos.zlib (Zip模块)](js-apis-zlib.md) - [@ohos.zlib (Zip模块)](js-apis-zlib.md)
- bundleManager - bundleManager
- [abilityInfo](js-apis-bundleManager-abilityInfo.md) - [abilityInfo](js-apis-bundleManager-abilityInfo.md)
...@@ -154,18 +163,22 @@ ...@@ -154,18 +163,22 @@
- [AppProvisionInfo](js-apis-bundleManager-AppProvisionInfo.md) - [AppProvisionInfo](js-apis-bundleManager-AppProvisionInfo.md)
- [bundleInfo](js-apis-bundleManager-bundleInfo.md) - [bundleInfo](js-apis-bundleManager-bundleInfo.md)
- [BundlePackInfo](js-apis-bundleManager-BundlePackInfo.md) - [BundlePackInfo](js-apis-bundleManager-BundlePackInfo.md)
- [BusinessAbilityInfo](js-apis-bundleManager-businessAbilityInfo.md)
- [dispatchInfo](js-apis-bundleManager-dispatchInfo.md) - [dispatchInfo](js-apis-bundleManager-dispatchInfo.md)
- [elementName](js-apis-bundleManager-elementName.md) - [elementName](js-apis-bundleManager-elementName.md)
- [extensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md) - [extensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)
- [hapModuleInfo](js-apis-bundleManager-hapModuleInfo.md) - [hapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)
- [launcherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md) - [launcherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)
- [metadata](js-apis-bundleManager-metadata.md) - [metadata](js-apis-bundleManager-metadata.md)
- [OverlayModuleInfo](js-apis-bundleManager-overlayModuleInfo.md)
- [permissionDef](js-apis-bundleManager-permissionDef.md) - [permissionDef](js-apis-bundleManager-permissionDef.md)
- [remoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md) - [remoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)
- [SharedBundleInfo](js-apis-bundleManager-sharedBundleInfo.md)
- [shortcutInfo](js-apis-bundleManager-shortcutInfo.md) - [shortcutInfo](js-apis-bundleManager-shortcutInfo.md)
- UI界面 - UI界面
- [@ohos.animator (动画)](js-apis-animator.md) - [@ohos.animator (动画)](js-apis-animator.md)
- [@ohos.arkui.componentSnapshot(组件截图)](js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.drawableDescriptor(DrawableDescriptor)](js-apis-arkui-drawableDescriptor.md) - [@ohos.arkui.drawableDescriptor(DrawableDescriptor)](js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](js-apis-curve.md) - [@ohos.curves (插值计算)](js-apis-curve.md)
- [@ohos.matrix4 (矩阵变换)](js-apis-matrix4.md) - [@ohos.matrix4 (矩阵变换)](js-apis-matrix4.md)
...@@ -263,6 +276,7 @@ ...@@ -263,6 +276,7 @@
- [@ohos.net.connection (网络连接管理)](js-apis-net-connection.md) - [@ohos.net.connection (网络连接管理)](js-apis-net-connection.md)
- [@ohos.net.ethernet (以太网连接管理)](js-apis-net-ethernet.md) - [@ohos.net.ethernet (以太网连接管理)](js-apis-net-ethernet.md)
- [@ohos.net.http (数据请求)](js-apis-http.md) - [@ohos.net.http (数据请求)](js-apis-http.md)
- [@ohos.net.mdns (MDNS管理)](js-apis-net-mdns.md)
- [@ohos.net.sharing (网络共享管理)](js-apis-net-sharing.md) - [@ohos.net.sharing (网络共享管理)](js-apis-net-sharing.md)
- [@ohos.net.socket (Socket连接)](js-apis-socket.md) - [@ohos.net.socket (Socket连接)](js-apis-socket.md)
- [@ohos.net.webSocket (WebSocket连接)](js-apis-webSocket.md) - [@ohos.net.webSocket (WebSocket连接)](js-apis-webSocket.md)
...@@ -319,12 +333,13 @@ ...@@ -319,12 +333,13 @@
- [@ohos.batteryStatistics (耗电统计)](js-apis-batteryStatistics.md) - [@ohos.batteryStatistics (耗电统计)](js-apis-batteryStatistics.md)
- [@ohos.brightness (屏幕亮度)](js-apis-brightness.md) - [@ohos.brightness (屏幕亮度)](js-apis-brightness.md)
- [@ohos.charger (充电类型)](js-apis-charger.md) - [@ohos.charger (充电类型)](js-apis-charger.md)
- [@ohos.cooperate (键鼠穿越)](js-apis-devicestatus-cooperate.md)
- [@ohos.deviceInfo (设备信息)](js-apis-device-info.md) - [@ohos.deviceInfo (设备信息)](js-apis-device-info.md)
- [@ohos.distributedHardware.deviceManager (设备管理)](js-apis-device-manager.md) - [@ohos.distributedHardware.deviceManager (设备管理)](js-apis-device-manager.md)
- [@ohos.geoLocationManager (位置服务)](js-apis-geoLocationManager.md) - [@ohos.geoLocationManager (位置服务)](js-apis-geoLocationManager.md)
- [@ohos.multimodalInput.inputConsumer (组合按键)](js-apis-inputconsumer.md) - [@ohos.multimodalInput.inputConsumer (组合按键)](js-apis-inputconsumer.md)
- [@ohos.multimodalInput.inputDevice (输入设备)](js-apis-inputdevice.md) - [@ohos.multimodalInput.inputDevice (输入设备)](js-apis-inputdevice.md)
- [@ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)](js-apis-cooperate.md) - [@ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)(待停用)](js-apis-cooperate.md)
- [@ohos.multimodalInput.inputEvent (输入事件)](js-apis-inputevent.md) - [@ohos.multimodalInput.inputEvent (输入事件)](js-apis-inputevent.md)
- [@ohos.multimodalInput.inputEventClient (按键注入)](js-apis-inputeventclient.md) - [@ohos.multimodalInput.inputEventClient (按键注入)](js-apis-inputeventclient.md)
- [@ohos.multimodalInput.inputMonitor (输入监听)](js-apis-inputmonitor.md) - [@ohos.multimodalInput.inputMonitor (输入监听)](js-apis-inputmonitor.md)
......
# 系统公共事件定义 # 系统公共事件定义(待停用)
本文档提供OpenHarmony系统所定义的公共事件类型的索引。 本文档提供OpenHarmony系统所定义的公共事件类型的索引。
公共事件类型定义在[ohos.commonEvent模块的Support枚举](./js-apis-commonEvent.md#support)中。 公共事件类型定义在[ohos.commonEvent模块的Support枚举](./js-apis-commonEvent.md#support)中。
......
# 公共事件定义
- [元能力子系统公共事件定义](commonEvent-ability.md)
- [包管理子系统公共事件定义](commonEvent-bundleManager.md)
- [通知服务公共事件定义](commonEvent-ans.md)
- [资源调度子系统公共事件定义](commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](commonEvent-telephony.md)
\ No newline at end of file
...@@ -29,7 +29,7 @@ OpenHarmony中提供的接口,部分是仅供OEM厂商使用的system api, ...@@ -29,7 +29,7 @@ OpenHarmony中提供的接口,部分是仅供OEM厂商使用的system api,
普通应用即在HarmonyAppProvision配置文件中应用程序类型为hos_normal_app的应用。工程新建时,该字段默认为hos_normal_app。 普通应用即在HarmonyAppProvision配置文件中应用程序类型为hos_normal_app的应用。工程新建时,该字段默认为hos_normal_app。
随DevEco下载的SDK为public-SDK,不包括系统接口。如需使用系统接口,需要: 随DevEco下载的SDK为public-SDK,不包括系统接口。如需使用系统接口,需要:
- 参考[full-SDK替换指南](../../quick-start/full-sdk-switch-guide.md)将SDK替换为full-SDK。 - 参考[full-SDK替换指南](../../faqs/full-sdk-switch-guide.md)将SDK替换为full-SDK。
- 参考[HarmonyAppProvision配置文件的说明](../../security/app-provision-structure.md)修改HarmonyAppProvision配置文件中的app-feature字段为hos_system_app(系统应用)。 - 参考[HarmonyAppProvision配置文件的说明](../../security/app-provision-structure.md)修改HarmonyAppProvision配置文件中的app-feature字段为hos_system_app(系统应用)。
## 权限说明 ## 权限说明
......
## PacMap
[key: string]: number | string | boolean | Array\<string | number | boolean> | null;
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
| 参数名 | 参数类型 | 必填 | 说明 |
| ------ | ------ | ------ | ------ |
| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | Yes| 数据存储在键值对中。|
\ No newline at end of file
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
- [网络连接管理错误码](errorcode-net-connection.md) - [网络连接管理错误码](errorcode-net-connection.md)
- [以太网连接错误码](errorcode-net-ethernet.md) - [以太网连接错误码](errorcode-net-ethernet.md)
- [网络共享错误码](errorcode-net-sharing.md) - [网络共享错误码](errorcode-net-sharing.md)
- [MDNS错误码](errorcode-net-mdns.md)
- 通信与连接 - 通信与连接
- [Bluetooth错误码](errorcode-bluetoothManager.md) - [Bluetooth错误码](errorcode-bluetoothManager.md)
- [WIFI错误码](errorcode-wifi.md) - [WIFI错误码](errorcode-wifi.md)
...@@ -81,7 +82,8 @@ ...@@ -81,7 +82,8 @@
- [热管理错误码](errorcode-thermal.md) - [热管理错误码](errorcode-thermal.md)
- [设备管理错误码](errorcode-device-manager.md) - [设备管理错误码](errorcode-device-manager.md)
- [位置服务子系统错误码](errorcode-geoLocationManager.md) - [位置服务子系统错误码](errorcode-geoLocationManager.md)
- [键鼠穿越管理错误码](errorcode-multimodalinput.md) - [键鼠穿越管理错误码](errorcode-devicestatus.md)
- [键鼠穿越管理错误码 (待停用)](errorcode-multimodalinput.md)
- [传感器错误码](errorcode-sensor.md) - [传感器错误码](errorcode-sensor.md)
- [振动错误码](errorcode-vibrator.md) - [振动错误码](errorcode-vibrator.md)
- [系统参数错误码](errorcode-system-parameterV9.md) - [系统参数错误码](errorcode-system-parameterV9.md)
......
...@@ -8,3 +8,4 @@ ...@@ -8,3 +8,4 @@
- [cem工具](cem-tool.md) - [cem工具](cem-tool.md)
- [anm工具](anm-tool.md) - [anm工具](anm-tool.md)
- [restool工具](restool.md) - [restool工具](restool.md)
- [LLDB调试器使用指导](lldb-tool.md)
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
## 概述 ## 概述
LLDB(Low Lever Debugger)是新一代高性能调试器。 LLDB(Low Lever Debugger)是新一代高性能调试器。
当前Openharmony中的LLDB工具是在[llvm15.0.4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4)基础上适配演进出来的工具,支持在桌面和Openharmony设备或模拟器上调试。 当前OpenHarmony中的LLDB工具是在[llvm15.0.4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4)基础上适配演进出来的工具,支持在桌面和Openharmony设备或模拟器上调试。
## 工具获取 ## 工具获取
通过OpenHarmony的SDK获取,从以下链接获取SDK:http://ci.openharmony.cn/dailys/dailybuilds 通过OpenHarmony的SDK获取,从以下链接获取SDK:http://ci.openharmony.cn/dailys/dailybuilds
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
> **说明:** > **说明:**
> >
> 本文档涉及系统接口的使用,请使用full-SDK进行开发。具体使用可见[full-SDK替换指南](../quick-start/full-sdk-switch-guide.md)。 > 本文档涉及系统接口的使用,请使用full-SDK进行开发。具体使用可见[full-SDK替换指南](../faqs/full-sdk-switch-guide.md)。
## 接口说明 ## 接口说明
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.1&nbsp;Release | NA | | OpenHarmony | 3.1.1&nbsp;Release | NA |
| Public SDK | Ohos_sdk_public&nbsp;3.1.6.6 (API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco Studio 3.0 Beta4版本起,通过DevEco Studio获取的SDK默认为Public SDK。<br/>该版本Public SDK于7月6日单独更新发布。 | | Public SDK | Ohos_sdk_public&nbsp;3.1.6.6 (API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco Studio 3.0 Beta4版本起,通过DevEco Studio获取的SDK默认为Public SDK。<br/>该版本Public SDK于7月6日单独更新发布。 |
| Full SDK | Ohos_sdk_full&nbsp;3.1.6.5 (API&nbsp;Version&nbsp;8&nbsp;Release) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full SDK | Ohos_sdk_full&nbsp;3.1.6.5 (API&nbsp;Version&nbsp;8&nbsp;Release) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Beta3&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Beta3&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.2&nbsp;Release | NA | | OpenHarmony | 3.1.2&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese)<br />Ohos_sdk_full&nbsp;3.1.7.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese)<br />Ohos_sdk_full&nbsp;3.1.7.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release)<br />Ohos_sdk_public&nbsp;3.1.7.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release)<br />Ohos_sdk_public&nbsp;3.1.7.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Beta4&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Beta4&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用 |
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191) 2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)
3. 安装[git客户端](https://gitee.com/link?target=https%3A%2F%2Fgit-scm.com%2Fbook%2Fzh%2Fv2%2F%25E8%25B5%25B7%25E6%25AD%25A5-%25E5%25AE%2589%25E8%25A3%2585-Git)[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。 3. 安装[git客户端](https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。
``` ```
git config --global user.name "yourname" git config --global user.name "yourname"
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.3&nbsp;Release | NA | | OpenHarmony | 3.1.3&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.7.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Release&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Release&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.4&nbsp;Release | NA | | OpenHarmony | 3.1.4&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.9.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.9.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.9.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.9.7&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.5&nbsp;Release | NA | | OpenHarmony | 3.1.5&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.11.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.11.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.11.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.11.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.1.6&nbsp;Release | NA | | OpenHarmony | 3.1.6&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.12.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.12.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.12.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.12.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
| 软件 | 版本 | 备注 | | 软件 | 版本 | 备注 |
| ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| OpenHarmony | 3.1.7&nbsp;Release | NA | | OpenHarmony | 3.1.7&nbsp;Release | NA |
| Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.13.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full&nbsp;SDK | Ohos_sdk_full&nbsp;3.1.13.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Relese) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full&nbsp;SDK时需要手动从镜像站点获取,并在DevEco&nbsp;Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.13.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 | | Public&nbsp;SDK | Ohos_sdk_public&nbsp;3.1.13.5&nbsp;(API&nbsp;Version&nbsp;8&nbsp;Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>DevEco&nbsp;Studio&nbsp;3.0&nbsp;Beta4版本起,通过DevEco&nbsp;Studio获取的SDK默认为Public&nbsp;SDK。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.1&nbsp;Preview&nbsp;for&nbsp;OpenHarmony | OpenHarmony应用开发推荐使用。 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用。 |
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.2 Beta2 | NA | | OpenHarmony | 3.2 Beta2 | NA |
| Public SDK | Ohos_sdk_public 3.2.5.5 (API Version 9 Beta2)<br>Ohos_sdk_public 3.2.5.6 (API Version 9 Beta2) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>通过DevEco Studio默认获取的SDK为Public SDK。 | | Public SDK | Ohos_sdk_public 3.2.5.5 (API Version 9 Beta2)<br>Ohos_sdk_public 3.2.5.6 (API Version 9 Beta2) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>通过DevEco Studio默认获取的SDK为Public SDK。 |
| Full SDK | Ohos_sdk_full 3.2.5.5 (API Version 9 Beta2)<br/>Ohos_sdk_full 3.2.5.6 (API Version 9 Beta2) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full SDK | Ohos_sdk_full 3.2.5.5 (API Version 9 Beta2)<br/>Ohos_sdk_full 3.2.5.6 (API Version 9 Beta2) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| HUAWEI DevEco Studio(可选) | 3.0 Beta4 | OpenHarmony应用开发推荐使用。 | | HUAWEI DevEco Studio(可选) | 3.0 Beta4 | OpenHarmony应用开发推荐使用。 |
| HUAWEI DevEco Device Tool(可选) | 3.0 Release | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI DevEco Device Tool(可选) | 3.0 Release | OpenHarmony智能设备集成开发环境推荐使用。 |
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
### SDK变更 ### SDK变更
从本版本起,SDK会同时提供Public SDK和Full SDK。通过DevEco Studio默认获取的SDK为Public SDK。 从本版本起,SDK会同时提供Public SDK和Full SDK。通过DevEco Studio默认获取的SDK为Public SDK。
已使用较早版本SDK开发的应用如果使用到了系统API,升级本版本后需要[手动替换SDK为Full SDK](../application-dev/quick-start/full-sdk-switch-guide.md)才可以保证应用工程可编译通过。 已使用较早版本SDK开发的应用如果使用到了系统API,升级本版本后需要[手动替换SDK为Full SDK](../application-dev/faqs/full-sdk-switch-guide.md)才可以保证应用工程可编译通过。
### 特性变更 ### 特性变更
......
...@@ -54,7 +54,7 @@ DeviceProfile适配分布式数据库自动同步策略,以及采集信息补 ...@@ -54,7 +54,7 @@ DeviceProfile适配分布式数据库自动同步策略,以及采集信息补
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.2&nbsp;Beta3 | NA | | OpenHarmony | 3.2&nbsp;Beta3 | NA |
| Public SDK | Ohos_sdk_public&nbsp;3.2.7.5&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3)<br>Ohos_sdk_public&nbsp;3.2.7.6&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>通过DevEco Studio默认获取的SDK为Public SDK。 | | Public SDK | Ohos_sdk_public&nbsp;3.2.7.5&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3)<br>Ohos_sdk_public&nbsp;3.2.7.6&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。<br/>通过DevEco Studio默认获取的SDK为Public SDK。 |
| Full SDK | Ohos_sdk_full&nbsp;3.2.7.5&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3)<br>Ohos_sdk_full&nbsp;3.2.7.6&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full SDK | Ohos_sdk_full&nbsp;3.2.7.5&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3)<br>Ohos_sdk_full&nbsp;3.2.7.6&nbsp;(API&nbsp;Version&nbsp;9&nbsp;Beta3) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。<br/>使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Release | OpenHarmony应用开发推荐使用 | | HUAWEI&nbsp;DevEco&nbsp;Studio(可选) | 3.0&nbsp;Release | OpenHarmony应用开发推荐使用 |
| HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用 | | HUAWEI&nbsp;DevEco&nbsp;Device&nbsp;Tool(可选) | 3.0&nbsp;Release | OpenHarmony智能设备集成开发环境推荐使用 |
......
...@@ -46,7 +46,7 @@ ArkTS API新增支持错误码的上报,帮助开发者快速捕捉异常, ...@@ -46,7 +46,7 @@ ArkTS API新增支持错误码的上报,帮助开发者快速捕捉异常,
| -------- | -------- | -------- | | -------- | -------- | -------- |
| OpenHarmony | 3.2 Beta4 | NA | | OpenHarmony | 3.2 Beta4 | NA |
| Public SDK | Ohos_sdk_public 3.2.9.2 (API Version 9 Beta4) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。通过DevEco Studio默认获取的SDK为Public SDK。 | | Public SDK | Ohos_sdk_public 3.2.9.2 (API Version 9 Beta4) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。通过DevEco Studio默认获取的SDK为Public SDK。 |
| Full SDK | Ohos_sdk_full 3.2.9.2 (API Version 9 Beta4) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md)。 | | Full SDK | Ohos_sdk_full 3.2.9.2 (API Version 9 Beta4) | 面向OEM厂商提供,包含了需要使用系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](../application-dev/faqs/full-sdk-switch-guide.md)。 |
| HUAWEI DevEco Studio(可选) | 3.1 Canary1 | OpenHarmony应用开发推荐使用。 | | HUAWEI DevEco Studio(可选) | 3.1 Canary1 | OpenHarmony应用开发推荐使用。 |
| HUAWEI DevEco Device Tool(可选) | 3.1 Beta1 | OpenHarmony智能设备集成开发环境推荐使用。 | | HUAWEI DevEco Device Tool(可选) | 3.1 Beta1 | OpenHarmony智能设备集成开发环境推荐使用。 |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部