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

news2024/11/28 20:49:21

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.coloradmin.cn/o/1668306.html

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

相关文章

算法设计与分析 例题 绘制Huffman树、循环赛、分治、最短路与动态规划

1.考虑用哈夫曼算法来找字符a,b,c,d,e,f 的最优编码。这些字符出现在文件中 的频数之比为 20:10:6:4:44:16。要求&#xff1a; &#xff08;1&#xff09;&#xff08;4 分&#xff09;简述使用哈夫曼算法构造最优编码的基本步骤&#xff1b; &#xff08;2&#xff09;&…

代码已经推送到远程,如何退回之前的提交记录

现状&#xff1a;代码已经推送到远程&#xff0c;如何退回之前的提交记录 Sourcetree工具实现 最后使用命令强制推送&#xff1a; git push origin dev --forceidea 工具实现 强行推送

网络编程学习笔记1

文章目录 一、socket1、创建socket2、网络通信流程3、accept()函数4、signal()函数5、recv()函数6、connect()函数 二、I/O多路复用1.select模型2.poll模型3.epoll模型 注 一、socket 1、创建socket int socket(int domain,int type,int protocol); //返回值&#xff1a;一个…

ssm120基于SSM框架的金鱼销售平台的开发和实现+jsp

金鱼销售平台 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于金鱼销售平台当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了金鱼销售平台&#xff0c;它彻底改…

电商平台商品数据的价值在哪里?如何实现批量抓取?

一、电商平台商品数据的价值探秘 在数字经济的浪潮中&#xff0c;电商平台商品数据如同一座蕴藏着无尽宝藏的矿山&#xff0c;其价值远超过我们表面的认知。今天&#xff0c;就让我们一起揭开这座矿山的神秘面纱&#xff0c;探寻其中的奥秘。 首先&#xff0c;电商平台商品数…

FPGA第2篇,FPGA与CPU GPU APU DSP NPU TPU 之间的关系与区别

简介&#xff1a;首先&#xff0c;FPGA与CPU GPU APU NPU TPU DSP这些不同类型的处理器&#xff0c;可以被统称为"处理器"或者"加速器"。它们在计算机硬件系统中承担着核心的计算和处理任务&#xff0c;可以说是系统的"大脑"和"加速引擎&qu…

AI算法-高数5-线性代数1-基本概念、向量

线性代数&#xff1a;主要研究1、张量>CV计算机视觉 2、研究张量的线性关系。 深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络&#xff0c;然而神经网络最基本的数据结构就是向量和矩阵&#xff0c;神经网络的输入是向量&#xff0c;然后通过每个矩阵对向量…

自动驾驶技术与传感器数据处理

目录 自动驾驶总体架构 感知系统 决策系统 定位系统 ​计算平台​ 仿真平台​ 自动驾驶公开数据集 激光点云 点云表征方式 1) 原始点云 2) 三维点云体素化 3)深度图 4)鸟瞰图 点云检测障碍物的步骤 PCL点云库 车载毫米波雷达 车载相机 设备标定 自动驾驶…

DMA原理、传输过程及传输方式

1.DMA DMA(Direct Memory Access&#xff0c;直接存储器访问)&#xff0c;是硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行数据传输的内存技术&#xff0c;它允许不同速度的硬件设备(外设到内存、内存到外设、内存到内存、外设到外设)进行沟通&#xff0c;而不需要…

MySQL相关文件的介绍

其中的pid-file/var/run/mysqld/mysqld.pid是用来定义MySQL的进程ID的信息的&#xff0c; 这个ID是操作系统分配给MySQL服务进程的唯一标识&#xff0c;使得系统管理员可以轻松识别和管理该进程。 其中的log-error/var/log/mysqld.log是MySQL的错误日志文件&#xff0c;如果有…

C++string 类的常用方法

string (构造函数) (1) default 构造长度为零字符的空字符串。 (2) copy 构造 str 的副本。 (3) substring 复制从字符位置 pos 开始并跨越 len 字符的 str 部分&#xff08;如果任一 str 太短或 len 为 string&#xff1a;&#xff1a;npos&#xff0c;则复制 str 的末尾…

Ardupilot开源代码之Rover上路 - 后续1

Ardupilot开源代码之Rover上路 - 后续1 1. 源由2. 问题汇总2.1 问题1&#xff1a;飞控选择2.2 问题2&#xff1a;飞控安装位置和固定2.3 问题3&#xff1a;各种插头、插座配套2.4 问题4&#xff1a;分电板缺陷2.5 问题5&#xff1a;电机编码器接线及正反向问题2.6 问题6&#x…

docker-compose集成elk(基于logstash+filebeat)采集java和nginx日志

1.准备compose.yml编排式文件 services: #日志信息同步logstash:container_name: logstashimage: docker.elastic.co/logstash/logstash:7.17.14 #logstash:command: logstash -f /usr/share/logstash/pipeline/logstash.confdepends_on:- elasticsearchrestart: on-failurepo…

车机HMI:驾驶员小命握在UI设计师手,九大法则必须遵循。

本文给大家列举了九大法则&#xff0c;欢迎评论点赞交流。 在车机HMI设计中&#xff0c;为了降低驾驶员的反应时间并增加驾驶安全性&#xff0c;可以遵循以下UI设计法则&#xff1a; 易读性和可识别性 确保界面上的文本和图标清晰易读&#xff0c;避免使用过小、过于复杂或模…

Crossplane 实战:构建统一的云原生控制平面

1 什么是 Crossplane Crossplane 是一个开源的 Kubernetes 扩展&#xff0c;其核心目标是将 Kubernetes 转化为一个通用的控制平面&#xff0c;使其能够管理和编排分布于 Kubernetes 集群内外的各种资源。通过扩展 Kubernetes 的功能&#xff0c;Crossplane 对 Kubernetes 集群…

GoF之代理模式(静态代理+动态代理(JDK动态代理+CGLIB动态代理带有一步一步详细步骤))

1. GoF之代理模式&#xff08;静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤)&#xff09; 文章目录 1. GoF之代理模式&#xff08;静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤)&#xff09;每博一文案2. 代理模式的理解3. 静态代理4. 动…

[AIGC] 跳跃表是如何实现的?原理?

文章目录 什么是跳跃表查找流程&#xff1a;为什么使用跳跃表?跳跃表是怎么实现的&#xff1f; PS:跳跃表是比较常问的一种结构。 什么是跳跃表 Skip Lists: A Probabilistic Alternative to Balanced Trees 跳跃表是一种可以用来代替平衡树的数据结构。跳跃表使用概率平衡…

类和对象一(从封装开始讲述)

目录&#xff1a; 一.封装 二.封装扩展之包&#xff0c;自定义包 三.访问限定符 四.static成员 一.封装&#xff1a;封装&#xff1a;将数据和操作数据的方法进行有机结合&#xff0c;隐藏对象的属性和实现细节&#xff0c;仅对外公开接口来和对象进行 交互。面向对象…

插件:Best HTTP

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

MATLAB 多项式

MATLAB 多项式 MATLAB将多项式表示为行向量&#xff0c;其中包含按幂次降序排列的系数。例如&#xff0c;方程P(x) X 4 7 3 - 5 9可以表示为 p [1 7 0 -5 9]; 求值多项式 polyval函数用于求一个特定值的多项式。例如&#xff0c;在 x 4 时&#xff0c;计算我们之前的多项式…