首页 > 代码库 > Android Auto开发之一《开始学习Auto 》

Android Auto开发之一《开始学习Auto 》

共同学习,共同进步, 转载请注明出处。欢迎微信交流:sfssqs,申请注明"Android Car"字样

================= =========================

 

https://developer.android.com/traning/auto/start/index.xml

 

让我们一起来学习Android Auto

 

Android Auto继承自Android平台,服务汽车系统。手持设备需运行在Android5.0或更高的版本,当用户将它连接到兼容的车机上时,Auto提供的接口在汽车的中控屏幕与手持设备的应用交互。用户通过语音或者车内的诸如触摸屏、仪表按钮等方式与兼容的应用或服务互动。

 

Auto目前支持两种类型应用场景:

  • 音频类型,允许用户浏览和播放音乐和通过车内的mic说话。
  • 短信类型,接收信息通知,通过text-to-speech阅读消息,通过车内的mic回复信息。

开发者目前在手机、平板中运行的音频、消息类型应用,可以被改造成Auto的方式,而不必担心汽车硬件实现上的差异。为了能让app在车上运行,app的目标设备必须是Android5.0(API level21)或以上。manifest中还需要声明使用的汽车类型,如音频播放类型或者信息服务类型。

 

本文讲述了如果构建Auto应用,包括开发环境配置,基本环境要求等。

 

建立一个Auto工程

——————————

这部分描述了如何新建一个Auto类型的App或者修改现有的Android App来支持Auto使用。

 

准备工作

建立汽车应用之前,需要:

  • 新建或者更新app工程-Android 5.0(API level 21)提供了新的接口,实现了汽车音频播放和信息相关功能的兼容。为了能使用新接口,工程manifest中的targetSdkVersion要设置成Android 5.0(API level 21)或者更高。
  • 安装支持库 - 如果你正在建立汽车中messaging相关的应用,需要v4 support library中的NotificationCompat.CarExtender类。这个类允许建立与汽车设备兼容的通知。

 

声明汽车属性

App接入Auto功能被manifest设置和独立的XML配置文件控制。在添加Auto功能之前,先要定义Auto XML配置文件,并在manifest入口引用这个文件。

 

1. 定义Auto XML配置文件

XML放在目录(res/xml)。例如,扩展一个汽车上的音频APP,创建文件automotive_app_dec.xml放在工程的res/xml文件夹下。文件中包含以下元数据:

 

<automotiveApp>    <uses name=“media” /></automotiveApp>

 

<uses>元素定义了App要使用的Auto属性。可以同时添加多个<uses>标签以便支持多个Auto属性。支持的属性有:

  • media-App使用Android框架的在汽车上播放音乐的API。如果想要在App中支持音频,设置这个值。
  • notification-在车机屏幕上显示消息通知,允许用户选择一条消息来读,也可以通过语音输入回复。如果想要支持消息类型的功能,设置这个值。

 

2. 添加manifest入口

在AndroidManifest.xml文件中对Auto XML配置文件的引用。在<application>元素下添加”com.google.android.gms.car.application”元数据并引用配置文件。要去掉.xml的文件后缀。

以下代码展示如何在manifest中添加饮用。

<application>…   <meta-data android:name=“com.google.android.gms.car.application”    android:resource=“@xml/automotive_app_desc”/></application>

 

在App中添加Auto的功能

完成以上步骤,可以准备在App中添加Auto功能了。查阅更多Auto App的文档

  • 为汽车添加音频播放功能
  • 为汽车添加信息收发功能

 

重要:Google对分散驾驶员注意力的场景非常慎重。所以定义了一套设计规范,想要上架Google Play必须遵守。坚守设计规范的要求会大大减少App的重建和测试。更多信息请关注-Auto App Quality。

 

Android Auto开发之一《开始学习Auto 》