James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Android

Android Emulators On Hyper-V Are Pretty Awesome

I have been a mobile developer for 7 years now and since the day I started one of my largest complaints has been the Android emulator. From the very start we had just ARM emulators that were a complete joke to work with as they moved at a snail's pace. From there a bunch of companies attempted to fix the problem by using custom built solutions on top of Virtual Box or Hyper-V. Google has done a lot of work in the last few years to improve the Android emulators with Quick Boot, more customiza…

James Montemagno James Montemagno

PSA: Android Pie Reports "9" for Release Version instead of "9.0"

Let's break down a version number together, or as standard documentation [https://docs.microsoft.com/en-us/dotnet/api/system.version?view=netframework-4.7.2] says, it "represents the version number of an assembly, operating system, or the common language runtime" and that "the format of the version number is as follows (optional components are shown in square brackets ([ and ]): major.minor[.build[.revision]] In the world of .NET this has always been a staple of how we ve…

James Montemagno James Montemagno

Resolving Android Support Library NuGet Installation Issues

Xamarin.Essentials [https://docs.microsoft.com/xamarin/essentials/] has to be my favorite project that I have worked on at Xamarin so far. Bringing together over 30 native platform specific APIs into a single API that creates a linker safe and optimized library that so far has really delighted developers. I did some surveys last week and everyone could not stop saying positive things about the library, which is awesome! One thing stood out though that seems to be causing issues, which is how NuG…

James Montemagno James Montemagno

Xamarin.Forms: Official Bottom Navigation/Bottom Tabs on Android

Bottom tabs on Android... Love them... Hate them... it doesn't matter because Google seems to be all in on them. Top tabs were really designed to sort differerent types of data, while bottom tabs make a lot of sense when you want to use them for your entire application's navigation. It also has the perk that it synchronizes your application design and navigation with the iOS counterpart. Since Xamarin.Forms maps to the native controls, when you create a Tabbed Page you get the tabs exa…

James Montemagno James Montemagno

Xamarin.Forms: Drop Shadows on Android Navigation Toolbar

One thing that always bothered me when developing Xamarin.Forms applications for Android is that for some reason the toolbar area looked flat... well because it was flat: See how it just melds together with the rest of the applicaton. Where is that lovely drop shadow that we know and love?!?!?! Well, it is a bit complicated as that elevation drop shadow comes from the Toolbar and Xamarin.Forms applications only have 1 today that you don't really have access to. I have asked to extend the…

James Montemagno James Montemagno

Xamarin.Forms - Icons in Navigation Toolbar

A somewhat common scenario for mobile apps is to place an icon in the center of the Navigation Toolbar. While I am not sure if this is really best practice in 2018 there still seems to be a lot of demand to do this. What if I was to tell you that this is actually pretty easy to do and for iOS it is built directly into Xamarin.Forms with no need for a custom renderer? Let's take the default "Master/Detail" template for Xamarin.Forms in Visual Studio. It has a few tabs and an about…

James Montemagno James Montemagno

Monitoring Android Activity Lifecycle Events: Return of Current Activity Plugin

It has been nearly two and a half years since I wrote about how to easily get access to the current Android Activity [https://montemagno.com/access-the-current-android-activity-from-anywhere/] with just a few lines of code. This code led to the creation of my Current Activity Plugin [https://github.com/jamesmontemagno/CurrentActivityPlugin] for Xamarin.Android apps and library creators to easily get access to the current Activity. Since then it has been the core of many of my plugins and has bee…

James Montemagno James Montemagno

Building Xamarin.Android Apps in Azure DevOps (VSTS) with Hosted Agents!

I recently wrote about how to build any Xamarin.iOS application inside of Visual Studio Team Services [https://montemagno.com/building-xamarin-ios-apps-in-team-services-vsts-with-hosted-macos-agents/] using Hosted macOS Agents for free! I have updated the guide a little bit if you are leveraging .NET Standard libraries to ensure that you build with MSBuild, which is pretty important seeing that all of the new templates will soon use these. That had me thinking "I wonder if there are any sm…

James Montemagno James Montemagno