鸿蒙开发接口Ability框架:【(AbilityContext)】

AbilityContext

AbilityContext是Ability的上下文环境,继承自Context。

AbilityContext模块提供允许访问特定于ability的资源的能力,包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。

说明:

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

使用说明

在使用AbilityContext的功能前,需要通过Ability子类实例获取。

import Ability from '@ohos.application.Ability'
class MainAbility extends Ability {onWindowStageCreate(windowStage) {let context = this.context;}
}

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

属性

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

名称参数类型可读可写说明
abilityInfoAbilityInfoAbilityinfo相关信息
currentHapModuleInfoHapModuleInfo当前hap包的信息
configConfiguration表示配置信息。

AbilityContext.startAbility

startAbility(want: Want, callback: AsyncCallback<void>): void

启动Ability。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
callbackAsyncCallback<void>callback形式返回启动结果

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
this.context.startAbility(want, (error) => {console.log("error.code = " + error.code)
})

AbilityContext.startAbility

startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>): void

启动Ability。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<void>callback形式返回启动结果。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var options = {windowMode: 0,
};
this.context.startAbility(want, options, (error) => {console.log("error.code = " + error.code)
})

AbilityContext.startAbility

startAbility(want: Want, options?: StartOptions): Promise<void>;

启动Ability。通过Promise返回结果。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。

返回值:

类型说明
Promise<void>Promise形式返回启动结果。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var options = {windowMode: 0,
};
this.context.startAbility(want, options)
.then((data) => {console.log('Operation successful.')
}).catch((error) => {console.log('Operation failed.');
})

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void;

启动Ability并在结束的时候返回执行结果。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
callbackAsyncCallback<AbilityResult>执行结果回调函数。

示例:

this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"},(error, result) => {console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code)console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode)}
);

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>): void;

启动Ability并在结束的时候返回执行结果。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<AbilityResult>执行结果回调函数。

示例:

var options = {windowMode: 0,
};
this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options,(error, result) => {console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code)console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode)}
);

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityResult>;

启动Ability并在结束的时候返回执行结果。

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

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。

返回值:

类型说明
Promise<AbilityResult>Promise形式返回执行结果。

示例:

var options = {windowMode: 0,
};
this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options).then((result) => {console.log("startAbilityForResult Promise.resolve is called, result.resultCode = " + result.resultCode)
}, (error) => {console.log("startAbilityForResult Promise.Reject is called, error.code = " + error.code)
})

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback<AbilityResult>): void;

启动一个Ability并在该Ability帐号销毁时返回执行结果(callback形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
callbackAsyncCallback<AbilityResult>启动Ability的回调函数,返回Ability结果。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
this.context.startAbilityWithAccount(want, accountId, (err, data) => {console.log('---------- startAbilityWithAccount fail, err:  -----------', err);console.log('---------- startAbilityWithAccount success, data:  -----------', data);
});

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void;

启动一个Ability并在该Ability帐号销毁时返回执行结果(callback形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<void>启动Ability的回调函数。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
var options = {windowMode: 0,
};
this.context.startAbilityForResultWithAccount(want, accountId, options, (err) => {console.log('---------- startAbilityForResultWithAccount fail, err:  -----------', err);
});

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<AbilityResult>;

启动一个Ability并在该Ability帐号销毁时返回执行结果(callback形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
optionsStartOptions启动Ability所携带的参数。

返回值:

类型说明
Promise<AbilityResult>返回一个Promise,包含Ability结果。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
var options = {windowMode: 0,
};
this.context.startAbilityForResultWithAccount(want, accountId, options).then((data) => {console.log('---------- startAbilityForResultWithAccount success, data:  -----------', data);}).catch((err) => {console.log('---------- startAbilityForResultWithAccount fail, err:  -----------', err);})

AbilityContext.terminateSelf

terminateSelf(callback: AsyncCallback<void>): void;

停止Ability自身。

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

参数:

参数名类型必填说明
callbackAsyncCallback<void>回调函数,返回接口调用是否成功的结果。

示例:

this.context.terminateSelf((err) => {console.log('terminateSelf result:' + JSON.stringify(err));
});

AbilityContext.terminateSelf

terminateSelf(): Promise<void>;

停止Ability自身。通过Promise返回结果。

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

返回值:

类型说明
Promise<void>返回一个Promise,包含接口的结果。

示例:

this.context.terminateSelf().then((data) => {console.log('success:' + JSON.stringify(data));
}).catch((error) => {console.log('failed:' + JSON.stringify(error));
});

AbilityContext.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void;

停止Ability,并返回给调用startAbilityForResult 接口调用方的相关信息。

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

参数:

参数名类型必填说明
parameterAbilityResult返回给调用startAbilityForResult 接口调用方的相关信息。
callbackAsyncCallback<void>callback形式返回停止结果。

示例:

this.context.terminateSelfWithResult({want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},resultCode: 100}, (error) => {console.log("terminateSelfWithResult is called = " + error.code)}
);

AbilityContext.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult): Promise<void>;

停止Ability,并返回给调用startAbilityForResult 接口相关信息。

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

参数:

参数名类型必填说明
parameterAbilityResult返回给startAbilityForResult 调用方的信息。

返回值:

类型说明
Promise<void>promise形式返回停止结果。

示例:

this.context.terminateSelfWithResult(
{want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},resultCode: 100
}).then((result) => {console.log("terminateSelfWithResult")
}
)

