.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