鸿蒙开发接口Ability框架:【DataAbilityHelper模块(JS端SDK接口)】

 DataAbilityHelper模块(JS端SDK接口)

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用。

使用说明

使用前根据具体情况引入如下模块

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataAbility'
import ohos_data_rdb from '@ohos.data.rdb'

开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

DataAbilityHelper.openFile

openFile(uri: string, mode: string, callback: AsyncCallback<number>): void

在指定的远程路径中打开文件(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要打开的文件的路径。
modestring指示文件打开模式‘rwt’。
callbackAsyncCallback<number>被指定的回调方法,返回文件描述符。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var mode = "rwt";
DAHelper.openFile("dataability:///com.example.DataAbility",mode,(err) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.openFile

openFile(uri: string, mode: string): Promise<number>

在指定的远程路径中打开文件(promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要打开的文件的路径。
modestring指示文件打开模式‘rwt’。

返回值:

类型说明
Promise<number>返回文件描述符。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var mode = "rwt";
DAHelper.openFile("dataability:///com.example.DataAbility",mode).then((data) => {console.info("==========================>openFileCallback=======================>");
});

DataAbilityHelper.on

on(type: 'dataChange', uri: string, callback: AsyncCallback<void>): void

注册观察者以观察给定uri指定的数据callback通知。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
typestring数据更改。
uristring指示要操作的数据的路径。
callbackAsyncCallback<void>指示数据更改时的回调。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
function onChangeNotify() {console.info("==========================>onChangeNotify=======================>");
};
helper.on("dataChange","dataability:///com.example.DataAbility",onChangeNotify
)

DataAbilityHelper.off

off(type: 'dataChange', uri: string, callback?: AsyncCallback<void>): void

注消观察者以停止观察给定uri指定的数据callback通知。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
typestring数据更改。
uristring指示要操作的数据的路径。
callbackAsyncCallback<void>指示已注册的回调。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
function onChangeNotify() {console.info("==========================>onChangeNotify=======================>");
};
helper.off("dataChange","dataability:///com.example.DataAbility",
)
helper.off("dataChange","dataability:///com.example.DataAbility",onChangeNotify
)

DataAbilityHelper.getType

getType(uri: string, callback: AsyncCallback<string>): void

获取给定URI指定数据的MIME类型(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要操作的数据的路径。
callbackAsyncCallback<string>回调方法,返回与uri指定的数据匹配的MIME类型。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.getType("dataability:///com.example.DataAbility",(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.getType

getType(uri: string): Promise<string>

获取给定URI指定数据的MIME类型(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要操作的数据的路径。

返回值:

类型说明
Promise<string>返回与uri指定的数据匹配的MIME类型。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.getType("dataability:///com.example.DataAbility").then((data) => {console.info("==========================>getTypeCallback=======================>");
});

DataAbilityHelper.getFileTypes

getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array<string>>): void

获取支持的文件的MIME类型(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要获取的文件的路径。
mimeTypeFilterstring指示要获取的文件的MIME类型。
callbackAsyncCallback<Array<string>>回调方法,返回匹配的MIME类型数组。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.getFileTypes("dataability:///com.example.DataAbility","image/*",(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.getFileTypes

getFileTypes(uri: string, mimeTypeFilter: string): Promise<Array<string>>

获取支持的文件的MIME类型(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要获取的文件的路径。
mimeTypeFilterstring指示要获取的文件的MIME类型。

返回值:

类型说明
Promise<Array<string>>返回匹配的MIME类型数组。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.getFileTypes("dataability:///com.example.DataAbility","image/*").then((data) => {console.info("==========================>getFileTypesCallback=======================>");
});

DataAbilityHelper.normalizeUri

normalizeUri(uri: string, callback: AsyncCallback<string>): void

将引用数据功能的给定uri转换为规范化uri(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要规范化的uri对象。
callbackAsyncCallback<string>回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.normalizeUri("dataability:///com.example.DataAbility",(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.normalizeUri

normalizeUri(uri: string): Promise<string>

将引用数据功能的给定uri转换为规范化uri(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要规范化的uri对象。

返回值:

类型说明
Promise<string>如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.normalizeUri("dataability:///com.example.DataAbility",).then((data) => {console.info("==========================>normalizeUriCallback=======================>");
});

DataAbilityHelper.denormalizeUri

denormalizeUri(uri: string, callback: AsyncCallback<string>): void

将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要规范化的uri对象。
callbackAsyncCallback<string>回调方法。如果反规范化成功,则返回反规范化uri对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.denormalizeUri("dataability:///com.example.DataAbility",(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.denormalizeUri

denormalizeUri(uri: string): Promise<string>

将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要规范化的uri对象。

返回值:

类型说明
Promise<string>如果反规范化成功,则返回反规范化uri对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.denormalizeUri("dataability:///com.example.DataAbility",).then((data) => {console.info("==========================>denormalizeUriCallback=======================>");
});

DataAbilityHelper.notifyChange

notifyChange(uri: string, callback: AsyncCallback<void>): void

通知已注册的观察者uri指定的数据资源的更改(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要操作的数据的路径。
callbackAsyncCallback<void>回调方法。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
helper.notifyChange("dataability:///com.example.DataAbility",(err) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.notifyChange

notifyChange(uri: string): Promise<void>

通知已注册的观察者uri指定的数据资源的更改(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要操作的数据的路径。

返回值:

类型说明
Promise<void>返回值为Promise对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
DAHelper.notifyChange("dataability:///com.example.DataAbility",).then(() => {console.info("==========================>notifyChangeCallback=======================>");
});

DataAbilityHelper.insert

insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback<number>): void

将单个数据记录插入数据库(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要插入的数据的路径。
valuesBucketrdb.ValuesBucket指示要插入的数据记录。如果此参数为空,将插入一个空行。
callbackAsyncCallback<number>回调方法,返回插入数据记录的索引。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
const valueBucket = {"name": "rose","age": 22,"salary": 200.5,"blobType": "u8",
}
DAHelper.insert("dataability:///com.example.DataAbility",valueBucket,(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.insert

insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise<number>

将单个数据记录插入数据库(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要插入的数据的路径。
valuesBucketrdb.ValuesBucket指示要插入的数据记录。如果此参数为空,将插入一个空行。

返回值:

类型说明
Promise<number>返回插入数据记录的索引。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
const valueBucket = {"name": "rose1","age": 221,"salary": 20.5,"blobType": "u8",
}
DAHelper.insert("dataability:///com.example.DataAbility",valueBucket).then((data) => {console.info("==========================>insertCallback=======================>");
});

DataAbilityHelper.batchInsert

batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>, callback: AsyncCallback<number>): void

插入数据库(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要插入的数据的路径。
valuesBucketArray<rdb.ValuesBucket>指示要插入的数据记录。
callbackAsyncCallback<number>回调方法。返回插入的数据记录数。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": "u8",},{"name": "roe12", "age": 21, "salary": 20.5, "blobType": "u8",},{"name": "roe13", "age": 21, "salary": 20.5, "blobType": "u8",})
DAHelper.batchInsert("dataability:///com.example.DataAbility",cars,(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.batchInsert

batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise<number>

将多个数据记录插入数据库(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要插入的数据的路径。
valuesBucketArray<rdb.ValuesBucket>指示要插入的数据记录。

返回值:

类型说明
Promise<number>返回插入的数据记录数。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": "u8",},{"name": "roe12", "age": 21, "salary": 20.5, "blobType": "u8",},{"name": "roe13", "age": 21, "salary": 20.5, "blobType": "u8",})
DAHelper.batchInsert("dataability:///com.example.DataAbility",cars).then((data) => {console.info("==========================>batchInsertCallback=======================>");
});

DataAbilityHelper.delete

delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<number>): void

从数据库中删除一个或多个数据记录(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要删除的数据的路径。
valuesBucketdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。
callbackAsyncCallback<number>回调方法。返回已删除的数据记录数。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.delete("dataability:///com.example.DataAbility",da,(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.delete

delete(uri: string, predicates: dataAbility.DataAbilityPredicates): Promise<number>

从数据库中删除一个或多个数据记录(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要删除的数据的路径。
valuesBucketdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。

返回值:

类型说明
Promise<number>返回已删除的数据记录数。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.delete("dataability:///com.example.DataAbility",da).then((data) => {console.info("==========================>deleteCallback=======================>");
});

DataAbilityHelper.update

update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<number>): void

更新数据库中的数据记录(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要更新的数据的路径。
valuesBucketrdb.ValuesBucket指示要更新的数据。
predicatesdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。
callbackAsyncCallback<number>回调方法,返回更新的数据记录数。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
const va = {"name": "roe1","age": 21,"salary": 20.5,"blobType": "u8",
}
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.update("dataability:///com.example.DataAbility",va,da,(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.update

update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates): Promise<number>

更新数据库中的数据记录(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要更新的数据的路径。
valuesBucketrdb.ValuesBucket指示要更新的数据。
predicatesdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。

返回值:

类型说明
Promise<number>Promise中包含更新的数据记录数。 。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
const va = {"name": "roe1","age": 21,"salary": 20.5,"blobType": "u8",
}
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.update("dataability:///com.example.DataAbility",va,da).then((data) => {console.info("==========================>updateCallback=======================>");
});

DataAbilityHelper.query

query(uri: string, columns: Array<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<ResultSet>): void

查询数据库中的数据(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要查询的数据的路径。
columnsrdb.ValuesBucket指示要查询的列。如果此参数为空,则查询所有列。
predicatesdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。
callbackAsyncCallback<ResultSet>回调方法,返回查询结果。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var cars=new Array("value1", "value2", "value3", "value4");
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.query("dataability:///com.example.DataAbility",cars,da,(err, data) => {console.info("==========================>Called=======================>");
});

DataAbilityHelper.query

query(uri: string, columns: Array<string>, predicates: dataAbility.DataAbilityPredicates): Promise<ResultSet>

查询数据库中的数据(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指示要查询的数据的路径。
columnsrdb.ValuesBucket指示要查询的列。如果此参数为空,则查询所有列。
predicatesdataAbility.DataAbilityPredicates指示筛选条件。当此参数为null时,应定义处理逻辑。

返回值:

类型说明
Promise<ResultSet>返回查询结果。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.DataAbility"
);
var cars=new Array("value1", "value2", "value3", "value4");
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.query("dataability:///com.example.DataAbility",cars,da).then((data) => {console.info("==========================>queryCallback=======================>");
});

DataAbilityHelper.call

call(uri: string, method: string, arg: string, extras: PacMap): Promise

调用DataAbility的扩展接口,使用Promise方式作为异步方法。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"
methodstring被调用的方法名。
argstring需传入的参数。
extrasPacMap键值对参数。

返回值:

类型说明
Promise<PacMap>调用的返回值。

示例:

import featureAbility from '@ohos.ability.featureAbility';let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility");
dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}).then((data) => {console.info('Operation succeeded: ' + data);
}).catch((error) => {console.error('Operation failed. Cause: ' + error);
});

DataAbilityHelper.call

call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback): void

调用DataAbility的扩展接口,使用callback方式作为异步方法。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

名称类型必填描述
uristring指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"
methodstring被调用的方法名。
argstring需传入的参数。
extrasPacMap键值对参数。
callbackAsyncCallback<PacMap>返回值。 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151344.png

示例:

import featureAbility from '@ohos.ability.featureAbility';let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility");
dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}, (err, data) => {if (err) {console.error('Operation failed. Cause: ' + err);return;}console.info('Operation succeeded: ' + data);
});

PacMap

名称参数类型必填说明
[key: string]numberstringbooleanArray<stringnumberboolean>null数据存储在键值对中。

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel中实现md5加密

1.注意事项 (1)在Microsoft Excel上操作 (2)使用完&#xff0c;建议修改的配置全部还原&#xff0c;防止有风险。 2.准备MD5宏插件 MD5加密宏插件放置到F盘下&#xff08;直接F盘下&#xff0c;不用放到具体某一个文件夹下&#xff09; 提示&#xff1a;文件在文章顶部&…

【教程向】从零开始创建浏览器插件(三)解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题

第三步&#xff1a;解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题 Chrome 扩展开发中&#xff0c;弹出页面&#xff08;Popup&#xff09;、背景脚本&#xff08;Background Script&#xff09;、内容脚本&#xff08;Content Script&#xff09;各自拥有独立…

互联网轻量级框架整合之HibernateMyBatis

持久层框架 Hibernate 假设有个数据表&#xff0c;它有3个字段分别是id、rolename、note, 首先用IDEA构建一个maven项目Archetype选择org.apache.maven.archetypes:maven-archetype-quickstart即可&#xff0c;配置如下pom <project xmlns"http://maven.apache.org/…

攻防世界-web-unseping

题目 知识点 PHP代码审计PHP序列化和反序列化PHP中魔术方法命令执行绕过方式 解读源码 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function …

【算法】动态规划之背包DP问题(2024.5.11)

前言&#xff1a; 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列 【算法】动态规划之线性DP问题-CSDN博客 01背包 步骤&#xff1a; 分析容量j与w[i]的关系&#xff0c;然后分析是否要放…

户籍管理系统的设计与实现

【免费】户籍管理系统的设计与实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89296790 ​​​​​​​户籍管理系统的设计与实现 摘 要 当今社会人们生活质量越来越高&#xff0c;人们对生活品质的追求不断提升&#xff0c;对于孩子求学&#xff0c;变更住…

Selenium中的隐式等待和显式等待

在Selenium中&#xff0c;“等待”在执行测试中起着重要作用。在本文中&#xff0c;您将学习Selenium中“隐式”和“显式”等待的各个方面。 在本文中&#xff0c;您将学习到 1. 为什么我们需要在selenium中等待&#xff1f; 2. 隐瞒等待 3. 明确等待 4. 流利的等待 为什么…

Join优化规则及应用层BI系统实践

目录 一、背景 二、查询优化器概述​编辑 2.1 System R Optimizer 2.2 Volcano Optimizer 2.3 Cascade Optimizer 三、Join相关优化规则 3.1 JoinReorder 3.1.1 少量表的Reorder 3.1.2 大量表的Reorder 3.1.3 星型模型的Reorder 3.2 外连接消除 3.3 Join消除 3.4 谓…

UDP多播

1 、多播的概念 多播&#xff0c;也被称为组播&#xff0c;是一种网络通信模式&#xff0c;其中数据的传输和接收仅在同一组内进行。多播具有以下特点&#xff1a; 多播地址标识一组接口&#xff1a;多播使用特定的多播地址&#xff0c;该地址标识一组接收数据的接口。发送到多…

[Vision Board创客营]--使用openmv识别阿尼亚

文章目录 [Vision Board创客营]使用openmv识别阿尼亚介绍环境搭建训练模型上传图片生成模型 使用结语 [Vision Board创客营]使用openmv识别阿尼亚 &#x1f680;&#x1f680;五一和女朋友去看了《间谍过家家 代号&#xff1a;白》&#xff0c;入坑二刺螈&#xff08;QQ头像也换…

小程序地理位置接口申请教程来啦4步学会

小程序地理位置接口有什么功能&#xff1f; 如果我们提审后驳回理由写了“当前提审小程序代码包中地理位置相关接口( chooseAddress、getLocation )暂未开通&#xff0c;建议完成接口开通后或移除接口相关内容后再进行后续版本提审”&#xff0c;如果你也碰到类似问题&#xff…

电火灶是燃气灶吗?节能、环保效果怎么样?

随着科技的进步&#xff0c;厨房中的传统设备也逐步被新型、高效且环保的设备所替代。电火灶&#xff0c;作为一种新型的电火烹饪设备&#xff0c;逐渐进入人们的视野。那么&#xff0c;电火灶是否与传统的燃气灶有所区别&#xff1f;其节能与环保效果又如何呢&#xff1f;下面…

2024.5.8 关于 SpringCloud —— Ribbon 的基本认知

目录 Ribbon 负载均衡原理 工作流程 Ribbon 负载均衡规则 Ribbon 负载均衡自定义化 代码方式修改规则 配置文件方式修改规则 小总结 Ribbon 设定饥饿加载 Ribbon 负载均衡原理 工作流程 order-service 使用 RestTemplate 发送请求&#xff0c;随后该请求将会被 Ribbon 所…

【强训笔记】day20

NO.1 思路&#xff1a;先判断能对砍几个回合&#xff0c;取最小值&#xff0c;因为回合数是整数&#xff0c;所以可能存在都大于0的情况&#xff0c;再判断一下如果都存活就再对砍一次&#xff0c;直到一家存活或者都死亡。 代码实现&#xff1a; #include<iostream>u…

土地档案管理关系参考论文(论文 + 源码)

【免费】javaEE土地档案管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89296786 土地档案管理关系 摘 要 研究土地档案管理关系即为实现一个土地档案管理系统。土地档案管理系统是将现有的历史纸质档案资料进行数字化加工处理&#xff0c;建成标准化的…

TikTok海外运营:云手机的四种快速变现方法

随着TikTok用户基数的持续扩大&#xff0c;这个平台已成为全球创业者和品牌的新战场。其用户群接近20亿&#xff0c;并以年轻用户为主力军&#xff0c;市场渗透率逐年攀升。无论是大型组织、知名品牌&#xff0c;还是个人创业者&#xff0c;都无法忽视TikTok所带来的巨大商机。…

视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决

目录 一、现象描述 二、视频监控的录像文件计算 &#xff08;一&#xff09;计算方法 1、仅视频部分 2、视频和音频部分 3、使用平均码率 &#xff08;二&#xff09;计算工具 1、关注威迪斯特公众号 2、打开“计算容量”的小工具 三、原因分析 &#xff08;一&…

SharePoint 使用renderListDataAsStream方法查询list超过5000时的数据

问题&#xff1a; 当SharePoint List里的数据超过5000时&#xff0c;如果使用常用的rest api去获取数据&#xff0c;例如 await this.sp.web.lists.getByTitle(Document Library).rootFolder.files.select(*, listItemAllFields).expand(listItemAllFields).filter(listItemA…

Python多线程与互斥锁模拟抢购余票的示例

一、示例代码&#xff1a; from threading import Thread from threading import Lock import timen 100 # 共100张票def task():global nmutex.acquire() # 上锁temp ntime.sleep(0.1)n temp - 1print(购票成…

语音网关有哪些?

语音网关是一种网络设备&#xff0c;它使得通过传统的电话网络&#xff08;如公共交换电话网络&#xff0c;PSTN&#xff09;和现代的数据网络&#xff08;如互联网或私有数据网络&#xff09;进行的语音通信成为可能。语音网关的主要作用是在模拟或数字电话信号与数据网络的数…