.NET MAUI for cars: Android Auto Tutorial

Christian Strydom

Learn how to build your own Android Auto app with .NET MAUI in this step-by-step tutorial. In part one, I’ll guide you through building your very own Android Auto app with .NET MAUI.

Don’t forget to subscribe to my channel so you don’t miss part two, where we’ll be building an Apple CarPlay app with .NET MAUI. If you found this video helpful, give it a thumbs up to help others discover it too.

Part 2 covering .NET MAUI for Apple CarPlay is officially live! https://youtu.be/Yg2I6NbHZp8

Disclaimer: This channel and videos are created in my spare time and are a product of myself (Christian Strydom). They are NOT affiliated or endorsed by any employer that I might work for in any way. The opinions and views are my own.

πŸ’» Environment setup:
– Android Studio: https://developer.android.com/studio?gclid=Cj0KCQiA6rCgBhDVARIsAK1kGPJzpr1tvuEJrEnr7enayclE2B8vh2-hoL6-R3MUISbdUd5PtnP_zi8aArCMEALw_wcB&gclsrc=aw.ds
– Visual Studio: https://visualstudio.microsoft.com/vs/community/

πŸ› οΈ Other tools:
– Scrcpy: Control and see your phone’s screen on your PC, Mac or Linux machine https://github.com/Genymobile/scrcpy

πŸ“ƒ Documentation:
– Android for cars: https://developer.android.com/cars
– Android app quality for cars: https://developer.android.com/docs/quality-guidelines/car-app-quality
– Android for Cars App Library design guidelines: https://developer.android.com/static/training/cars/Android%20for%20Cars%20App%20Library%20design%20guidelines.pdf
– Don’t think your Android Auto app fits any of the available categories? You can request a new category here: https://docs.google.com/forms/d/e/1FAIpQLSdcobt-pJ9BRK7nPXPAhgSnyqIXPGNB3Dh_nNKtB-kun8OSow/viewform

πŸ§‘β€πŸ’»Code and useful info:
– GitHub source code repo: https://github.com/christian-strydom/MauiForCars
– Location where Android Auto Head Unit emulator is installed: C:Users%USERNAME%AppDataLocalAndroidSdkextrasgoogleauto
– CMD command to forward your adb port so that the head unit emulator will work with your phone: adb forward tcp:5277 tcp:5277
– Attributes to add on top of your CarAppService:
[Service(Exported = true)]
[IntentFilter(new string[] { “androidx.car.app.CarAppService” }, Categories = new[] { “androidx.car.app.category.POI” })]

β˜• Buy me a coffee: https://bmc.link/cvstrydom
πŸ‘• Buy developer swag: https://christian-strydom.myspreadshop.com/

πŸ“– What I’m reading:
Limitless by Jim Kwik: https://amzn.to/3B5eR49

My Setup:
πŸ’» Asus TUF Gaming Laptop (Works with Nvidia Broadcast): https://amzn.to/3NPu8xz
πŸ’» MacBook Pro 2021: https://amzn.to/3M4cdSu
πŸŽ™οΈ FiFine Studio Condenser USB Microphone: https://amzn.to/3M2leLT
⌨️ Royal Kludge RK100 mechanical keyboard: https://amzn.to/41fbmTA
🐁 Logitech M720 triathlon mouse: https://amzn.to/3VIfoCA
πŸͺŸ Samsung 27″ Curved Monitors: https://amzn.to/3MgADsl
πŸ’ˆ North Bayou Dual Monitor stand: https://amzn.to/44CHlQq
πŸ“˜ iPad Pro M1: https://amzn.to/41oPlSo

πŸ“±My links:
– Websites:
– https://www.cvstrydom.co.za
– https://stackoverflow.co.za
– YouTube channel: https://www.youtube.com/@CVStrydom
– Github page: https://github.com/christian-strydom
– Twitter: https://twitter.com/cvstrydom

⏲️ Video timestamps:
00:00 Introduction
00:30 Demo
02:42 Documentation background
05:00 Environment setup
06:20 Project setup
14:45 List template
23:22 Android Auto phone settings for emulator
24:18 CMD port forwarding
25:17 First hello world demo run
27:46 Images from shared resources to Android Auto
31:05 Navigation OnClickListener
37:32 Message template
41:00 Toast message OnClickListener
44:03 Second demo run
44:30 Pane template
51:08 Grid template
55:52 Final demo run
56:39 Goodbyes and questions