Automotive AppsConnected VehicleContent and MultimediaInfotainment

Google releases developer guidelines for the Android Auto apps

Published: September 29, 2014 | United States

Google has released dome developer guidelines for the 3rd party application providers for its much-touted Android Auto SDK. The first product based on Android Auto is expected to be launched sometime later in this year. After the initial announcement of its release, there have been speculations all over the telematics industry about the look and feel of the in-car Android UI.

Android_Auto_UI_Launcher
Android Auto UI (Night Mode)

Android Auto extends the Android platform into the car. When users connect their Android handheld device to a compatible vehicle, Android Auto provides a car-optimized Android experience on the vehicle’s screen. Users interact with compatible apps and services through voice actions and the vehicle’s input controls. The Android Auto SDK lets you easily extend your existing apps to work in the car, without having to worry about vehicle-specific hardware differences.

Android Auto apps won’t reallybe standalone apps. Instead they’re smartphone or tablet apps that have an Auto component. When you install the apps on your phone, your in-vehicle system will recognize them and add functionality to your Android Auto dashboard. Most apps will look pretty much the same. Developer can choose custom colors and each app will have day and night mode color schemes. But they’ll basically all have the same user interface and button layout.

At launch there will be just a few types of third-party apps that work with Android Auto: apps that can display notifications in a car-appropriate way, and media player apps. Media players will all have a simple bar of playback controls, although some apps might have custom buttons including thumbs up or down or bookmark buttons.

Following are some key features of Android Auto along with some developer guidelines:-

Architecture of Android Auto

The Android Auto app shows your app’s customized UI on the vehicle’s screen. To communicate with the Android Auto app, your media app implements a set of media interfaces. To extend an existing Android app for Android Auto, you implement a set of interfaces and services defined in the platform. You can reuse existing functionality and many Android APIs you already know.

Google_Android_Auto_Architecture
Android Auto Architecture

The architecture consists of the following components:

Media App – Runs a media service that exposes content through browsing and playback APIs. The service provides content to the Android Auto app. This is your Android app.

Android Auto App – Creates the UI and handles user interactions. This app uses a media client to request content from the media service running in the media app. The client requests data from the media service and monitors service states.

Vehicle Display – Shows app content and supports user interaction via on-screen soft buttons and other components, such as physical buttons or steering wheel controls.

Android media apps must implement binders to these APIs:

  • Browsing – Enables a media client to browse a hierarchy of a user’s media collection, presented as a virtual file system with containers (similar to directories) and items (similar to files).
  • Playback – Enables a media client to control media playback and monitor playback state through callback

Development Process

You don’t have to create a new app for Android Auto: you can extend your existing Android app with implementations of the media service interfaces. Your service exposes your app’s media content, theme resources, and app-specific actions using the methods and data types specified by the media service interfaces. This simplifies the development cycle because:

  • You do not have to maintain a separate project for Android Auto
  • You can reuse existing functionality from your Android app

The Android Auto client presents the customized UI to users and invokes the functionality from your service as needed. This has two additional advantages:

  • Your app does not implement a UI for Android Auto
  • Your app does not manage user interactions directly

This also means that you do not have to worry about vehicle-specific hardware differences such as screen resolutions, software interfaces, knobs and touch controls.

Testing Your App on an Android Device

The Android Auto SDK includes an APK with a media client implementation, which is similar to those available in compatible vehicles. To test your app with this client:

  1. Get an Android device with a similar form factor to a dashboard screen (like a Nexus 7).
  2. Configure the device for Android development.
  3. Install the APK for the media client from the Android Auto SDK on the device.
  4. Install the APK for your app on the device.
  5. Open the media client app from the Android Auto SDK on the device.
  6. Select your app from the list of available services.

The customized UI for your app appears on the client. You can navigate the content library and play media. If your app provides app-specific actions, these actions appear in the UI controls.

Running your app on Android Auto

Media apps are available on the Google Play Store for compatible Android devices. When users connect their Android device to a compatible vehicle, the Android Auto media client shows a list of all the Android apps installed on the phone that implement the media service interfaces.

When users select one of these apps, the Android Auto media client uses the app’s service to respond to user input and invoke the methods in the media service interfaces to build the UI, navigate the content library, and play media.

[whohit] Google releases developer guidelines for the Android Auto apps [/whohit]

 

Tags

Related Articles