提交 a9a4e7cc 编写于 作者: Y yanglifeng1217

<yanglifeng5@huawei.com>

Signed-off-by: Nyanglifeng1217 <yanglifeng5@huawei.com>
上级 1ddca4c2
...@@ -19,6 +19,7 @@ group("distributeddatamgr") { ...@@ -19,6 +19,7 @@ group("distributeddatamgr") {
"appdatamgrjstest/hap:appdatamgr_js_test", "appdatamgrjstest/hap:appdatamgr_js_test",
"distributeddataObjectjstest/hap:distributeddataObject_js_test", "distributeddataObjectjstest/hap:distributeddataObject_js_test",
"distributeddatamgrjstest/hap:distributeddatamgr_js_test", "distributeddatamgrjstest/hap:distributeddatamgr_js_test",
"windowStage:windowStage",
] ]
} else { } else {
deps = [ deps = [
......
# 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("//test/xts/tools/build/suite.gni")
group("windowStage") {
testonly = true
if (is_standard_system) {
deps = [
"dataShareRdbtest:ActsDataShareRdbTest",
"server/rdbService:ActsRdbServiceHap",
]
}
}
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name",
"debug": false,
"distributedNotificationEnabled": true,
"keepAlive": true,
"singleUser": true,
"minAPIVersion": 9,
"targetAPIVersion": 9,
"car": {
"apiCompatibleVersion": 9,
"singleUser": false
}
}
}
{
"string": [
{
"name": "app_name",
"value": "MyApplication"
}
]
}
# 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("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsDataShareRdbTest") {
hap_profile = "entry/src/main/module.json"
js_build_mode = "debug"
deps = [
":dataShareRdb_js_assets",
":dataShareRdb_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsDataShareRdbTest"
}
ohos_app_scope("dataShareRdb_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("dataShareRdb_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("dataShareRdb_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":dataShareRdb_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
{
"description": "Configuration for hjunit demo Tests",
"driver": {
"type": "JSUnitTest",
"test-timeout": "180000",
"package": "com.example.myapplication",
"shell-timeout": "600000"
},
"kits": [{
"test-file-name": [
"ActsDataShareRdbTest.hap",
"ActsRdbServiceHap.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
}]
}
\ No newline at end of file
/*
* 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("[Demo] MyAbilityStage onCreate")
}
}
\ No newline at end of file
/*
* 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'
import dataSharePredicates from '@ohos.data.dataSharePredicates'
import dataShare from '@ohos.data.dataShare'
import rpc from "@ohos.rpc";
var seConnect = {
onConnect:function (elementName, proxy) {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onConnect called.");
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onConnect elementName = " + elementName);
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onConnect proxy = " + proxy);
let data = rpc.MessageParcel.create();
let reply = rpc.MessageParcel.create();
let option = new rpc.MessageOption();
data.writeInterfaceToken("connect-test");
data.writeInt(111);
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onConnect sendRequest.");
proxy.sendRequest(1, data, reply, option)
.then(function (result) {
if (result.errCode === 0) {
// let msg = reply.readString();
let msg = result.reply.readInt();
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect reply msg: " + msg);
} else {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect sendRequest failed, errCode: " + result.errCode);
}
// callback没有返回值,默认返回undefined
}).catch(function (e) {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect sendRequest got exception: " + e);
}).finally (async () => {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
})
},
onDisconnect:function (elementName) {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onDisconnect");
},
onFailed:function (code) {
console.log("[ttt] [DataShareTest] <<Consumer>> seConnect onFailed");
}
};
let dseProxy = 0;
let dseUri = ("datashare:///com.samples.datasharetest.DataShare");
var dseConnect = {
onConnect:function (elementName, proxy) {
console.log("[ttt] [DataShareTest] <<Consumer>> dseConnect onConnect called.");
// console.log("[ttt] [DataShareTest] <<Consumer>> dseConnect onConnect elementName = " + elementName);
// console.log("[ttt] [DataShareTest] <<Consumer>> dseConnect onConnect proxy = " + proxy);
dseProxy = proxy;
},
onDisconnect:function (elementName) {
console.log("[ttt] [DataShareTest] <<Consumer>> dseConnect onDisconnect, elementName:" + elementName);
},
onFailed:function (code) {
console.log("[ttt] [DataShareTest] <<Consumer>> dseConnect onFailed, code:" + code);
}
};
let seConnectionId = -1;
let dseConnectionId = -1;
let seWant = {
"bundleName": "com.samples.datasharetest",
"abilityName": "ServiceExtAbility",
}
let dseWant = {
"bundleName": "com.samples.datasharetest",
"abilityName": "DataShareExtAbility",
}
export function onCallback() {
console.info("[ttt] [DataShareTest] <<Consumer>> **** Observer on callback ****");
}
export function offCallback() {
console.info("[ttt] [DataShareTest] <<Consumer>> **** Observer off callback ****");
}
export default class MainAbility extends Ability {
onCreate(want, launchParam) {
// Ability is creating, initialize resources for this ability
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onCreate")
globalThis.abilityWant = want;
}
onDestroy() {
// Ability is destroying, release resources for this ability
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onDestroy")
}
onWindowStageCreate(windowStage) {
// Main window is created, set main page for this ability
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onWindowStageCreate")
globalThis.abilityContext = this.context;
let context = this.context;
dseConnectionId = context.connectAbility(dseWant, dseConnect);
globalThis.connectDataShareExtAbility = (async () => {
console.log("[ttt] [DataShareTest] <<Consumer>> connectDataShareExtAbility begin");
await dataShare.createDataShareHelper(globalThis.abilityContext, dseUri, (err,data)=>{
globalThis.helper = data;
globalThis.testhelper = data;
console.info("[ttt] [DataShareTest] <<Consumer>> ----- 1 -----, globalThis.helper = " + globalThis.helper);
console.info("[ttt] [DataShareTest] <<Consumer>> ----- 2 -----, data = " + data);
console.info("[ttt] [DataShareTest] <<Consumer>> ----- 3 -----, err = " + err);
console.info("[ttt] [DataShareTest] <<Consumer>> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err));
});
dseConnectionId = await context.connectAbility(dseWant, dseConnect);
})
windowStage.setUIContent(this.context, "pages/index", null)
}
onWindowStageDestroy() {
// Main window is destroyed, release UI related resources
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onWindowStageDestroy")
}
onForeground() {
// Ability has brought to foreground
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onForeground")
}
onBackground() {
// Ability has back to background
console.log("[ttt] [DataShareTest] <<Consumer>> MainAbility onBackground")
}
};
/*
* 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 file from '@system.file';
import { describe, it, expect } from 'hypium/index'
import dataShare from '@ohos.data.dataShare'
import dataSharePredicates from '@ohos.data.dataSharePredicates'
import DataShareResultSet from '@ohos.data.DataShareResultSet'
//insert公共方法
function publicinsert(helper, uri, DataShareValuesBucket) {
return new Promise(function (resolve, reject) {
helper.insert(uri, DataShareValuesBucket, (err, data) => {
console.info("TestDataShare publicinsert Callback=" + JSON.stringify(data));
if (err) {
console.info("test insert err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//delete公共方法
async function publicdelete(helper, uri, DataSharePredicates) {
return new Promise(function (resolve, reject) {
console.info("[ttt] [DataShareTest] <<XTS>> 12345648564185645314");
helper.delete(uri, DataSharePredicates, (err, data) => {
console.info("[ttt] [TestDataShare] publicdelete Callback=" + JSON.stringify(data));
if (err) {
console.info("test delete err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//query公共方法
function publicquery(helper, uri, DataSharePredicates, columns) {
return new Promise(function (resolve, reject) {
helper.query(uri, DataSharePredicates, columns, (err, data) => {
console.info("TestDataShare publicquery Callback=" + JSON.stringify(data));
globalThis.ResultSet = data;
if (err) {
console.info("test query err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//update公共方法
function publicupdate(helper, uri, DataSharePredicates, DataShareValuesBucket) {
return new Promise(function (resolve, reject) {
helper.update(uri, DataSharePredicates, DataShareValuesBucket, (err, data) => {
console.info("TestDataShare publicupdate Callback=" + JSON.stringify(data));
if (err) {
console.info("test update err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//batchInsert公共方法
function publicbatchInsert(helper, uri, DataShareValuesBucket) {
return new Promise(function (resolve, reject) {
helper.batchInsert(uri, DataShareValuesBucket, (err, data) => {
console.info("TestDataShare publicbatchInsert Callback=" + JSON.stringify(data));
if (err) {
console.info("test batchInsert err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//getType公共方法
function publicgetType(helper, uri) {
return new Promise(function (resolve, reject) {
helper.getType(uri, (err, data) => {
console.info("TestDataShare publicgetType Callback=" + JSON.stringify(data));
if (err) {
console.info("test getType err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//getFileTypes公共方法
function publicgetFileTypes(helper, uri, mimeTypeFilter) {
return new Promise(function (resolve, reject) {
helper.getFileTypes(uri, mimeTypeFilter, (err, data) => {
console.info("TestDataShare publicgetFileTypes Callback=" + JSON.stringify(data));
if (err) {
console.info("test getFileTypes err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//normalizeUri公共方法
function publicnormalizeUri(helper, uri) {
return new Promise(function (resolve, reject) {
helper.normalizeUri(uri, (err, data) => {
console.info("TestDataShare publicnormalizeUri Callback=" + JSON.stringify(data));
if (err) {
console.info("test normalizeUri err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//denormalizeUri公共方法
function publicdenormalizeUri(helper, uri) {
return new Promise(function (resolve, reject) {
helper.denormalizeUri(uri, (err, data) => {
console.info("TestDataShare publicdenormalizeUri Callback=" + JSON.stringify(data));
if (err) {
console.info("test denormalizeUri err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
//denormalizeUri公共方法
function publicopenFile(helper, uri, mode) {
return new Promise(function (resolve, reject) {
helper.denormalizeUri(uri, mode, (err, data) => {
console.info("TestDataShare publicopenFile Callback=" + JSON.stringify(data));
if (err) {
console.info("test openFile err information: " + JSON.stringify(err));
reject(err);
} else {
resolve(data);
}
})
})
}
export { publicinsert, publicdelete, publicquery, publicupdate, publicbatchInsert, publicgetType, publicgetFileTypes,
publicnormalizeUri, publicdenormalizeUri, publicopenFile
}
\ No newline at end of file
/*
* 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 { describe, it, expect } from 'hypium/index'
import dataShare from '@ohos.data.dataShare'
import dataSharePredicates from '@ohos.data.dataSharePredicates'
import DataShareResultSet from '@ohos.data.DataShareResultSet'
//insert公共方法
function publicinsert(helper, uri, DataShareValuesBucket) {
return new Promise(function (resolve, reject) {
helper.insert(uri, DataShareValuesBucket).then((data) => {
console.info("TestDataShare publicinsert Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test insert err information: " + JSON.stringify(err));
reject(err);
})
})
}
//delete公共方法
function publicdelete(helper, uri, DataSharePredicates) {
return new Promise(function (resolve, reject) {
helper.delete(uri, DataSharePredicates).then((data) => {
console.info("TestDataShare publicdelete Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test delete err information: " + JSON.stringify(err));
reject(err);
})
})
}
//query公共方法
function publicquery(helper, uri, columns, DataSharePredicates) {
return new Promise(function (resolve, reject) {
helper.query(uri, columns, DataSharePredicates).then((data) => {
console.info("TestDataShare publicquery Callback=" + JSON.stringify(data));
globalThis.ResultSet = data;
resolve(data);
}).catch((err) => {
console.info("test query err information: " + JSON.stringify(err));
reject(err);
})
})
}
//update公共方法
function publicupdate(helper, uri, DataShareValuesBucket, DataSharePredicates) {
return new Promise(function (resolve, reject) {
helper.update(uri, DataShareValuesBucket, DataSharePredicates).then((data) => {
console.info("TestDataShare publicupdate Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test update err information: " + JSON.stringify(err));
reject(err);
})
})
}
//batchInsert公共方法
function publicbatchInsert(helper, uri, DataShareValuesBucket) {
return new Promise(function (resolve, reject) {
helper.batchInsert(uri, DataShareValuesBucket).then((data) => {
console.info("TestDataShare publicbatchInsert Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test batchInsert err information: " + JSON.stringify(err));
reject(err);
})
})
}
//getType公共方法
function publicgetType(helper, uri) {
return new Promise(function (resolve, reject) {
helper.getType(uri).then((data) => {
console.info("TestDataShare publicgetType Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test getType err information: " + JSON.stringify(err));
reject(err);
})
})
}
//getFileTypes公共方法
function publicgetFileTypes(helper, uri, mimeTypeFilter) {
return new Promise(function (resolve, reject) {
helper.getFileTypes(uri, mimeTypeFilter).then((data) => {
console.info("TestDataShare publicgetFileTypes Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test getFileTypes err information: " + JSON.stringify(err));
reject(err);
})
})
}
//normalizeUri公共方法
function publicnormalizeUri(helper, uri) {
return new Promise(function (resolve, reject) {
helper.normalizeUri(uri).then((data) => {
console.info("TestDataShare publicnormalizeUri Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test normalizeUri err information: " + JSON.stringify(err));
reject(err);
})
})
}
//denormalizeUri公共方法
function publicdenormalizeUri(helper, uri) {
return new Promise(function (resolve, reject) {
helper.denormalizeUri(uri).then((data) => {
console.info("TestDataShare publicdenormalizeUri Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test denormalizeUri err information: " + JSON.stringify(err));
reject(err);
})
})
}
//denormalizeUri公共方法
function publicopenFile(helper, uri, mode) {
return new Promise(function (resolve, reject) {
helper.openFile(uri, mode).then((data) => {
console.info("TestDataShare publicopenFile Callback=" + JSON.stringify(data));
resolve(data);
}).catch((err) => {
console.info("test openFile err information: " + JSON.stringify(err));
reject(err);
})
})
}
export { publicinsert, publicdelete, publicquery, publicupdate, publicbatchInsert, publicgetType, publicgetFileTypes,
publicnormalizeUri, publicdenormalizeUri, publicopenFile
}
\ No newline at end of file
/*
* 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 DataShareSingleRdb_Callback from "./DataShareSingleRdb_Callback"
import DataShareSingleRdb_Promise from "./DataShareSingleRdb_Promise"
import DataSharePredicatesRdb from "./DataSharePredicatesRdb"
import DataShareCombinationRdb from "./DataShareCombinationRdb"
export default function testsuite() {
DataShareSingleRdb_Callback()
DataShareSingleRdb_Promise()
DataSharePredicatesRdb()
DataShareCombinationRdb()
}
\ No newline at end of file
/*
* 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 file from '@system.file';
import {Core, ExpectExtend} from "hypium/index"
import testsuite from "../Test/List.test"
//InstrumentLog, ReportExtend
@Entry
@Component
struct Index {
aboutToAppear(){
console.info("start run testcase!!!!")
const core = Core.getInstance()
const expectExtend = new ExpectExtend({
'id': 'extend'
})
core.addService('expect', expectExtend)
//const reportExtend = new ReportExtend(file)
//core.addService('report', reportExtend)
core.init()
//core.subscribeEvent('task', reportExtend)
const configService = core.getDefaultService('config')
console.info('parameters---->' + JSON.stringify(globalThis.abilityWant.parameters))
globalThis.abilityWant.parameters.timeout = 70000;
configService.setConfig(globalThis.abilityWant.parameters)
testsuite()
core.execute()
}
build() {
Flex({ direction:FlexDirection.Column, alignItems:ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
})
}
.width('100%')
.height('100%')
}
}
\ No newline at end of file
{
"module": {
"package": "com.example.myapplication",
"name": "entry",
"mainAbility": "com.example.myapplication.MainAbility",
"type": "entry",
"srcEntrance": "./ets/Application/AbilityStage.ts",
"description": "$string:entry_desc",
"mainElement": "MainAbility",
"deviceTypes": [
"phone"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"uiSyntax": "ets",
"abilities": [
{
"name": "com.example.myapplication.MainAbility",
"srcEntrance": "./ets/MainAbility/MainAbility.ts",
"description": "$string:MainAbility_desc",
"icon": "$media:icon",
"label": "$string:MainAbility_label",
"visible": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
}
}
\ No newline at end of file
{
"string": [
{
"name": "entry_desc",
"value": "description"
},
{
"name": "MainAbility_desc",
"value": "description"
},
{
"name": "MainAbility_label",
"value": "ActsDataShareRdbTest"
}
]
}
\ No newline at end of file
{
"app": {
"bundleName": "com.samples.datasharetest",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name",
"debug": false,
"distributedNotificationEnabled": true,
"keepAlive": true,
"singleUser": true,
"minAPIVersion": 9,
"targetAPIVersion": 9,
"car": {
"apiCompatibleVersion": 9,
"singleUser": false
}
}
}
{
"string": [
{
"name": "app_name",
"value": "datasharetest"
}
]
}
# 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("//test/xts/tools/build/suite.gni")
ohos_hap("ActsRdbServiceHap") {
hap_profile = "./entry/src/main/module.json"
hap_name = "ActsRdbServiceHap"
subsystem_name = XTS_SUITENAME
final_hap_path =
"${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap"
js_build_mode = "debug"
deps = [
":kvService_js_assets",
":kvService_resources",
]
ets2abc = true
certificate_profile = "./signature/openharmony_sx.p7b"
}
ohos_app_scope("dataSharekv_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("kvService_js_assets") {
source_dir = "./entry/src/main/ets"
}
ohos_resources("kvService_resources") {
sources = [ "./entry/src/main/resources" ]
deps = [ ":dataSharekv_app_profile" ]
hap_profile = "./entry/src/main/module.json"
}
/*
* 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("[ttt] [DataShareTest] MyAbilityStage onCreate");
}
}
\ No newline at end of file
{
"module": {
"name": "entry",
"type": "entry",
"srcEntrance": "./ets/Application/AbilityStage.ts",
"description": "$string:phone_entry_dsc",
"mainElement": "MainAbility",
"deviceTypes": [
"default"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"uiSyntax": "ets",
"abilities": [
{
"name": "MainAbility",
"srcEntrance": "./ets/MainAbility/MainAbility.ts",
"description": "$string:phone_entry_main",
"icon": "$media:icon",
"label": "$string:entry_label",
"visible": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"startWindowIcon":"$media:icon",
"startWindowBackground": "$color:color_1"
}
],
"extensionAbilities": [
{
"srcEntrance": "./ets/DataShareExtAbility/DataShareExtAbility.ts",
"name": "DataShareExtAbility",
"icon": "$media:icon",
"description": "$string:description_datashareextability",
"type": "dataShare",
"uri": "datashare://com.samples.datasharetest.DataShare",
"visible": true
}
]
}
}
\ No newline at end of file
{
"color": [
{
"name": "color_1",
"value": "#ff0000"
}
]
}
\ No newline at end of file
{
"string": [
{
"name": "phone_entry_dsc",
"value": "i am an entry for phone"
},
{
"name": "phone_entry_main",
"value": "the phone entry ability"
},
{
"name": "entry_label",
"value": "ActsRdbServiceHap"
},
{
"name": "form_description",
"value": "my form"
},
{
"name": "serviceability_description",
"value": "my whether"
},
{
"name": "description_application",
"value": "DataShareTest"
},
{
"name": "app_name",
"value": "ActsRdbServiceHap"
},
{
"name": "description_datashareextability",
"value": "description_datashareextability"
},
{
"name": "description_serviceability",
"value": "description_serviceability"
}
]
}
{
"forms": [
{
"name": "Form_Js",
"description": "$string:form_description",
"src": "pages/card/index",
"window": {
"designWidth": 720,
"autoDesignWidth": true
},
"colorMode": "auto",
"formConfigAbility": "ability://xxxxx",
"formVisibleNotify": false,
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "10:30",
"updateDuration": 1,
"defaultDimension": "2*2",
"supportDimensions": [
"2*2"
]
}
]
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册