Android Automotive OS est de plus en furthermore reconnu, vehicle les constructeurs cars cherchent à offrir à leurs clientele une expérience plus personnalisée. Ici, nous partageons notre information pour créer la première software pour AAOS.
Avant de commencer, lisez notre premier report sur AAOS et découvrez notre revue pour savoir à quoi vous attendre. Essayons de faire un straightforward Bonjour le monde software pour android automobile. Pour obtenir un IDE, rendez-vous sur Aperçu d’Android Studio | Développeurs Android et obtenez une model canari :

À l’étape suivante, préparez le SDK, vérifiez et téléchargez l’image du système auto dans le gestionnaire de SDK. Vous pouvez en obtenir depuis api32, Android 9 ou Android 10, mais je ne recommande pas le additionally récent car or truck il est très lent et plante beaucoup en ce instant. Il y a aussi des illustrations or photos Volvo et Polestar.
Pour ceux dont vous avez besoin d’ajouter des liens vers les websites de mise à jour du SDK :
https://developer.volvocars.com/sdk/volvo-sys-img.xml
https://developer.polestar.com/sdk/polestar2-sys-img.xml

Démarrez un nouveau projet, accédez à Fichier> Nouveau projet et choisissez l’automobile avec aucune activité

Un projet agréable et propre doit être créé, sans aucune classe : Aller à construct.gradle et ajoutez la bibliothèque d’applications de voiture dans les dépendances, actualisez le projet pour qu’il obtienne

notre nouvelle dépendance :
implementation "androidx.car.app:app-automotive:1.2.-rc01"
Écrivons du code, d’abord notre classe display screen. Nommez-le comme vous le souhaitez et faites-le étendre la classe Display screen à partir de android.motor vehicle.application offer et faites-lui implémenter les méthodes requises:
community course GrapeAppScreen extends Display
general public GrapeAppScreen(@NonNull CarContext carContext)
super(carContext)
@NonNull
@Override
public Template onGetTemplate()
Row row = new Row.Builder()
.setTitle("Thats our Grape Application!").build()
return new PaneTemplate.Builder(
new Pane.Builder()
.addRow(row)
.create()
).setHeaderAction(Motion.Application_ICON).develop()
Cela devrait créer un écran uncomplicated avec notre icône et notre titre, créez maintenant une autre classe s’étendant CarAppService à partir du même paquet et aussi lui faire implémenter le méthodes requises. De createHostValidator() renvoie une méthode statique qui autorise tous les noms d’hôte dans le cadre de ce didacticiel et renvoie une toute nouvelle session avec notre écran dans onCreateSession()passer CarContext utilisant Session classer getCarContext() méthode:
public class GrapeAppService extends CarAppService
community GrapeAppService()
@NonNull
@Override
public HostValidator createHostValidator()
return HostValidator.Let_ALL_HOSTS_VALIDATOR
@NonNull
@Override
public Session onCreateSession()
return new Session()
@Override
@NonNull
public Display onCreateScreen(@Nullable Intent intent)
return new GrapeAppScreen(getCarContext())
Ensuite, passez à AndroidManifest et ajoutez diverses fonctionnalités dans la balise principale du manifeste :
À l’intérieur de la balise Application, ajoutez notre service et notre activité, n’oubliez pas minCarApiLevel vehicle l’absence de cela lèvera une exception au démarrage de l’application :
Nous pouvons maintenant télécharger notre software sur l’appareil, vérifier que vous avez créé un émulateur car, utiliser la configuration automobile et exécuter. L’application est exécutée dans Google Automotive App Host, donc s’il s’agit de votre première software sur cet appareil, vous devrez peut-être vous rendre sur le Play Store et l’obtenir.

Voilà à quoi ça ressemble:

La dernière selected, nous allons ajouter un bouton de navigation qui fera apparaître un Pain grillé. Modifier onGetTemplate() dans Filtrer classe, ajouter Action et ActionStrip:
Action motion = new Motion.Builder()
.setOnClickListener(
() -> CarToast.makeText(getCarContext(), "Hi!", CarToast.Length_Brief).display())
.setTitle("Say hi!")
.create()
ActionStrip actionStrip = new
Ajoutez-le à Modèle de volet :
return new PaneTemplate.Builder(
new Pane.Builder()
.addRow(row)
.construct()
) .setActionStrip(actionStrip)
.setHeaderAction(Motion.App_ICON)
.construct()
C’est notre software HelloWorld :

L’exemple d’application HelloWorld est maintenant opérationnel à l’aide de Automobile App Library. Il s’occupe d’afficher et d’arranger tout sur l’écran pour nous. La seule responsabilité est d’ajouter des écrans et des actions que nous aimerions avoir (et un peu de configuration). Consultez la bibliothèque d’applications Auto pour en savoir additionally sur ce qui peut être fait avec, jouez avec la création de votre software et consultez bientôt notre site pour additionally de contenu sur la création d’applications AAOS.