AbilityContext.connectAbility

connectAbility(want: Want, options: ConnectOptions): number;

使用AbilityInfo.AbilityType.SERVICE模板将当前能力连接到一个能力。

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsConnectOptions远端对象实例。

返回值:

类型说明
number返回Ability连接的结果code。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var options = {onConnect(elementName, remote) { console.log('----------- onConnect -----------') },onDisconnect(elementName) { console.log('----------- onDisconnect -----------') },onFailed(code) { console.log('----------- onFailed -----------') }
}
const result = this.context.connectAbility(want, options);
console.log('----------- connectAbilityResult: ------------', result);

AbilityContext.connectAbilityWithAccount

connectAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number;

使用AbilityInfo.AbilityType.SERVICE模板和account将当前能力连接到一个能力。

需要权限:  ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
optionsConnectOptions远端对象实例。

返回值:

类型说明
number返回Ability连接的结果code。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
var options = {onConnect(elementName, remote) { console.log('----------- onConnect -----------') },onDisconnect(elementName) { console.log('----------- onDisconnect -----------') },onFailed(code) { console.log('----------- onFailed -----------') }
}
const result = this.context.connectAbilityWithAccount(want, accountId, options);
console.log('----------- connectAbilityResult: ------------', result);

AbilityContext.disconnectAbility

disconnectAbility(connection: number): Promise<void>;

已成功连接接口。

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
connectionnumber连接的能力的数字代码。

返回值:

类型说明
Promise<void>返回执行结果。

示例:

var connectionNumber = 0;
this.context.disconnectAbility(connectionNumber).then((data) => {console.log('disconnectAbility success, data: ', data);
}).catch((err) => {console.log('disconnectAbility fail, err: ', err);
});

AbilityContext.disconnectAbility

disconnectAbility(connection: number, callback:AsyncCallback<void>): void;

已成功连接接口。

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
connectionnumber连接的能力的数字代码。
callbackAsyncCallback<void>表示指定的回调方法。

示例:

  var connectionNumber = 0;this.context.disconnectAbility(connectionNumber, (err) => {console.log('---------- disconnectAbility fail, err: -----------', err);});

AbilityContext.startAbilityByCall

startAbilityByCall(want: Want): Promise<Caller>;

获取指定通用组件服务端的caller通信接口, 并且将指定通用组件服务端拉起并切换到后台。

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

参数:

参数名类型必填说明
wantWant传入需要启动的ability的信息,包含ability名称、包名、设备ID,设备ID缺省或为空表示启动本地ability。

返回值:

类型说明
Promise<Caller>获取要通讯的caller对象。

示例:

import Ability from '@ohos.application.Ability';
var caller;
export default class MainAbility extends Ability {onWindowStageCreate(windowStage) {this.context.startAbilityByCall({bundleName: "com.example.myservice",abilityName: "MainAbility",deviceId: ""}).then((obj) => {caller = obj;console.log('Caller GetCaller Get ' + caller);}).catch((e) => {console.log('Caller GetCaller error ' + e);});}
}

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void;

