Xamarin: Build Android and iOS Apps with C#

Learn how you can build both Android and iOS (Cloud-Powered) Apps with C# reusing up to 75% code between platforms.
4.3 (244 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,555 students enrolled
88% off
Take This Course
  • Lectures 140
  • Length 12 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

Course updated July 20th 2016!

Learn the basics of creating both Android and iOS applications using Xamarin, for reusing up to 75% code. Plus, empower your apps with cloud-based services!

Build Android and iOS apps that are empowered by cloud services with up to 75% code sharing between platforms.

  • The Basics of the Xamarin Platform
  • Learning the C# Programming Language
  • Building iOS Apps with C#
  • Building Android Apps with C#
  • Share code between platforms!
  • Facebook Authentication
  • Cloud-based Databases
  • Facebook Integration

Powerful apps that your users will love

Using Xamarin to build your iOS and Android Apps can save you and your team a lot of effort and money. Think about it, instead of coding two apps, you are coding one and deploying it to both android and iOS. All of the time and money you are saving is just amazing!

Get Hired!

Looking for a job? Picture a company that is looking for an Android AND an iOS developer (as separate positions). Now picture yourself going to an interview and telling the recruiter that you can build BOTH apps in the same time as it would take two people to build them, achieve that by reusing code with Xamarin!

Content and overview

Suitable for beginners or anyone who is barely starting on mobile app development. You'll learn the basics of the C# programming language, the basics of iOS and Android app creation and you'll even create real-world apps connected to the cloud.

Also suitable for experienced developers who want to learn what they can do by sharing code between platforms and integrating powerful cloud services in their apps. You'll learn how you can share C# code between Android and iOS projects, access cloud-hosted databases (and create those databases), authenticate your users with Facebook or other services and more!

What are the requirements?

  • Download Xamarin Studio, but don't install it! We'll cover this during the course.
  • You don't need to purchase any Xamarin License, the free Starter Edition will get you started just fine!

What am I going to get from this course?

  • Code using the C# Language
  • Build Android and iOS Apps with up to 75% code reuse between platforms
  • Implement Cloud Services into Mobile Applications

Who is the target audience?

  • Any Mobile Developer who wants to learn how to reuse up to 75% code when building iOS and Android Apps
  • Any Developer who wants to save time and money when building an iOS and Android app by using a cross-platform solution.
  • Any Developer who wants to learn about the absolute best cross-platform solution for Mobile Development (Xamarin is truly native)
  • No prior programming knowledge is needed. This course is probably not for you if you're looking to learn more advance and complex Xamarin usage.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: What is Xamarin

Welcome to this Xamarin course! Create Android and iOS apps sharing C# code!


Where does Xamarin come from? Why does it exist? What is it's goal in life?


Let's talk a bit about Xamarin Test Cloud, one of Xamarin's services.

Let's talk a bit about Xamarin Insights, one of Xamarin's services. The one that let's you know important things about how your apps are used.
Let's talk a bit about Xamarin Test Cloud, one of Xamarin's services. The one that let's you build apps for iOS, Android and more by coding stuff in C# and sharing the stuff! It's all just like a code sharing party among platforms....
Section 2: The Xamarin Platform

A brief introduction to the C# Language, the one we will use to create our iOS and Android apps using Xamarin.


A brief explanation on how the code sharing is going to happen between iOS and Android.


Code away, either with Xamarin Studio, or Visual Studio on Mac or PC, you can build iOS and Android apps with Xamarin.

Section 3: Getting things ready

Download the Xamarin Studio tool you will need.


Get Xamarin Studio ready on Mac OS X.

[New in November 2016] Installing Intel HAXM

Making sure Xamarin Studio is ready on Mac OS X.


Getting Xamarin ready on a Windows PC. We will be getting the tools for us to use the Xamarin Platform with Visual Studio 2015.


Android and iOS Projects on Visual Studio thanks to Xamarin.


You can download the C# code (GitHub repository) for each section (starting on section 5) in the resources of the first lecture of each section. This way you can follow the creation of Android and iOS Apps with the Xamarin project open, or you know, just compare.

Section 4: Version Control with Visual Studio Team Services and Github

Create a free account on Visual Studio Team Services and Github to be able to use those tools.


Clone the repository from Team Services to your PC, add an existing solution or create a new one, sync the solution to the repository and see your code directly from Chrome (or other browsers).


You have the code on the cloud, let's download it onto a Mac computer so you can code from Xamarin Studio.

Publishing changes to Visual Studio Team Services from Xamarin Studio
Bonus: Making the code available on Github
Section 5: [NEW ON JAN 2017] Issues you may find

Issues with the JDK version installed, and the JDK version used to compile packages or projects.

Section 6: An Introduction to the C# Language

C# Hello World, getting started with the C# programming language!


Declaring variables on C#.

Declare variables, not war.


Making a float into an integer, or a double into a float, or...you get the idea, stripping the identity out of variables.


Defining methods (little beings defined as blocks of code that can be called whenever we want, sometimes to do what they do they ask for some values, sometimes they also give values back to whoever called them) with C#.


If (you are reading this)


share how you are liking this lecture descriptions.



If (you are reading this)


tell your friends to enroll on this course!




well, do whatever you want.


If / else with C#.


When we are evaluating more than just true or false, switch blocks are very useful.


Object Oriented Programming with C#. Creating some classes and objects.


This method is legen.....Wait for it......

Don't do anything until you return a value from this async method.



Now, do whatever you need to do, you have awaited the method, you have received some value. Async programming with C# is so easy!

Section 7: Starting with an iOS Project

Our first iOS app using Xamarin and C#!


Defining the UI for an iOS app on Xamarin Studio is just like doing it on Xcode!


Coding an iOS app with C#, how about that!


Some extra details to make the user experience better.

Section 8: Starting with an Android Project

Our first Android app with Xamarin and C#!


I don't always code Android apps, but when I do, I do it with C#.


The frickishly slow Android emulator.

Section 9: [New on November 2016] Android & iOS Emulator Options
Visual Studio Emulator for Android
Google Emulator with HAXM from Intel
The Xamarin Android Player

Remoting the iOS simulators from a macOS computer, to Windows, with the Xamarin iOS Simulator for Windows.

Section 10: [New in November 2016] C# Tutorial - Properties and Methods

Learn about out parameters, that let you "return" more than one value from the execution of a method.


Creating custom constructors, and overloading methods.

Generics (a better way to collect)
Section 11: App Challenge 01 - Hex to RGB

Your mission, should you choose to accept it!

Build this iOS app with Xamarin and C# by yourself before taking a peek at how I did it!


Hold my beer while I define the UI for the iOS app on Xamarin Studio.


Some C# coding for the Android App.


Making a slightly better UI and UX for the Xamarin.iOS app.

Creating the Android UI
Coding the Android Functionality
Final Touches
Section 12: Navigation between pages on both Android and iOS

Getting the UI ready, creating more than one Activities and Views for later navigation between them, let's get all Magallanes and stuff (get it?, because he navigated the world.....)


Some C# code for the navigation between Activities on Android.


A much faster android simulator, the Xamarin Android Player. Like a zillion times faster than Google's.


Here we learn how you can get something from one Activity to another when navigating between them.


Let's now define the same UI for iOS!


Navigating between View Controllers is so much easier than on Android!


You guessed it, how to get some values from one ViewController to another when navigating between them.

Section 13: Working with Lists on Android and iOS

A TableViewController will allow us to list items into the screen.

PS: don't forget to download the code from the resources of this lecture!


Remember OOP? Let's use it!


We need to use a couple of methods from the UITableViewController to populate the TableView with items.


Default cell is so boring, let's create one ourselves! A custom TableViewCell.


And let's do the same on android! Using lists on android is easy, as easy as changing a word....and a couple of more things.


Stock layouts for cells are so doll. Let's get creative and create a custom layout and adapter for out list on Android.


Behind each beautiful custom layout, there's a great custom adapter.


We know how to do this, it's navigation between pages with data flowing between them.

We know how to do this, it's navigation between pages with data flowing between them....on android.

C sharping around.

Section 14: App Challenge 02 - Contact List

Your next mission, should you choose to accept it.


Beautiful UI for a powerful app.


Working with UIBarButtonItems and their identifiers


Linking the Views in the Storyboard to variables inside their corresponding ViewControllers.


From a new contact page, we will add a contact to a list, for later display on a TableView.


Getting the items from a List<T> to display them on the TableView.


From the TableView to a ViewController and displaying the selected item's details.


Picking images from the photo gallery!


Remember emails? Me neither but it seems like a nice touch for the elderly people.

Section 15: Sharing code between Platforms

Moving to the promised land! Share some beautiful C# code between Android and iOS! How's that! :D

Ok, getting to excited about this, it's just you know, XAMAZING!

(noticed what I did there with the X of Xamarin before the "amazing" word?)

Don't forget the resources! There's a link to a GitHub repo with the source-code!


Let's start with the selfish part, the non-sharable UI.


Ah C#, I missed you :*


OK! Share some coke lines! I mean... lines of coke!!! lines of code!!!.... Please don't tell on me.


iOS-specific coding (to be fare, is because of the selfish non-sharable UI)

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Eduardo Rosas, Software Engineer, Xamarin-certified Mobile developer

I am a Software Engineer, Xamarin Certified Mobile developer. But I'm also studying Finance and Banking.

I have developed mobile apps for iOS, Android and Windows. But I've also designed marketing strategies for some local businesses and my own company.

I'm a cofunder of an Internet of Things startup, in which my role goes from software developer, to cloud expert, to project lead, to inventor. But my role also goes to Chief Financial Officer, to CEO, to marketing, to designer and sometimes even teacher.

I have learnt a lot in school and at work about software development, cloud computing and the internet of things. But I've also learnt in my new school and during my amazing journey creating startups and small businesses about finance, banking, marketing, design, leadership and other very interesting stuff.

Above all however. I am human and I'm here to try to make the world a better place in any way I can, one is creating Internet of Things devices that will make life better, another is teaching stuff so you can be better at work, or even create your own company!

Ready to start learning?
Take This Course