当前位置: 首页 > news >正文

地方网站总结wordpress自定义文章排序

地方网站总结,wordpress自定义文章排序,网站结构流程图怎么做,怎么做旅行网站1、AAOS概述 Android AutoMotive OS是谷歌针对车机使用场景打造的操作系统,它是基于现有Android系统的基础上增加了新特性,最主要的就是增加了CarService(汽车服务)模块。我们很容易把Android AutoMotive和Android Auto搞混&…

1、AAOS概述

Android AutoMotive OS是谷歌针对车机使用场景打造的操作系统,它是基于现有Android系统的基础上增加了新特性,最主要的就是增加了CarService(汽车服务)模块。我们很容易把Android AutoMotiveAndroid Auto搞混,前者是基于源代码的扩展,是系统级的,编译后运行在车上的系统;而后者是谷歌推出的一款将手机内容投射到兼容的车机屏幕上的产品,主要的运算任务是在手机端,就类似于苹果的Carplay一样。
说回AAOS,其中的CarService是以独立APK的方式存在,使用system UID权限运行。总体关系如下:
在这里插入图片描述

2、CarService服务和API

Carservice内部包括了很多子服务,较为核心和常用的服务有:

服务名称业务内容
CarPropertyService汽车属性服务
CarAudioService汽车音频服务
CarPowerManagerService汽车电源管理服务
CarPackageMangerService汽车包管理服务
CarDrivingStateService汽车行驶状态服务
CarUxRestrictionsManagerService汽车限制规则服务,针对行车中视频的限制等
CarInputService汽车输入服务,针对车上的硬按键

当然,对于应用来说,是通过Car API的方式去调用以上的服务,这是典型的Android Binder通信机制的使用。API中以各种Manager的方式对外提供,主要包括:

API名称业务内容
CarPropertyManager汽车属性管理API
CarInfoManager汽车信息管理API
CarSensorManager传感器管理API
CarHvacManager空调控制API
CarCabinManager座舱控制API
CarVendorExtentionManger外设管理API
CarAudioManager车辆音频管理API
CarPowerManager车辆电源管理API
CarPackageManager车辆包管理API

其中的CarInfoManager、CarSensorManager、CarHvacManager、CarCabinManager、CarVendorExtentionManger以及CarPropertyManager在服务端都是对应的CarPropertyService。但是在Android11中,CarInfoManager、CarSensorManager、CarHvacManager、CarCabinManager、等细分的Manager已经被标记为了过时的状态,谷歌还是建议大家直接使用CarPropertyManager去操作各个车辆的属性,这样能够更好地适应变化。

3、Car API的使用方式

应用使用Car API链接CarService对应的服务端,有两种方式,一种是传统的异步方式,一种是简化的同步方式。

3.1 异步方式:

首先通过Car.createCar创建Car对象:

Car mCar = Car.createCar(mContext, mServiceConnection);

并且还要主动调用Car的connect方法发起连接流程:

mCar.connect();

在连接上CarService之后,mServiceConnection会做回调:

private final ServiceConnection mServiceConnection = new ServiceConnection( ) {@Overridepublic void onServiceConnected(CompenentName name, IBinder service) {try {mCarInfoManager =(CarInfoManager) mCar.getCarManager(Car.INFO_SERVICE);} catch(CarNotConnectedException e) {LOG.e(“”,e);}}
}@OverridePublic void onServiceDeisconnected(ComponentName name) {}
}

这里是用CarInfoManager做例子,其他的Manager也同样是这样的方式获取。

3.2 同步的方式:

这种方式,应用不必在连接并接收到回调之后才能使用Car API,可以直接同步获取,如下:

mCar = Car.createCar(this);
mCarInfoManager = (CarInfoManager) mCar.getCarManager(Car.INFO_SERVICE);

4、 CarService启动流程