根据account启动Ability(callback形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
callbackAsyncCallback<void>启动Ability的回调函数。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
this.context.startAbilityWithAccount(want, accountId, (err) => {console.log('---------- startAbilityWithAccount fail, err:  -----------', err);
});

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void;

根据account启动Ability(callback形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<void>启动Ability的回调函数。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
var options = {windowMode: 0,
};
this.context.startAbilityWithAccount(want, accountId, options, (err) => {console.log('---------- startAbilityWithAccount fail, err:  -----------', err);
});

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<void>;

根据account启动Ability(Promise形式)。

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
accountIdnumber需要启动的accountId。
optionsStartOptions启动Ability所携带的参数。

示例:

var want = {"deviceId": "","bundleName": "com.extreme.test","abilityName": "MainAbility"
};
var accountId = 100;
var options = {windowMode: 0,
};
this.context.startAbilityWithAccount(want, accountId, options).then((data) => {console.log('---------- startAbilityWithAccount success, data:  -----------', data);}).catch((err) => {console.log('---------- startAbilityWithAccount fail, err:  -----------', err);})

AbilityContext.requestPermissionsFromUser

requestPermissionsFromUser(permissions: Array<string>, requestCallback: AsyncCallback<PermissionRequestResult>) : void;

拉起弹窗请求用户授权。

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

参数:

参数名类型必填说明
permissionsArray<string>权限列表。
callbackAsyncCallback<PermissionRequestResult>回调函数,返回接口调用是否成功的结果。

示例:

     var permissions=['com.example.permission']this.context.requestPermissionsFromUser(permissions,(result) => {console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
});

AbilityContext.requestPermissionsFromUser

requestPermissionsFromUser(permissions: Array<string>) : Promise<PermissionRequestResult>;

拉起弹窗请求用户授权。通过Promise返回结果。

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

参数:

参数名类型必填说明
permissionsArray<string>权限列表。

返回值:

类型说明
Promise<PermissionRequestResult>返回一个Promise,包含接口的结果。

示例:

 var permissions=['com.example.permission']this.context.requestPermissionsFromUser(permissions).then((data) => {console.log('success:' + JSON.stringify(data));
}).catch((error) => {console.log('failed:' + JSON.stringify(error));
});

AbilityContext.setMissionLabel

setMissionLabel(label: string, callback:AsyncCallback<void>): void;

设置ability在任务中显示的名称。

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

参数:

参数名类型必填说明
labelstring显示名称。
callbackAsyncCallback<void>回调函数,返回接口调用是否成功的结果。

示例:

this.context.setMissionLabel("test",(result) => {console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
});

AbilityContext.setMissionLabel

setMissionLabel(label: string): Promise<void>

设置ability在任务中显示的名称。

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

参数:

参数名类型必填说明
labelstring显示名称。

返回值:

类型说明
Promise<void>返回一个Promise,包含接口的结果。

示例:

this.context.setMissionLabel("test").then((data) => {console.log('success:' + JSON.stringify(data));
}).catch((error) => {console.log('failed:' + JSON.stringify(error));
});

AbilityContext.setMissionIcon

setMissionIcon(icon: image.PixelMap, callback:AsyncCallback<void>): void;

设置当前ability的任务标签。

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
iconimage.PixelMap在最近的任务中显示的能力图标。
callbackAsyncCallback<void>指定的回调函数的结果。

示例:

  import image from '@ohos.multimedia.image'var imagePixelMap;var color = new ArrayBuffer(0);var initializationOptions = {size: {height: 100,width: 100}};image.createPixelMap(color, initializationOptions).then((data) => {imagePixelMap = data;}).catch((err) => {console.log('--------- createPixelMap fail, err: ---------', err)});this.context.setMissionIcon(imagePixelMap, (err) => {console.log('---------- setMissionIcon fail, err: -----------', err);})

AbilityContext.setMissionIcon

setMissionIcon(icon: image.PixelMap): Promise<void>;

设置当前ability的任务标签。

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

系统API: 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
iconimage.PixelMap在最近的任务中显示的能力图标。

返回值:

类型说明
Promise<void>返回一个Promise,包含接口的结果。

示例:

  import image from '@ohos.multimedia.image'var imagePixelMap;var color = new ArrayBuffer(0);var initializationOptions = {size: {height: 100,width: 100}};image.createPixelMap(color, initializationOptions).then((data) => {imagePixelMap = data;}).catch((err) => {console.log('--------- createPixelMap fail, err: ---------', err)});this.context.setMissionIcon(imagePixelMap).then((data) => {console.log('-------------- setMissionIcon success, data: -------------', data);}).catch((err) => {console.log('-------------- setMissionIcon fail, err: -------------', err);});

AbilityContext.restoreWindowStage

restoreWindowStage(localStorage: LocalStorage) : void;

恢复ability中的window stage数据。

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

参数:

参数名类型必填说明
localStorageimage.LocalStorage用于恢复window stage的存储数据。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

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

示例:

  var storage = new LocalStorage();this.context.restoreWindowStage(storage);

鸿蒙Next核心技术分享

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

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习300问】86、简述超参数优化的步骤?如何寻找最优的超参数组合?

本文想讲述清楚怎么样才能选出最优的超参数组合。关于什么是超参数&#xff1f;什么是超参数组合&#xff1f;本文不赘述&#xff0c;在之前我写的文章中有详细介绍哦&#xff01; 【机器学习300问】22、什么是超参数优化&#xff1f;常见超参数优化方法有哪些&#xff1f;htt…

(Java)心得:LeetCode——19.删除链表的倒数第 N 个节点

一、原题 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&…

Golang — map的使用心得和底层原理

map作为一种基础的数据结构&#xff0c;在算法和项目中有着非常广泛的应用&#xff0c;以下是自己总结的map使用心得、实现原理、扩容机制和增删改查过程。 1.使用心得&#xff1a; 1.1 当map为nil和map为空时&#xff0c;增删改查操作时会出现的不同情况 我们可以发现&#…

什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考

什么是数据平台 标准的解释是这样的 Wikipedia A data platform usually refers to a software platform used for collecting and managing data, and acting as a data delivery point for application and reporting software. 数据平台是指将各类数据进行整合、存储、处…

鸿蒙开发接口Ability框架:【 (Context模块)】

Context模块 Context模块提供了ability或application的上下文的能力&#xff0c;包括允许访问特定于应用程序的资源、请求和验证权限等。 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 本模块…

Java代理Ⅱ

目录 静态代理的内存结构图 测试demo 内存图 关于为什么不能直接修改原方法&#xff0c;而是要用代理 参考文章 关于代理我之前写过一篇博客&#xff0c;基本已经讲的差不多了&#xff0c;有兴趣的读者可以去看看 Java代理 最近有了新的感悟&#xff0c;所以记录一下 静…

如何快速展示专业:掌握类的基本概念-类/方法/关键字/变量/数据类型/注释

在李笑来的《财富自由之路》中提到一种初学者快速入门的学习方法&#xff1a;快速掌握最小必要知识。 关于Java的类&#xff0c;最少必要知识就是本文提到的基本概念&#xff0c;掌握了这些基本概念&#xff0c;就对类有了基本的了解&#xff0c;为后续的深入学习和沟通奠定了基…

7.STL_string1.0(详细)

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 1. 为什么学习string类&#xff1f; 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的容量操作 reserve 3. string类对象…

体验MouseBoost PRO,让Mac操作更高效

还在为Mac的右键功能而烦恼吗&#xff1f;试试MouseBoost PRO for Mac吧&#xff01;这款强大的鼠标右键增强软件&#xff0c;能让你通过简单操作即可激活多种实用功能&#xff0c;让你的工作变得更加轻松。其高度定制化的设计&#xff0c;更能满足你的个性化需求。赶快下载体验…

【C++】string底层的实现原理(简单详细)

前言 本篇文章我将按照C文档库中的模块顺序来实现和讲解其实现原理&#xff0c;我们只讲各板块中常用的 目录 一&#xff0c;Member functions&#xff08;成员函数&#xff09; 二、Iterators&#xff08;迭代器&#xff09; 三、Capacity&#xff08;容器&#xff09; 常…

[AIGC] redis 持久化相关的几道面试题

文章目录 1. 什么是Redis持久化&#xff1f;2. Redis 的持久化机制是什么&#xff1f;各自的优缺点&#xff1f;2.1 RDB&#xff08;Redis DataBase&#xff09;&#xff0c;快照2.2 AOF&#xff08;Append Only File&#xff09;&#xff0c;日志 3. 优缺点是什么&#xff1f;…

【递归、回溯和剪枝】全排列 子集

0.回溯算法介绍 什么是回溯算法 回溯算法是⼀种经典的递归算法&#xff0c;通常⽤于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想&#xff1a;从⼀个初始状态开始&#xff0c;按照⼀定的规则向前搜索&#xff0c;当搜索到某个状态⽆法前进时&#xff0c;回退到前…

Electron、QT、WPF三强争霸,该支持谁呢?

Electron、QT、WPF都是跨平台的桌面应用开发框架&#xff0c;都是非常流行的&#xff0c;作为开发者该选用哪个呢&#xff1f;本文从多个角度分析一下。 一、定义 Electron、Qt 和 WPF 都是用于创建桌面应用程序的框架或工具&#xff0c;它们各自有着不同的特点和优势。 Elec…

插件:Best HTTP

一、简介 WebSocket WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务端主动向客户端推送数据。在WebSocket API中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直接可以创建持久性的连接&#xff0c;并进行双向数据传输。…

C++笔记(体系结构与内核分析)

1.OOP面向对象编程 vs. GP泛型编程 OOP将data和method放在一起&#xff0c;目的是通过封装、继承、多态提高软件的可维护性和可扩展性GP将data和method分开&#xff0c;可以将任何容器与任何算法结合使用&#xff0c;只要容器满足塞饭所需的迭代器类型 2.算法与仿函数的区别 …

Java8 ConcurrentHashMap 存储、扩容源码阅读

文章目录 1. 概述2. 入门实例3. 属性4. 核心方法4.1 put4.2 initTable4.3 transfer4.4 sizeCtl4.5 sizeCtl bug 1. 概述 ConcurrentHashMap 是线程安全且高效的 HashMap。 HashMap 可以看下我这篇 传送门 。 2. 入门实例 public class MyStudy {public static void main(St…

【从零开始学架构 架构基础】二 架构设计的复杂度来源:高性能复杂度来源

架构设计的复杂度来源其实就是架构设计要解决的问题&#xff0c;主要有如下几个&#xff1a;高性能、高可用、可扩展、低成本、安全、规模。复杂度的关键&#xff0c;就是新旧技术之间不是完全的替代关系&#xff0c;有交叉&#xff0c;有各自的特点&#xff0c;所以才需要具体…

DELL T630服务器iDRAC分辨率调整办法

对于Dell T630服务器的iDRAC分辨率调整&#xff0c;您需要登录到iDRAC的Web界面。以下是详细的步骤&#xff1a; 登录iDRAC&#xff1a;在浏览器中输入iDRAC的IP地址&#xff0c;然后使用用户名&#xff08;通常是“root”&#xff09;和密码登录。 导航到虚拟控制台&#xff…

在Ubuntu 24.04 LTS (Noble Numbat)上安装nfs server以及nfs client

在Ubuntu 24.04 LTS (Noble Numbat)上,我使用的是最小化安装, 当然server版本的Ubuntu在安装的时候可能会有网络不通的问题,解决办法见如下文章: ubuntu 24.04 server 仅NAT模式上网设置静态IP设置-CSDN博客文章浏览阅读489次,点赞9次,收藏3次。在Ubuntu 24.04 上设置网…

2024 cleanmymac有没有必要买呢,全反面分析

在使用mac时&#xff0c;小编遇到了运行内存不足、硬盘空间不足的情况。遇到这种情况&#xff0c;我们可以借助经典的电脑深度清理软件——CleanMyMac X&#xff0c;清理不常用的软件和系统垃圾&#xff0c;非常好用&#xff01;不过&#xff0c;有许多网友发现CleanMyMac X有免…