Advanced Topics

Deep Dive + Specialized Guides

PDF for offline use

Let us know how you feel about this

Translation Quality


0/250

last updated: 2016-07

The advanced topics section gives you a much deeper understanding of the internals of Xamarin.Android and explains more complex features such as the linker, different resources and the API design.

Accessibility

This page describes how to use the Android Accessibility APIs to build apps according to the accessibility checklist.

API Design

In addition to the core Base Class Libraries that are part of Mono, Xamarin.Android ships with bindings for various Android APIs to allow developers to create native Android applications with Mono.

At the core of Xamarin.Android there is an interop engine that bridges the C# world with the Java world and provides developers with access to the Java APIs from C# or other .NET languages.

Application Package Sizes

This article examines the constituent parts of a Xamarin.Android application package and the associated strategies that can be used for efficient package deployment during debug and release stages of development.

Binding a Java Library

This guide explains how to incorporate Java libraries into Xamarin.Android apps by creating a Bindings Library.

Build ABI Specific APKs

This guide discusses how to create Android APK's that support a single CPU architecture and ABI.

Command Line Emulator

This article briefly touches starting the emulator via the command line.

Environment

This article describes the Xamarin.Android execution environment and the Android system properties that influence program execution.

Garbage Collection

This article covers the different types of objects that exist in a Mono for Android application, and how and when garbage collection occurs. It also provides some guidance on how to help the garbage collector.

GDB

This article explains how to use gdb for debugging a Xamarin.Android application.

Limitations

This article outlines the limitations of Xamarin.Android as compared to using desktop Mono.

Installing a System App

This guide will discuss how to install a Xamarin.Android app as a System Application on an Android device or as part of a custom ROM.

Java Integration Overview

This article provides an overview of the ways that developers can reuse existing Java components in Xamarin.Android apps.

Linking on Android

This article discusses the linking process used by Xamarin.Android to reduce the final size of an application. It describes the various levels of linking that can be performed and provides some guidance and troubleshooting advice to mitigate errors that might result from using the linker.

Localization

This article explains how to localize a Xamarin.Android into other languages by translating strings and providing alternate images.

Multi-Core Devices & Xamarin.Android

This article describes the different types Application Binary Interfaces that a Xamarin.Android application can be compiled for, and contains important information about ARMEABI and SMP devices.

Renderscript

This guide discusses Renderscript.

Setting the Debuggable Attribute

This article explains how to set the debuggable attribute so that tools such as adb can communicate with the JVM.

Using Native Libraries

This article explains how to embed native libraries in a Xamarin.Android application.

Working with AndroidManifest.xml

This article introducts the AndroidManifest.xml file, and how it maybe be used to control functionality and describe the requirements of a Mono for Android application.

Writing Responsive Applications

This article discusses how to use threading to keep a Xamarin.Android application responsive by moving long-running tasks on to a background thread.

Xamarin for Java Developers

This article provides an introduction to C# programming for Java developers, focusing primarily on the C# language features that Java developers will encounter while learning about Xamarin.Android app development.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.