How to make an Android app with Xamarin

In a prior submit ^(, we realized how you can arrange Xamarin and Visible Studio for Android building and lined one or two fundamentals of the way it works. We additionally checked out some fundamental code to permit us to rely “clicks” at the display. Test it out in the event you’re searching for a short lived creation to the IDE and what it could possibly do, then rejoin us right here.

On this submit, we’ll dive slightly deeper and create an excessively fundamental app. This can be a simple arithmetic recreation, however in surroundings it up we’ll discover ways to do a couple of issues in Xamarin like maintain variables, use graphics, import categories, and take a look at our recreation on a bodily instrument. Those abilities will naturally will let you broaden extra complicated apps in Xamarin down the monitor.

Growing your first challenge

To get began, load up Visible Studio, click on Document > New Venture and make a selection “Android” at the left beneath Put in > Visible C#. Should you don’t see it there, practice those directions ^(

Pick out “Clean App (Android)” at the appropriate and also you’re just right to move.

When you’re offered along with your first challenge, you’ll in finding your report hierarchy in a window referred to as “Answer Explorer.” In right here, find MainActivity.cs and double click on on it to open up the code to your major task. In the meantime, you’ll have the ability to in finding the useful resource report beneath Sources > structure > Primary.axml. As with Android Studio building, the structure report handles the glance of your app and place of the perspectives, whilst the cs report looks after the common sense and the habits.

While you click on at the axml report, you’ll see a preview of your app open up in a Dressmaker. This may help you drag and drop particular person components into your design and transfer them round. Realize the toolbox choice hidden at the left. Click on that to amplify a menu containing TextViews, ImageViews, and extra for simple get right of entry to.

Making a UI

Let’s get started out by means of giving our recreation a groovy emblem. To try this, first create your emblem on the other hand you would like. Then right-click at the Sources > drawable folder within the resolution explorer and make a selection “Open Folder in Document Explorer.” You’ll be able to then drag and drop your symbol in.

While you go back to Visible Studio, you’ll wish to upload that report for your challenge, which is an extra step on most sensible of the method in Android Studio. Proper-click at the folder once more, then cross to Upload > Current Merchandise and navigate to the graphic within the explorer that pops up.

Now you’ll be able to upload the picture view for your Primary.axml report. Both drag the Symbol View within the fashion designer or upload it in script simply as you most often would. You’ll additionally wish to outline the picture that may display right here and a bit of of the structure:


We’ll be running with a linear structure by means of default, which fits our functions simply positive. If you wish to, you’ll be able to take a look at the illusion within the emulator.

Now that’s so as, let’s upload the remainder of the UI. We’re going to wish to display our maths problem in a textual content view, then supply someplace for the consumer to go into their reaction and create a button for them to post it. I’ve additionally added textual content perspectives on the backside to turn the selection of appropriate and improper solutions. I used a clean textual content view with a weight of “1” and gave the two edit texts a weight of “0.” The load characteristic tells Android which pieces combating for house at the display get precedence. Since the peak of the clean view is “fit dad or mum,” it is going to swell to fill all to be had house and push the two ranking fields down the ground. Should you’re aware of Android Studio, chances are high that you’ll have carried out such things as this previously. In a different way, simply reproduction and paste this code:


Remember to use input_type = “quantity” to your edit textual content to simply accept handiest numerical responses.

You gained’t have the ability to upload new perspectives whilst the app is working, so click on the prevent button subsequent to the play icon to disconnect. I simply stored you hours of frustration; you might be welcome. If you wish to additional customise the glance of your app, click on the paintbrush device within the fashion designer to open up the “theme editor.”

Producing questions

Now that we have got plenty of buttons and issues, it’s time to lead them to do one thing. Get started by means of discovering the query TextView and surroundings it to one thing random. We’ll do this in a brand new approach so we will simply refresh the query each and every time.

Right here’s what it is going to seem like:

int resolution;
        non-public void setQuestion()
            TextView query = FindViewById (Useful resource.Identification.query);
            int no1 = 20;
            int no2 = 32;
            resolution = no1 * no2;
            string Q = "Q: " + no1 + " X " + no2;
            query.Textual content = Q;

The solution is international so we will test it towards the participant’s strive later.

Just about the whole lot right here works the similar as in Android Studio. The one distinction is we aren’t the use of setText to modify the query.

In fact, there’s one evident limitation right here: we’ve handiest set one query thus far, and it’s being proven over and over! Let’s generate a random quantity.

To try this, use those traces:

Random rnd = new Random();
int no1 = rnd.Subsequent(1, 100);
int no2 = rnd.Subsequent(1, 100);

This may generate two random numbers within the vary of 1-99 (so the primary quantity is inclusive and the second one isn’t).

It gained’t paintings straight away since you’ll wish to import the related elegance, or — as Visible Studio places it — you’re lacking a director or meeting reference. As in Android Studio, make a selection the underlined textual content and press Alt + Go back to unravel the issue. You’ll be induced so as to add the use of Gadget; to the highest of your script.

Checking solutions

To let the consumer strive to reply to the query, you first wish to upload an onClick. That is carried out rather otherwise in Xamarin, as you’ll be the use of one thing referred to as “delegate.” Delegate is an object that incorporates details about a technique — on this case, the onClick.

Button post = FindViewById

I’m merely going to name a technique from the onClick, as that’s a rather extra arranged approach to maintain it. Here’s the process:

        int rightAnswers;
        int wrongAnswers;
        non-public void checkAnswer()

Right here we’re simply trying out the price of resolution (which we set previous) towards the price we grabbed from the edit textual content. Int.Parse shall we us seize an integer from the textual content box and as with Java, we use “==” to match the two numbers. We then both building up the selection of appropriate solutions or improper solutions, relying at the consequence, transparent the whole lot, and set the query once more.

Trying out the app and wrapping up

To check this app within the emulator, use the AVD Supervisor to create and release one and hit the fairway play button. Debugging in Visible Studio is good and fast or even highlights traces on your code the place issues went improper. You might want to additionally plug on your Android instrument — simply make a selection it from the drop-down menu subsequent to the play button and hit cross.

The use of Xamarin is excellent for cross-platform building and for many who desire C#. It’s if truth be told a sexy great revel in total too; it’s lovely fast in comparison to Android Studio and has a blank UI.

Should you’d like to look extra Xamarin tutorials, tell us within the feedback down under and we will take a look at such things as switching between actions, the use of libraries, and extra!

Author: Marshmallow

Marshmallow Android is BT Ireland’s Head of Sales for Republic of Ireland domestic multi-site companies, indigenous MNCs and public sector accounts. He is responsible for the direction and control of all sales activity in the region. He has over 10 years management experience from high growth start-ups to more established businesses. He’s led teams in Ireland, India and China across various industries (ICT, On-Line Recruitment, Corporate Training and International Education).

Leave a Reply