I made a mistake / misunderstanding when writing the previous blog: Xamarin.Android vs. Native Android - How you implement Java Listener in C#, which is about how to transfer Java code to C# coding when doing Xamarin.Android project. (Means that sometimes you will have to implement some code in C# by refering to some code from native Android sample which is written in Java.)

I will keep that blog because it’s still correct but not the best practice as I can think of for now. So you can think of this as a better one.


Recently I am reading a pdf which is from Microsoft official site for Xamarin.Android development. I read about the Downloadable Fonts which has more benefits than you packaged the font into the apk file.

For detail information about Downloadable Fonts, check here: Downloadable Fonts.

In the above link, you will see there is a sample from Google that demonstrate how this works.

Here is the link: android-DownloadableFonts

But I am learning Xamarin.Android so I thought maybe I can try to implement it with a Xamarin.Android version. (Usually I will use Xamarin.Forms for developing Xamarin app.)

Then the nightmare happened, I found it really hard to implement the code just by reading the Java code from Google’s sample, even C# and Java are quite similar.

The good thing is that I suddenly found that Xamarin team has done a sample for Xamarin.Android also, it’s exactly the same as Google’s sample. Which means that someone has done the same thing as I want to.

Here is the link: Xamarin.Android DownloadableFonts Sample

I checked the code and it’s quite good and elegant.

So, what you will see in this blog is that I am gonna use these 2 sample projects to get through some important points and practice that how you can do Xamarin.Android development if you need to refer to a native Android project.

Read More

It’s really important for engineers who use Xamarin to develop Android app to know how to transfer Java code to C# code.

Recently I am trying to implement something in Xamarin.Android project (Not Forms) and I encountered lots of issues.

What I can find online is mostly Android native documents from Google. And I do find one sample project from Google that is implemented in Android Studio using Java.

So what I have to do is to understand how to transfer Java code to C# code, otherwise you will find it quite difficult to use pure Xamarin.Android project.

Read More


In recent years, it becomes more and more common that enterprises are tranferring their websites to mobile apps. By transferring, I mean that they want both versions of their apps. That will give us a scenario that our users, especially for Microsoft customers, they will want a same database structure even a same set of Web API to use for both Website and mobile apps.

This blog is exactly the same situation here. I got one customer who already has a website and its Web API is based on .NET Core 2.0. However, he’s trying to use the Xamarin.Forms to build an app and also using the Azure Mobile Apps SDK to enable the offline sync feature in his app.

Of course, he wants the Web API to be the same for both Website and Mobile app.

What is Offline Sync?

If you use a mobile app, you will be handling data sync with the database. When the network is good on your mobile, you will never meet issue to query/add/update/delete from database and sync back with your mobile app.

However, you will never be confident that your mobile will always be under a good network situation. That’s where the offline sync fit in.

Offline sync allows users to interact with a mobile application, viewing, adding, or modifying data, even where there isn’t a network connection. Changes are stored in a local database, and once the device is online, the changes can be synced with the Azure Mobile Apps instance. This article explains how to add offline sync functionality to a Xamarin.Forms application.

Read More


I got one customer who wants to achieve the below effect for Android Secondary Toolbar:

Originally I thought it might be a really bad thing for Xamarin only because I assume that Android native can directly achieve this.

However, after further analyzing, I found that the reason why Xamarin Secondary ToolbarItem cannot do as this is due to Android native is also doing the same.

Read More


I got one customer who wanted to find all the installed Windows Store App using WPF platform. However, you cannot code in WPF because the current SDK for querying such information only supports UWP, not WPF.

After some research, there is one PowerShell script Get-AppxPackage -AllUsers which will return all the installed Windows Store apps under all the user accounts in that PC.

Reference link:Get-AppxPackage

So what we will show here is how to use .NET library to call PowerShell scripts.

Read More


This article is a further topic of last WebView version. I mentioned in that article, the pro for WebView version is easy to implement. However, using that approach, we will totally depend on the bot development, there is no much things to do in Xamarin development.

Also, Google has published lots of restricts to use WebView.

In this article, I will introduce another approach which is also recommended by myself. We are going to use Direct Line Service to communicate with our Bot using Xamarin app.

Read More


Nowaways Microsoft focuses on the Azure products especially in the AI area. This article is to demonstrate how to migrate Bot Framework into Xamarin.

The reason why I wrote this article is simple. I support Xamarin product in MS, and I’d love to learn the technology for Bot. After this article, I will write different topics also, such as how to migrate Azure Cognitive Service to Xamarin, etc.

Technical Skills

  • Xamarin (WebView)
  • Bot Framework (Web Chat)

What you need to know

You should have some basic knowledge on Xamarin and Bot Framework to read this article. This article will demonstrate how to migrate a Web App Bot into Xamarin application. Since it’s a web app bot, so it’s possible to use it directly in the WebView.

There will be one more artile regarding how to use Direct Line Service as the channel to communicate between Bot and Xamarin. In that case, the channel of the Bot will be Direct Line.

Read More


One of the most common issues that we will meet when developing with Xamarin is that there are lots of the libraries exist in Android or iOS but not in .NET. It’s the same reason as WinPhone’s failure. There are lots of applications exist in Android and iOS but you cannot find in Microsoft Store.

To resolve this issue, Xamarin has a project type which is called Binding project. Using this, you will be able to binding a jar/aar package under Android or objective-C library under iOS in Xamarin project as a dll library. You can even import a native library written in C/C++ (but we will not cover in this article).

In this article, we will focus on how to bind a jar package in Xamarin. Aar package is the same actually only with some resouces packaged in that library.


There are 2 aspects in this article. First is that I will reference an article written by MS senior developer for Xamarin, these are the concepts on how to do the troubleshooting. The second aspect is what I have done while dealing with Xamarin.Android binding project and how I used the knowledge in the first aspect.

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now