Skip to main content

Posts

Mocking HTTP response in Simple.OData client

·3 mins

3rd party libraries never seems to be documented enough. It’s the old truth that every software developer learns sooner or later. In most cases after dozens of hours spent on trying to figure out “what the hell is wrong with my/that code!?”. This post is about one of such “hidden features” in Microsoft oData client - Simple.OData.

Badge icon notification in Xamarin.Forms ToolbarItems on iOS

·5 mins

Most of iPhone and iPad users can easily recognize icon badges - the pattern for application notifications typically presented in app icon or navigation bar. People that got used to this pattern might want to have the same user experience in their Xamarin Forms application. This post describes how to customize the navigation toolbar in iOS to dynamically display such elements.

Tappable label in Xamarin.Forms

·2 mins

Adding tap/click handling to Xamarin.Forms Label is fairly easy. You can do it both in XAML or code behind using GesureRecognizers collection like it is described in this recipe. Unfortunately if you plan to use this solution intensively in your app it will add quite a lot of repeatable code for setting up those handlers (especially in XAML)

Cleaning ADAL token cache on Android and iOS

·2 mins

Microsoft Azure Active Directory Authentication Libraries (ADAL) is a popular set wrapper around Azure Active Directory API distributed in the form of platform and language specific components. It’s especially useful in multi-platform applications that integrate with various AD APIs such as Outlook or Graph API. It not only wraps the oAuth endpoints but automates the entire application flow for retrieving, refreshing and persisting tokens.

How to setup Ninject as the default DI container in MvvmCross?

·3 mins

When you build a multi-platform application in .NET, especially for the mobile, you typically choose between two approaches. One is to code the shared UI layer commonly with Xamarin.Forms (you will still need to have some parts to be placed in platform projects, like custom renderers or providers). The second is to put the entire UI code in platform-specific projects. In this approach you can use the full power of each platform features (like fragments on Android). Both solutions allow for sharing common business logic between all the platforms. On the other hand full implementation of MVVM pattern in the second approach can be tricky and time consuming. The solution is to use 3rd party library; and here comes the MvvmCross. It covers many more areas than the pure MVVM pattern: