Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
1ac02fb3
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
大约 1 年 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
1ac02fb3
编写于
7月 25, 2022
作者:
O
openharmony_ci
提交者:
Gitee
7月 25, 2022
浏览文件
操作
浏览文件
下载
差异文件
!4551 Adapt to the new framework_PART31
Merge pull request !4551 from jiyong/local-20220725-0001
上级
eddf73fd
e40a84cc
变更
32
隐藏空白更改
内联
并排
Showing
32 changed file
with
9743 addition
and
9523 deletion
+9743
-9523
ability/ability_runtime/actsfwkdataaccessortest/BUILD.gn
ability/ability_runtime/actsfwkdataaccessortest/BUILD.gn
+1
-1
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/BUILD.gn
...e/actsfwkdataaccessortest/actsdataabilityrelyhap/BUILD.gn
+1
-1
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/config.json
...sortest/actsdataabilityrelyhap/entry/src/main/config.json
+97
-97
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/AbilityStage.ts
...actsdataabilityrelyhap/entry/src/main/ets/AbilityStage.ts
+20
-20
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/MainAbility.ts
...lityrelyhap/entry/src/main/ets/MainAbility/MainAbility.ts
+43
-43
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/app.ets
...dataabilityrelyhap/entry/src/main/ets/MainAbility/app.ets
+21
-21
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/pages/index.ets
...ityrelyhap/entry/src/main/ets/MainAbility/pages/index.ets
+37
-37
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/pages/second.ets
...tyrelyhap/entry/src/main/ets/MainAbility/pages/second.ets
+42
-42
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/TestDataAbility/data.ts
...abilityrelyhap/entry/src/main/ets/TestDataAbility/data.ts
+253
-253
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/TestDataAbility2/data.ts
...bilityrelyhap/entry/src/main/ets/TestDataAbility2/data.ts
+253
-253
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/resources/base/element/string.json
...relyhap/entry/src/main/resources/base/element/string.json
+35
-35
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/BUILD.gn
.../actsfwkdataaccessortest/actsfwkdataaccessortest/BUILD.gn
+7
-5
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/Test.json
...actsfwkdataaccessortest/actsfwkdataaccessortest/Test.json
+20
-19
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/entry/src/main/config.json
...ortest/actsfwkdataaccessortest/entry/src/main/config.json
+0
-62
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/config.json
...accessortest/actsfwkdataaccessortest/src/main/config.json
+94
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/app.js
...st/actsfwkdataaccessortest/src/main/js/MainAbility/app.js
+22
-22
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/i18n/en-US.json
...kdataaccessortest/src/main/js/MainAbility/i18n/en-US.json
+5
-5
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/i18n/zh-CN.json
...kdataaccessortest/src/main/js/MainAbility/i18n/zh-CN.json
+5
-5
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/pages/index/index.css
...ccessortest/src/main/js/MainAbility/pages/index/index.css
+11
-11
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/pages/index/index.hml
...ccessortest/src/main/js/MainAbility/pages/index/index.hml
+8
-8
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/MainAbility/pages/index/index.js
...accessortest/src/main/js/MainAbility/pages/index/index.js
+29
-43
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/app.js
...st/actsfwkdataaccessortest/src/main/js/TestAbility/app.js
+31
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/i18n/en-US.json
...kdataaccessortest/src/main/js/TestAbility/i18n/en-US.json
+8
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/i18n/zh-CN.json
...kdataaccessortest/src/main/js/TestAbility/i18n/zh-CN.json
+8
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.css
...ccessortest/src/main/js/TestAbility/pages/index/index.css
+30
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.hml
...ccessortest/src/main/js/TestAbility/pages/index/index.hml
+5
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.js
...accessortest/src/main/js/TestAbility/pages/index/index.js
+26
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
...essortest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
+59
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/test/DataAbilityHelperJsSt.test.js
...cessortest/src/main/js/test/DataAbilityHelperJsSt.test.js
+8526
-8525
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/test/List.test.js
...est/actsfwkdataaccessortest/src/main/js/test/List.test.js
+18
-15
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/resources/base/element/string.json
...aaccessortest/src/main/resources/base/element/string.json
+28
-0
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/resources/base/media/icon.png
...wkdataaccessortest/src/main/resources/base/media/icon.png
+0
-0
未找到文件。
ability/ability_runtime/actsfwkdataaccessortest/BUILD.gn
浏览文件 @
1ac02fb3
...
...
@@ -9,7 +9,7 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
...
...
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/BUILD.gn
浏览文件 @
1ac02fb3
...
...
@@ -9,7 +9,7 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
...
...
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/config.json
浏览文件 @
1ac02fb3
{
"app"
:
{
"bundleName"
:
"com.amsst.stdataability"
,
"vendor"
:
"test"
,
"version"
:
{
"code"
:
1000110
,
"name"
:
"1.1.1"
},
"apiVersion"
:
{
"compatible"
:
9
,
"target"
:
9
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.amsst.stdataability"
,
"name"
:
".MyApplication"
,
"mainAbility"
:
".MainAbility"
,
"srcPath"
:
""
,
"deviceType"
:
[
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
,
"installationFree"
:
false
},
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"visible"
:
true
,
"srcPath"
:
"MainAbility"
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"ets"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:description_mainability"
,
"formsEnabled"
:
false
,
"label"
:
"$string:entry_MainAbility"
,
"type"
:
"page"
,
"launchType"
:
"standard"
},
{
"srcPath"
:
"TestDataAbility"
,
"name"
:
".TestDataAbility"
,
"icon"
:
"$media:icon"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_testdataability"
,
"type"
:
"data"
,
"visible"
:
true
,
"uri"
:
"dataability://com.example.myapplication.DataAbility"
},
{
"srcPath"
:
"TestDataAbility2"
,
"name"
:
".TestDataAbility2"
,
"icon"
:
"$media:icon"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_testdataability"
,
"type"
:
"data"
,
"visible"
:
true
,
"uri"
:
"dataability://com.example.myapplication.DataAbility2"
}
],
"js"
:
[
{
"mode"
:
{
"syntax"
:
"ets"
,
"type"
:
"pageAbility"
},
"pages"
:
[
"pages/index"
,
"pages/second"
],
"name"
:
".MainAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"defPermissions"
:
[
{
"name"
:
"com.ohos.screenlock.DataAbilityShellProvider.PROVIDER"
}
]
}
}
{
"app"
:
{
"bundleName"
:
"com.amsst.stdataability"
,
"vendor"
:
"test"
,
"version"
:
{
"code"
:
1000110
,
"name"
:
"1.1.1"
},
"apiVersion"
:
{
"compatible"
:
9
,
"target"
:
9
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.amsst.stdataability"
,
"name"
:
".MyApplication"
,
"mainAbility"
:
".MainAbility"
,
"srcPath"
:
""
,
"deviceType"
:
[
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
,
"installationFree"
:
false
},
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"visible"
:
true
,
"srcPath"
:
"MainAbility"
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"ets"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:description_mainability"
,
"formsEnabled"
:
false
,
"label"
:
"$string:entry_MainAbility"
,
"type"
:
"page"
,
"launchType"
:
"standard"
},
{
"srcPath"
:
"TestDataAbility"
,
"name"
:
".TestDataAbility"
,
"icon"
:
"$media:icon"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_testdataability"
,
"type"
:
"data"
,
"visible"
:
true
,
"uri"
:
"dataability://com.example.myapplication.DataAbility"
},
{
"srcPath"
:
"TestDataAbility2"
,
"name"
:
".TestDataAbility2"
,
"icon"
:
"$media:icon"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_testdataability"
,
"type"
:
"data"
,
"visible"
:
true
,
"uri"
:
"dataability://com.example.myapplication.DataAbility2"
}
],
"js"
:
[
{
"mode"
:
{
"syntax"
:
"ets"
,
"type"
:
"pageAbility"
},
"pages"
:
[
"pages/index"
,
"pages/second"
],
"name"
:
".MainAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"defPermissions"
:
[
{
"name"
:
"com.ohos.screenlock.DataAbilityShellProvider.PROVIDER"
}
]
}
}
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/AbilityStage.ts
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityStage
from
"
@ohos.application.AbilityStage
"
export
default
class
MyAbilityStage
extends
AbilityStage
{
onCreate
()
{
console
.
log
(
"
MyAbilityStage onCreate
"
);
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityStage
from
"
@ohos.application.AbilityStage
"
export
default
class
MyAbilityStage
extends
AbilityStage
{
onCreate
()
{
console
.
log
(
"
MyAbilityStage onCreate
"
);
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/MainAbility.ts
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
Ability
from
'
@ohos.application.Ability
'
export
default
class
MainAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
log
(
"
jws onCreate
"
);
}
onDestroy
()
{
console
.
log
(
"
jws onDestroy
"
);
}
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
"
jws onWindowStageCreate
"
);
}
onWindowStageDestroy
()
{
console
.
log
(
"
jws onWindowStageDestroy
"
);
}
onForeground
()
{
console
.
log
(
"
jws onForeground
"
);
}
onBackground
()
{
console
.
log
(
"
jws onBackground
"
);
}
call
(){
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
Ability
from
'
@ohos.application.Ability
'
export
default
class
MainAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
log
(
"
jws onCreate
"
);
}
onDestroy
()
{
console
.
log
(
"
jws onDestroy
"
);
}
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
"
jws onWindowStageCreate
"
);
}
onWindowStageDestroy
()
{
console
.
log
(
"
jws onWindowStageDestroy
"
);
}
onForeground
()
{
console
.
log
(
"
jws onForeground
"
);
}
onBackground
()
{
console
.
log
(
"
jws onBackground
"
);
}
call
(){
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/app.ets
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
onCreate() {
console.info('Application onCreate')
},
onDestroy() {
console.info('Application onDestroy')
},
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
onCreate() {
console.info('Application onCreate')
},
onDestroy() {
console.info('Application onDestroy')
},
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/pages/index.ets
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {Core} from 'deccjsunit/index'
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('onShow finish')
const core = Core.getInstance()
core.init()
const configService = core.getDefaultService('config')
configService.setConfig(this)
core.execute()
}
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
.height('100%')
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {Core} from 'deccjsunit/index'
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('onShow finish')
const core = Core.getInstance()
core.init()
const configService = core.getDefaultService('config')
configService.setConfig(this)
core.execute()
}
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
.height('100%')
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/MainAbility/pages/second.ets
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import router from '@system.router';
@Entry
@Component
struct Second {
private content: string = "Second Page"
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text(`${this.content}`)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('back to index')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
router.back()
})
}
.width('100%')
.height('100%')
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import router from '@system.router';
@Entry
@Component
struct Second {
private content: string = "Second Page"
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text(`${this.content}`)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('back to index')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
router.back()
})
}
.width('100%')
.height('100%')
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/TestDataAbility/data.ts
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
dataAbility
from
'
@ohos.data.dataAbility
'
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
fileio
from
'
@ohos.fileio
'
import
dataRdb
from
'
@ohos.data.rdb
'
const
TABLE_NAME
=
'
book
'
const
STORE_CONFIG
=
{
name
:
'
book.db
'
}
const
SQL_CREATE_TABLE
=
'
CREATE TABLE IF NOT EXISTS book
'
+
'
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)
'
let
rdbStore
:
any
=
undefined
const
TAG
=
'
ACTS_ DataAbility.data
'
const
context
=
featureAbility
.
getContext
()
let
defaultReturn
=
1
;
let
returnError
=
0
;
let
returnError1
=
-
1
;
let
returnError2
=
-
2
;
let
returnError3
=
-
3
;
let
dataAbilityUri
=
(
"
dataability:///com.example.myapplication.DataAbility
"
);
export
default
{
onInitialized
(
abilityInfo
)
{
console
.
debug
(
'
ACTS_ DataAbility onInitialized,abilityInfo=
'
+
abilityInfo
.
bundleName
)
dataRdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
(
err
,
store
)
=>
{
console
.
debug
(
'
ACTS_ [data]getRdbStoreThen
'
)
store
.
executeSql
(
SQL_CREATE_TABLE
,
[])
rdbStore
=
store
});
},
insert
(
uri
,
valueBucket
,
callback
)
{
console
.
debug
(
TAG
+
'
insert start 1121
'
)
console
.
debug
(
TAG
+
'
valueBucket json=>
'
+
JSON
.
stringify
(
valueBucket
))
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error insert
"
console
.
debug
(
TAG
+
'
rdbStore.insert
'
)
rdbStore
.
insert
(
TABLE_NAME
,
valueBucket
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
query
(
uri
,
columns
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
query start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
query
(
rdbPredicates
,
columns
,
callback
)
},
update
(
uri
,
valueBucket
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
update start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error update
"
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
update
(
valueBucket
,
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
delete
(
uri
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
delete start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
delete
(
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
call
(
uri
,
method
,
arg
,
extras
,
callback
)
{
console
.
debug
(
TAG
+
'
call start
'
)
console
.
debug
(
TAG
+
'
uri---->
'
+
uri
)
console
.
debug
(
TAG
+
'
method---->
'
+
uri
)
},
batchInsert
(
uri
,
values
,
callback
)
{
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
for
(
var
j
=
0
;
j
<
values
.
length
;
j
++
)
{
rdbStore
.
insert
(
"
EMPLOYEE
"
,
values
[
j
],
function
(
err
,
ret
)
{
console
.
log
(
TAG
+
"
batchInsert callback ret:
"
+
JSON
.
stringify
(
ret
))
})
}
console
.
log
(
TAG
+
"
batchInsert values.length:
"
+
values
.
length
+
'
,json=
'
+
JSON
.
stringify
(
values
.
length
))
callback
(
err
,
values
.
length
);
},
getType
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by getType ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
callback
(
"
success
"
,
uri
);
},
getFileTypes
(
uri
,
mimeTypeFilter
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by GetFileTypes ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
type1
=
"
"
;
let
type2
=
"
"
;
let
type3
=
"
"
;
let
types
;
if
(
mimeTypeFilter
==
"
*/*
"
)
{
type1
=
(
"
hap
"
);
type2
=
(
"
jpg
"
);
type3
=
(
"
image/png
"
);
types
=
[
type1
,
type2
,
type3
];
}
else
if
(
mimeTypeFilter
==
"
image/*
"
)
{
type1
=
(
"
image/png
"
);
types
=
[
type1
];
}
else
if
(
mimeTypeFilter
==
"
*/jpg
"
)
{
type1
=
(
"
jpg
"
);
types
=
[
type1
];
}
console
.
log
(
TAG
+
"
GetFileTypes callback ret:
"
+
JSON
.
stringify
(
types
))
callback
(
"
success
"
,
types
);
},
openFile
(
uri
,
mode
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by openFile ================
'
);
let
defaultReturn
=
1
;
let
returnError1
=
-
1
;
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
if
(
!
(
mode
==
(
"
r
"
)
||
mode
==
(
"
w
"
)
||
mode
==
(
"
wt
"
)
||
mode
==
(
"
wa
"
)
||
mode
==
(
"
rw
"
)
||
mode
==
(
"
rwt
"
)))
{
if
(
mode
==
(
"
A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7
"
))
{
defaultReturn
=
returnError2
;
}
else
defaultReturn
=
returnError3
;
}
console
.
info
(
TAG
+
"
path = /data/test
"
);
let
path
=
"
/data/test
"
fileio
.
stat
(
path
).
then
(
function
(
stat
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo successfully callback ret:
"
+
JSON
.
stringify
(
stat
));
}).
catch
(
function
(
err
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo failed with error callback ret:
"
+
err
);
defaultReturn
=
returnError1
;
});
console
.
info
(
TAG
+
"
path ==>
"
+
path
);
callback
(
"
success
"
,
defaultReturn
);
},
normalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by normalizeUri ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
},
denormalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by denormalizeUri ================
'
);
console
.
info
(
TAG
+
"
denormalizeUri uri:
"
+
JSON
.
stringify
(
uri
));
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
dataAbility
from
'
@ohos.data.dataAbility
'
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
fileio
from
'
@ohos.fileio
'
import
dataRdb
from
'
@ohos.data.rdb
'
const
TABLE_NAME
=
'
book
'
const
STORE_CONFIG
=
{
name
:
'
book.db
'
}
const
SQL_CREATE_TABLE
=
'
CREATE TABLE IF NOT EXISTS book
'
+
'
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)
'
let
rdbStore
:
any
=
undefined
const
TAG
=
'
ACTS_ DataAbility.data
'
const
context
=
featureAbility
.
getContext
()
let
defaultReturn
=
1
;
let
returnError
=
0
;
let
returnError1
=
-
1
;
let
returnError2
=
-
2
;
let
returnError3
=
-
3
;
let
dataAbilityUri
=
(
"
dataability:///com.example.myapplication.DataAbility
"
);
export
default
{
onInitialized
(
abilityInfo
)
{
console
.
debug
(
'
ACTS_ DataAbility onInitialized,abilityInfo=
'
+
abilityInfo
.
bundleName
)
dataRdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
(
err
,
store
)
=>
{
console
.
debug
(
'
ACTS_ [data]getRdbStoreThen
'
)
store
.
executeSql
(
SQL_CREATE_TABLE
,
[])
rdbStore
=
store
});
},
insert
(
uri
,
valueBucket
,
callback
)
{
console
.
debug
(
TAG
+
'
insert start 1121
'
)
console
.
debug
(
TAG
+
'
valueBucket json=>
'
+
JSON
.
stringify
(
valueBucket
))
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error insert
"
console
.
debug
(
TAG
+
'
rdbStore.insert
'
)
rdbStore
.
insert
(
TABLE_NAME
,
valueBucket
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
query
(
uri
,
columns
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
query start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
query
(
rdbPredicates
,
columns
,
callback
)
},
update
(
uri
,
valueBucket
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
update start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error update
"
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
update
(
valueBucket
,
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
delete
(
uri
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
delete start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
delete
(
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
call
(
uri
,
method
,
arg
,
extras
,
callback
)
{
console
.
debug
(
TAG
+
'
call start
'
)
console
.
debug
(
TAG
+
'
uri---->
'
+
uri
)
console
.
debug
(
TAG
+
'
method---->
'
+
uri
)
},
batchInsert
(
uri
,
values
,
callback
)
{
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
for
(
var
j
=
0
;
j
<
values
.
length
;
j
++
)
{
rdbStore
.
insert
(
"
EMPLOYEE
"
,
values
[
j
],
function
(
err
,
ret
)
{
console
.
log
(
TAG
+
"
batchInsert callback ret:
"
+
JSON
.
stringify
(
ret
))
})
}
console
.
log
(
TAG
+
"
batchInsert values.length:
"
+
values
.
length
+
'
,json=
'
+
JSON
.
stringify
(
values
.
length
))
callback
(
err
,
values
.
length
);
},
getType
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by getType ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
callback
(
"
success
"
,
uri
);
},
getFileTypes
(
uri
,
mimeTypeFilter
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by GetFileTypes ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
type1
=
"
"
;
let
type2
=
"
"
;
let
type3
=
"
"
;
let
types
;
if
(
mimeTypeFilter
==
"
*/*
"
)
{
type1
=
(
"
hap
"
);
type2
=
(
"
jpg
"
);
type3
=
(
"
image/png
"
);
types
=
[
type1
,
type2
,
type3
];
}
else
if
(
mimeTypeFilter
==
"
image/*
"
)
{
type1
=
(
"
image/png
"
);
types
=
[
type1
];
}
else
if
(
mimeTypeFilter
==
"
*/jpg
"
)
{
type1
=
(
"
jpg
"
);
types
=
[
type1
];
}
console
.
log
(
TAG
+
"
GetFileTypes callback ret:
"
+
JSON
.
stringify
(
types
))
callback
(
"
success
"
,
types
);
},
openFile
(
uri
,
mode
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by openFile ================
'
);
let
defaultReturn
=
1
;
let
returnError1
=
-
1
;
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
if
(
!
(
mode
==
(
"
r
"
)
||
mode
==
(
"
w
"
)
||
mode
==
(
"
wt
"
)
||
mode
==
(
"
wa
"
)
||
mode
==
(
"
rw
"
)
||
mode
==
(
"
rwt
"
)))
{
if
(
mode
==
(
"
A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7
"
))
{
defaultReturn
=
returnError2
;
}
else
defaultReturn
=
returnError3
;
}
console
.
info
(
TAG
+
"
path = /data/test
"
);
let
path
=
"
/data/test
"
fileio
.
stat
(
path
).
then
(
function
(
stat
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo successfully callback ret:
"
+
JSON
.
stringify
(
stat
));
}).
catch
(
function
(
err
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo failed with error callback ret:
"
+
err
);
defaultReturn
=
returnError1
;
});
console
.
info
(
TAG
+
"
path ==>
"
+
path
);
callback
(
"
success
"
,
defaultReturn
);
},
normalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by normalizeUri ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
},
denormalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by denormalizeUri ================
'
);
console
.
info
(
TAG
+
"
denormalizeUri uri:
"
+
JSON
.
stringify
(
uri
));
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
}
};
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/ets/TestDataAbility2/data.ts
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
dataAbility
from
'
@ohos.data.dataAbility
'
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
fileio
from
'
@ohos.fileio
'
import
dataRdb
from
'
@ohos.data.rdb
'
const
TABLE_NAME
=
'
book
'
const
STORE_CONFIG
=
{
name
:
'
book.db
'
}
const
SQL_CREATE_TABLE
=
'
CREATE TABLE IF NOT EXISTS book
'
+
'
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)
'
let
rdbStore
:
any
=
undefined
const
TAG
=
'
ACTS_ DataAbility.data
'
const
context
=
featureAbility
.
getContext
()
let
defaultReturn
=
1
;
let
returnError
=
0
;
let
returnError1
=
-
1
;
let
returnError2
=
-
2
;
let
returnError3
=
-
3
;
let
dataAbilityUri
=
(
"
dataability:///com.example.myapplication.DataAbility2
"
);
export
default
{
onInitialized
(
abilityInfo
)
{
console
.
debug
(
'
ACTS_ DataAbility onInitialized,abilityInfo=
'
+
abilityInfo
.
bundleName
)
dataRdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
(
err
,
store
)
=>
{
console
.
debug
(
'
ACTS_ [data]getRdbStoreThen
'
)
store
.
executeSql
(
SQL_CREATE_TABLE
,
[])
rdbStore
=
store
});
},
insert
(
uri
,
valueBucket
,
callback
)
{
console
.
debug
(
TAG
+
'
insert start 1121
'
)
console
.
debug
(
TAG
+
'
valueBucket json=>
'
+
JSON
.
stringify
(
valueBucket
))
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error insert
"
console
.
debug
(
TAG
+
'
rdbStore.insert
'
)
rdbStore
.
insert
(
TABLE_NAME
,
valueBucket
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
query
(
uri
,
columns
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
query start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
query
(
rdbPredicates
,
columns
,
callback
)
},
update
(
uri
,
valueBucket
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
update start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error update
"
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
update
(
valueBucket
,
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
delete
(
uri
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
delete start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
delete
(
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
call
(
uri
,
method
,
arg
,
extras
,
callback
)
{
console
.
debug
(
TAG
+
'
call start
'
)
console
.
debug
(
TAG
+
'
uri---->
'
+
uri
)
console
.
debug
(
TAG
+
'
method---->
'
+
uri
)
},
batchInsert
(
uri
,
values
,
callback
)
{
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
for
(
var
j
=
0
;
j
<
values
.
length
;
j
++
)
{
rdbStore
.
insert
(
"
EMPLOYEE
"
,
values
[
j
],
function
(
err
,
ret
)
{
console
.
log
(
TAG
+
"
batchInsert callback ret:
"
+
JSON
.
stringify
(
ret
))
})
}
console
.
log
(
TAG
+
"
batchInsert values.length:
"
+
values
.
length
+
'
,json=
'
+
JSON
.
stringify
(
values
.
length
))
callback
(
err
,
values
.
length
);
},
getType
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by getType ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
callback
(
"
success
"
,
uri
);
},
getFileTypes
(
uri
,
mimeTypeFilter
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by GetFileTypes ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
type1
=
"
"
;
let
type2
=
"
"
;
let
type3
=
"
"
;
let
types
;
if
(
mimeTypeFilter
==
"
*/*
"
)
{
type1
=
(
"
hap
"
);
type2
=
(
"
jpg
"
);
type3
=
(
"
image/png
"
);
types
=
[
type1
,
type2
,
type3
];
}
else
if
(
mimeTypeFilter
==
"
image/*
"
)
{
type1
=
(
"
image/png
"
);
types
=
[
type1
];
}
else
if
(
mimeTypeFilter
==
"
*/jpg
"
)
{
type1
=
(
"
jpg
"
);
types
=
[
type1
];
}
console
.
log
(
TAG
+
"
GetFileTypes callback ret:
"
+
JSON
.
stringify
(
types
))
callback
(
"
success
"
,
types
);
},
openFile
(
uri
,
mode
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by openFile ================
'
);
let
defaultReturn
=
1
;
let
returnError1
=
-
1
;
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
if
(
!
(
mode
==
(
"
r
"
)
||
mode
==
(
"
w
"
)
||
mode
==
(
"
wt
"
)
||
mode
==
(
"
wa
"
)
||
mode
==
(
"
rw
"
)
||
mode
==
(
"
rwt
"
)))
{
if
(
mode
==
(
"
A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7
"
))
{
defaultReturn
=
returnError2
;
}
else
defaultReturn
=
returnError3
;
}
console
.
info
(
TAG
+
"
path = /data/test
"
);
let
path
=
"
/data/test
"
fileio
.
stat
(
path
).
then
(
function
(
stat
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo successfully callback ret:
"
+
JSON
.
stringify
(
stat
));
}).
catch
(
function
(
err
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo failed with error callback ret:
"
+
err
);
defaultReturn
=
returnError1
;
});
console
.
info
(
TAG
+
"
path ==>
"
+
path
);
callback
(
"
success
"
,
defaultReturn
);
},
normalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by normalizeUri ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
},
denormalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by denormalizeUri ================
'
);
console
.
info
(
TAG
+
"
denormalizeUri uri:
"
+
JSON
.
stringify
(
uri
));
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
}
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
dataAbility
from
'
@ohos.data.dataAbility
'
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
fileio
from
'
@ohos.fileio
'
import
dataRdb
from
'
@ohos.data.rdb
'
const
TABLE_NAME
=
'
book
'
const
STORE_CONFIG
=
{
name
:
'
book.db
'
}
const
SQL_CREATE_TABLE
=
'
CREATE TABLE IF NOT EXISTS book
'
+
'
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)
'
let
rdbStore
:
any
=
undefined
const
TAG
=
'
ACTS_ DataAbility.data
'
const
context
=
featureAbility
.
getContext
()
let
defaultReturn
=
1
;
let
returnError
=
0
;
let
returnError1
=
-
1
;
let
returnError2
=
-
2
;
let
returnError3
=
-
3
;
let
dataAbilityUri
=
(
"
dataability:///com.example.myapplication.DataAbility2
"
);
export
default
{
onInitialized
(
abilityInfo
)
{
console
.
debug
(
'
ACTS_ DataAbility onInitialized,abilityInfo=
'
+
abilityInfo
.
bundleName
)
dataRdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
(
err
,
store
)
=>
{
console
.
debug
(
'
ACTS_ [data]getRdbStoreThen
'
)
store
.
executeSql
(
SQL_CREATE_TABLE
,
[])
rdbStore
=
store
});
},
insert
(
uri
,
valueBucket
,
callback
)
{
console
.
debug
(
TAG
+
'
insert start 1121
'
)
console
.
debug
(
TAG
+
'
valueBucket json=>
'
+
JSON
.
stringify
(
valueBucket
))
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error insert
"
console
.
debug
(
TAG
+
'
rdbStore.insert
'
)
rdbStore
.
insert
(
TABLE_NAME
,
valueBucket
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
query
(
uri
,
columns
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
query start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
query
(
rdbPredicates
,
columns
,
callback
)
},
update
(
uri
,
valueBucket
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
update start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
console
.
debug
(
TAG
+
'
valueBucket.age =>
'
+
valueBucket
.
age
)
console
.
debug
(
TAG
+
'
valueBucket.name =>
'
+
valueBucket
.
name
)
console
.
debug
(
TAG
+
'
valueBucket.salary =>
'
+
valueBucket
.
salary
)
if
(
valueBucket
.
age
!=
24
)
{
err
=
"
Error age
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
name
!=
"
ActsDataAbilityHelperTest
"
)
{
err
=
"
Error name
"
callback
(
err
,
returnError2
);
}
if
(
valueBucket
.
salary
!=
2024.20
)
{
err
=
"
Error salary
"
callback
(
err
,
returnError2
);
}
err
=
"
Error update
"
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
update
(
valueBucket
,
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
delete
(
uri
,
predicates
,
callback
)
{
console
.
debug
(
TAG
+
'
delete start
'
)
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
rdbPredicates
=
dataAbility
.
createRdbPredicates
(
TABLE_NAME
,
predicates
)
rdbStore
.
delete
(
rdbPredicates
,
function
(
err
,
resultSet
)
{
console
.
log
(
TAG
+
"
insert callback resultSet:
"
+
resultSet
+
"
,json=
"
+
JSON
.
stringify
(
resultSet
)
+
'
,err
'
+
err
)
callback
(
err
,
defaultReturn
);
})
},
call
(
uri
,
method
,
arg
,
extras
,
callback
)
{
console
.
debug
(
TAG
+
'
call start
'
)
console
.
debug
(
TAG
+
'
uri---->
'
+
uri
)
console
.
debug
(
TAG
+
'
method---->
'
+
uri
)
},
batchInsert
(
uri
,
values
,
callback
)
{
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
for
(
var
j
=
0
;
j
<
values
.
length
;
j
++
)
{
rdbStore
.
insert
(
"
EMPLOYEE
"
,
values
[
j
],
function
(
err
,
ret
)
{
console
.
log
(
TAG
+
"
batchInsert callback ret:
"
+
JSON
.
stringify
(
ret
))
})
}
console
.
log
(
TAG
+
"
batchInsert values.length:
"
+
values
.
length
+
'
,json=
'
+
JSON
.
stringify
(
values
.
length
))
callback
(
err
,
values
.
length
);
},
getType
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by getType ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
callback
(
"
success
"
,
uri
);
},
getFileTypes
(
uri
,
mimeTypeFilter
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by GetFileTypes ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
let
type1
=
"
"
;
let
type2
=
"
"
;
let
type3
=
"
"
;
let
types
;
if
(
mimeTypeFilter
==
"
*/*
"
)
{
type1
=
(
"
hap
"
);
type2
=
(
"
jpg
"
);
type3
=
(
"
image/png
"
);
types
=
[
type1
,
type2
,
type3
];
}
else
if
(
mimeTypeFilter
==
"
image/*
"
)
{
type1
=
(
"
image/png
"
);
types
=
[
type1
];
}
else
if
(
mimeTypeFilter
==
"
*/jpg
"
)
{
type1
=
(
"
jpg
"
);
types
=
[
type1
];
}
console
.
log
(
TAG
+
"
GetFileTypes callback ret:
"
+
JSON
.
stringify
(
types
))
callback
(
"
success
"
,
types
);
},
openFile
(
uri
,
mode
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by openFile ================
'
);
let
defaultReturn
=
1
;
let
returnError1
=
-
1
;
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
returnError1
);
}
if
(
!
(
mode
==
(
"
r
"
)
||
mode
==
(
"
w
"
)
||
mode
==
(
"
wt
"
)
||
mode
==
(
"
wa
"
)
||
mode
==
(
"
rw
"
)
||
mode
==
(
"
rwt
"
)))
{
if
(
mode
==
(
"
A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7
"
))
{
defaultReturn
=
returnError2
;
}
else
defaultReturn
=
returnError3
;
}
console
.
info
(
TAG
+
"
path = /data/test
"
);
let
path
=
"
/data/test
"
fileio
.
stat
(
path
).
then
(
function
(
stat
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo successfully callback ret:
"
+
JSON
.
stringify
(
stat
));
}).
catch
(
function
(
err
)
{
console
.
info
(
TAG
+
"
openFile getFileInfo failed with error callback ret:
"
+
err
);
defaultReturn
=
returnError1
;
});
console
.
info
(
TAG
+
"
path ==>
"
+
path
);
callback
(
"
success
"
,
defaultReturn
);
},
normalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by normalizeUri ================
'
);
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
},
denormalizeUri
(
uri
,
callback
)
{
console
.
info
(
TAG
+
'
==================== DataAbility test interface by denormalizeUri ================
'
);
console
.
info
(
TAG
+
"
denormalizeUri uri:
"
+
JSON
.
stringify
(
uri
));
let
err
=
"
Error Uri
"
if
(
uri
!=
dataAbilityUri
)
{
console
.
debug
(
TAG
+
'
uri != dataAbilityUri
'
)
callback
(
err
,
""
);
}
callback
(
"
success
"
,
uri
);
}
};
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsdataabilityrelyhap/entry/src/main/resources/base/element/string.json
浏览文件 @
1ac02fb3
{
"string"
:
[
{
"name"
:
"entry_MainAbility"
,
"value"
:
"ServiceExtAbility"
},
{
"name"
:
"description_mainability"
,
"value"
:
"eTS_Empty Ability"
},
{
"name"
:
"description_serviceextability"
,
"value"
:
"hap sample empty service"
},
{
"name"
:
"description_dataability"
,
"value"
:
"hap sample empty provider"
},
{
"name"
:
"description_mainability2"
,
"value"
:
"eTS_Empty Ability"
},
{
"name"
:
"entry_MainAbility2"
,
"value"
:
"entry_MainAbility2"
},
{
"name"
:
"description_testdataability"
,
"value"
:
"hap sample empty provider"
},
{
"name"
:
"permreason_dataability"
,
"value"
:
"request dataability premission"
}
]
{
"string"
:
[
{
"name"
:
"entry_MainAbility"
,
"value"
:
"ServiceExtAbility"
},
{
"name"
:
"description_mainability"
,
"value"
:
"eTS_Empty Ability"
},
{
"name"
:
"description_serviceextability"
,
"value"
:
"hap sample empty service"
},
{
"name"
:
"description_dataability"
,
"value"
:
"hap sample empty provider"
},
{
"name"
:
"description_mainability2"
,
"value"
:
"eTS_Empty Ability"
},
{
"name"
:
"entry_MainAbility2"
,
"value"
:
"entry_MainAbility2"
},
{
"name"
:
"description_testdataability"
,
"value"
:
"hap sample empty provider"
},
{
"name"
:
"permreason_dataability"
,
"value"
:
"request dataability premission"
}
]
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/BUILD.gn
浏览文件 @
1ac02fb3
...
...
@@ -9,13 +9,13 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsFWKDataAccessorTest") {
hap_profile = "./src/main/config.json"
hap_name = "ActsFWKDataAccessorTest"
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
...
...
@@ -23,9 +23,11 @@ ohos_js_hap_suite("ActsFWKDataAccessorTest") {
certificate_profile = "./signature/openharmony_sx.p7b"
}
ohos_js_assets("hjs_demo_js_assets") {
source_dir = "./entry/src/main/js/default"
js2abc = true
hap_profile = "./src/main/config.json"
source_dir = "./src/main/js"
}
ohos_resources("hjs_demo_resources") {
sources = [ "./
entry/src/main/js
/resources" ]
hap_profile = "./
entry/
src/main/config.json"
sources = [ "./
src/main
/resources" ]
hap_profile = "./src/main/config.json"
}
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/Test.json
浏览文件 @
1ac02fb3
{
"description"
:
"Configuration for hjunit demo Tests"
,
"driver"
:
{
"type"
:
"JSUnitTest"
,
"test-timeout"
:
"180000"
,
"package"
:
"com.amsst.fwkdataaccessor"
,
"shell-timeout"
:
"60000"
},
"kits"
:
[
{
"test-file-name"
:
[
"ActsFWKDataAccessorTest.hap"
,
"ActsDataAbilityRelyHap.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
{
"description"
:
"Configuration for hjunit demo Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"180000"
,
"shell-timeout"
:
"180000"
,
"bundle-name"
:
"com.amsst.fwkdataaccessor"
,
"package-name"
:
"com.amsst.fwkdataaccessor"
},
"kits"
:
[
{
"test-file-name"
:
[
"ActsFWKDataAccessorTest.hap"
,
"ActsDataAbilityRelyHap.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/entry/src/main/config.json
已删除
100644 → 0
浏览文件 @
eddf73fd
{
"app"
:
{
"bundleName"
:
"com.amsst.fwkdataaccessor"
,
"vendor"
:
"amsst"
,
"version"
:
{
"code"
:
1
,
"name"
:
"1.0"
},
"apiVersion"
:
{
"compatible"
:
4
,
"target"
:
5
,
"releaseType"
:
"Beta1"
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.amsst.fwkdataaccessor"
,
"name"
:
".MyApplication"
,
"deviceType"
:
[
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
},
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
,
"flag.home.intent.from.system"
],
"actions"
:
[
"action.system.home"
]
}
],
"name"
:
"com.amsst.fwkdataaccessor.MainAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:mainability_description"
,
"label"
:
"$string:app_name"
,
"type"
:
"page"
,
"launchType"
:
"standard"
,
"visible"
:
true
}
],
"js"
:
[
{
"pages"
:
[
"pages/index/index"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
]
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/config.json
0 → 100644
浏览文件 @
1ac02fb3
{
"app"
:
{
"bundleName"
:
"com.amsst.fwkdataaccessor"
,
"vendor"
:
"amsst"
,
"version"
:
{
"code"
:
1
,
"name"
:
"1.0"
},
"apiVersion"
:
{
"compatible"
:
4
,
"target"
:
5
,
"releaseType"
:
"Beta1"
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.amsst.fwkdataaccessor"
,
"name"
:
".entry"
,
"deviceType"
:
[
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
},
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"MainAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:MainAbility_desc"
,
"label"
:
"$string:MainAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
},
{
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".TestAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"TestAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:TestAbility_desc"
,
"label"
:
"$string:TestAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
}
],
"js"
:
[
{
"pages"
:
[
"pages/index/index"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
},
{
"pages"
:
[
"pages/index/index"
],
"name"
:
".TestAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"testRunner"
:
{
"name"
:
"OpenHarmonyTestRunner"
,
"srcPath"
:
"TestRunner"
},
"mainAbility"
:
".MainAbility"
,
"srcPath"
:
""
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/app.js
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/app.js
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
onCreate
()
{
console
.
info
(
'
AceApplication onCreate
'
);
},
onDestroy
()
{
console
.
info
(
'
AceApplication onDestroy
'
);
}
};
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
onCreate
()
{
console
.
info
(
'
AceApplication onCreate
'
);
},
onDestroy
()
{
console
.
info
(
'
AceApplication onDestroy
'
);
}
};
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/i18n/en-US.json
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/i18n/en-US.json
浏览文件 @
1ac02fb3
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
}
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/i18n/zh-CN.json
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/i18n/zh-CN.json
浏览文件 @
1ac02fb3
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
}
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/pages/index/index.css
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/pages/index/index.css
浏览文件 @
1ac02fb3
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
.title
{
font-size
:
100px
;
}
.titleST
{
font-size
:
32px
;
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
.title
{
font-size
:
100px
;
}
.titleST
{
font-size
:
32px
;
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/pages/index/index.hml
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/pages/index/index.hml
浏览文件 @
1ac02fb3
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
<text class="titleST">
STDataAbility
</text>
</div>
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
<text class="titleST">
STDataAbility
</text>
</div>
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js/default
/pages/index/index.js
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main/js/MainAbility
/pages/index/index.js
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
file
from
'
@system.file
'
import
app
from
'
@system.app
'
import
{
Core
,
ExpectExtend
,
ReportExtend
}
from
'
deccjsunit/index
'
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
====onShow finish====<
'
)
const
core
=
Core
.
getInstance
()
const
expectExtend
=
new
ExpectExtend
({
'
id
'
:
'
extend
'
})
const
reportExtend
=
new
ReportExtend
(
file
)
core
.
addService
(
'
expect
'
,
expectExtend
)
core
.
addService
(
'
report
'
,
reportExtend
)
core
.
init
()
const
configService
=
core
.
getDefaultService
(
'
config
'
)
configService
.
setConfig
(
this
)
require
(
'
../../../test/List.test
'
)
core
.
execute
()
},
onReady
()
{
},
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
file
from
'
@system.file
'
import
app
from
'
@system.app
'
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
====onShow finish====<
'
)
},
onReady
()
{
},
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/app.js
0 → 100644
浏览文件 @
1ac02fb3
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
import
{
Hypium
}
from
'
@ohos/hypium
'
import
testsuite
from
'
../test/List.test
'
export
default
{
onCreate
()
{
console
.
info
(
'
TestApplication onCreate
'
)
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
console
.
info
(
'
start run testcase!!!
'
)
Hypium
.
hypiumTest
(
abilityDelegator
,
abilityDelegatorArguments
,
testsuite
)
},
onDestroy
()
{
console
.
info
(
"
TestApplication onDestroy
"
);
}
};
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/i18n/en-US.json
0 → 100644
浏览文件 @
1ac02fb3
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
},
"Files"
:
{
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/i18n/zh-CN.json
0 → 100644
浏览文件 @
1ac02fb3
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
},
"Files"
:
{
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.css
0 → 100644
浏览文件 @
1ac02fb3
.container
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
left
:
0px
;
top
:
0px
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
60px
;
text-align
:
center
;
width
:
100%
;
height
:
40%
;
margin
:
10px
;
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.hml
0 → 100644
浏览文件 @
1ac02fb3
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestAbility/pages/index/index.js
0 → 100644
浏览文件 @
1ac02fb3
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
}
}
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
0 → 100644
浏览文件 @
1ac02fb3
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s itName
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s package
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
+=
'
'
+
key
+
'
'
+
parameters
[
key
]
}
}
return
targetParams
.
trim
()
}
export
default
{
onPrepare
()
{
console
.
info
(
'
OpenHarmonyTestRunner OnPrepare
'
)
},
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
parameters
[
'
-p
'
]
+
'
.TestAbility
'
var
cmd
=
'
aa start -d 0 -a
'
+
testAbilityName
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
console
.
info
(
'
debug value :
'
+
debug
)
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
,
data
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
exitCode
);
})
}
};
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/
src/main/js/test/DataAbilityHelperJsSt.test.js
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/test/DataAbilityHelperJsSt.test.js
浏览文件 @
1ac02fb3
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/
src/main/js/test/List.test.js
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/src/main/js/test/List.test.js
浏览文件 @
1ac02fb3
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require
(
'
./DataAbilityHelperJsSt.test.js
'
)
\ No newline at end of file
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
ActsDataAbilityHelperTest
from
'
./DataAbilityHelperJsSt.test.js
'
export
default
function
testsuite
()
{
ActsDataAbilityHelperTest
()
}
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js
/resources/base/element/string.json
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main
/resources/base/element/string.json
浏览文件 @
1ac02fb3
{
"string"
:
[
{
"name"
:
"app_name"
,
"value"
:
"STDataAbility"
},
{
"name"
:
"mainability_description"
,
"value"
:
"JS_Phone_Empty Feature Ability"
}
]
{
"string"
:
[
{
"name"
:
"app_name"
,
"value"
:
"STDataAbility"
},
{
"name"
:
"mainability_description"
,
"value"
:
"JS_Phone_Empty Feature Ability"
},
{
"name"
:
"MainAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_label"
,
"value"
:
"label"
},
{
"name"
:
"TestAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"TestAbility_label"
,
"value"
:
"label"
}
]
}
\ No newline at end of file
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
entry/src/main/js
/resources/base/media/icon.png
→
ability/ability_runtime/actsfwkdataaccessortest/actsfwkdataaccessortest/
src/main
/resources/base/media/icon.png
浏览文件 @
1ac02fb3
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录