In the following picture, we have the complete folder structure of a Xamarin.Android application. We will go through every folder and describe the contents of it, to get a bit more familiarized with the structure of a Xamarin.Android app.
Let’s look at the items inside the Project to see each folder and its purpose.
- It contains the
AndroidManifest.xml file that describes all the requirements for the Xamarin.Android application, including name, version number, and permissions.
- The Properties folder also contains
AssemblyInfo.cs, a .NET assembly metadata file. It is a good practice to fill this file with some basic information about your application.
- It contains the assemblies required to build and run the application.
- If you expand the References folder, you'll see references to .NET assemblies such as
System.Xml, as well as a reference to Xamarin's Mono.Android assembly.
- It contains the files the application needs to run including fonts, local data files, and text files.
- Files included here are accessible through the generated
- It contains application resources such as strings, images, and layouts.
- You can access these resources in code through the generated
The Resources directory contains the following folders and a file name.
- The drawable directory contains the drawable resources such as images and bitmaps.
- The mipmap directory holds drawable files for different launcher icon densities.
- In the default template, the drawable directory contains the application icon file, i.e.
- The layout directory contains Android designer files (
.axml) that define the user interface for each screen or Activity.
- The template creates a default layout called
- The values directory contains XML files that store simple values such as strings, integers, and colors.
- The template creates a file to store string values called
- It is also known as the
Resource class; this file is a partial class that holds the unique IDs assigned to each resource.
- It is automatically created by the Xamarin.Android tools and is regenerated as necessary.
- This file should not be manually edited, as Xamarin.Android will overwrite any manual changes made to it.