Book Image

Xamarin 4.x Cross-Platform Application Development - Third Edition

By : Peppers
Book Image

Xamarin 4.x Cross-Platform Application Development - Third Edition

By: Peppers

Overview of this book

Xamarin is a leading cross-platform application development tool used by top companies such as Coca-Cola, Honeywell, and Alaska Airlines to build apps. Version 4 features significant updates to the platform including the release of Xamarin.Forms 2.0 and improvements have been made to the iOS and Android designers. Xamarin was acquired by Microsoft so it is now a part of the Visual Studio family. This book will show you how to build applications for iOS, Android, and Windows. You will be walked through the process of creating an application that comes complete with a back-end web service and native features such as GPS location, camera, push notifications, and other core features. Additionally, you’ll learn how to use external libraries with Xamarin and Xamarin.Forms to create user interfaces. This book also provides instructions for Visual Studio and Windows. This edition has been updated with new screenshots and detailed steps to provide you with a holistic overview of the new features in Xamarin 4.
Table of Contents (13 chapters)

Looking up GPS location


Using Xamarin.Mobile to track a user's GPS location is as simple as accessing their contacts. There is a similar process for setting up access on iOS and Android, but in the case of location, you don't have to request permission from code. iOS will automatically show the standard alert requesting permission. Android, on the other hand, merely requires a manifest setting.

As an example, let's add functionality to our XamSnap application that tags GPS location to messages within a chat conversation. You can think of this as tagging a location to a photo, as in other apps. Make sure to add Xamarin.Mobile to the project from the Component Store.

First, let's implement a Location class for storing latitude and longitude:

public class Location
{
    public double Latitude { get; set; }
    public double Longitude { get; set; }
}

Next, let's add a Location property to the Message class:

public Location Location { get; set; }

Now, let's create a new ILocationService...