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

2024-05-13 04:20

本文主要是介绍鸿蒙开发接口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星河版开发学习文档》  

这篇关于鸿蒙开发接口Ability框架:【(AbilityContext)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984661

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录