CarService的启动流程流程和其他系统服务的类似,都是在开机的时候由SystemServer启动,不同的是CarService是运行在单独的进程,并且中间会有一个CarServiceHelperService做一个桥接,把位于单独仓库中的Carservice黏合进来,流程图如下:
在这里插入图片描述
CarService,在最新的Android14版本中,所有的工作已经交给CarServiceImpl完成。
在CarServiceImpl的onCreate方法中,会获取到HAL层的Vehicle的客户端对象,然后实例化ICarImpl,而在ICarImpl里面又会去初始化具体的各个服务,比如:

//packages/services/Car/service/src/com/android/car/ICarImpl.java
private ICarImpl(Builder builder) {
mCarPowerManagementService = constructWithTrace(t, CarPowerManagementService.class,() -> new CarPowerManagementService.Builder().setContext(mContext).setPowerHalService(mHal.getPowerHal()).setSystemInterface(mSystemInterface).setCarUserService(mCarUserService).setPowerPolicyDaemon(builder.mPowerPolicyDaemon).setFeatureFlags(mFeatureFlags).build(),allServices);mCarPropertyService = constructWithTrace(t, CarPropertyService.class,() -> new CarPropertyService.Builder().setContext(mContext).setPropertyHalService(mHal.getPropertyHal()).build(), allServices);
}

当客户端通过Car去获取对应Manager时,就会返回对应的服务:

// packages/services/Car/car-lib/src/android/car/Car.java
public Object getCarManager(String serviceName) {IBinder binder = mService.getCarService(serviceName);
}

服务端对应:

//packages/services/Car/service/src/com/android/car/ICarImpl.java
public IBinder getCarService(String serviceName) {switch (serviceName) {case Car.AUDIO_SERVICE:return mCarAudioService;case Car.APP_FOCUS_SERVICE:return mAppFocusService;case Car.PACKAGE_SERVICE:return mCarPackageManagerService;case Car.POWER_SERVICE:return mCarPowerManagementService;case Car.CABIN_SERVICE:case Car.HVAC_SERVICE:case Car.INFO_SERVICE:case Car.PROPERTY_SERVICE:case Car.SENSOR_SERVICE:case Car.VENDOR_EXTENSION_SERVICE:return mCarPropertyService;
}
}
http://www.yayakq.cn/news/519510/

相关文章:

  • 聊城有限公司网站建设 中企动力济二分物联网工程专业
  • 建设企业网站专业服务深圳住房建设局网站首页
  • 建造师免费自学网站中山市中国建设银行网站
  • 沈阳快速建站公司有哪些制作自己的网站多少钱
  • 梅州市住房和城乡建设局官方网站品牌运营岗位职责
  • 企业手机网站设计手机网站首页
  • 企业网站建立的目的东莞搜索排名提升
  • 怎么做网站背景图网络维护协议范本
  • 界面好看的网站百中搜如何做网站排名
  • 购买空间网站哪个好wordpress 编辑器增加按钮
  • 珠海市网站建设企业东莞 企业 网站制作
  • 中文建站模板wordpress如何生成html代码
  • 心悦会员荣誉战场两张免做卡网站建网站添加付款方式
  • 做网站用jquery有趣的网站名称
  • 北京专业做网站的纳雍网站建设公司
  • 最受欢迎国内设计网站做网站好做吗
  • 网站建设证书做网站注意什么问题
  • 做设计一般用什么素材网站互联网服务中心
  • 郓城县住房和建设局网站app网站样式
  • 福建泉州网站建设公司哪家好html5网站建设基本流程
  • 唐山市城乡建设网站wordpress 相册 json
  • 织梦网站装修公司源码自己怎么做装修网站
  • 汽车销售公司的网站怎么做阿里云盘资源搜索引擎
  • ui参考网站阿里云 一键wordpress
  • 淮安品牌网站建设外贸网络营销公司
  • 惠州网站建设找惠州邦西安网站建设公司哪有
  • 网站开发工程师是做什么的模板无忧
  • 网站做专业团队游戏制作软件免费版
  • 网站怎样做才会被百度收录怎么查有做网站的公司
  • 使用局域网可以做网站吗沈阳做网络推广的公司