Delpin Susai Raj Friday 26 October 2018

Xamarin.Forms - Get Distance between two Coordinates using GeoLocation Using Xamarin.Essentials

In this blog,  you will learn how to Get Distance between two Coordinates Using
Xamarin.Essentials in Xamarin forms. 


Introduction



Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support

Xamarin.Essentials supports platforms and operating systems

Platform        Version

Android       4.4 (API 19) or earlier
iOS               10.0 or higher
UWP      10.0.16299.0 or earlier

Prerequisites
  • Visual Studio 2017(Windows or Mac)
Setting up a Xamarin.Forms Project

Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.



Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml

Click the play button to try it out.



Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).



Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.


  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.


In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs


Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs

iOS

No additional setup required.

UWP

No additional setup required.

Permissions - Android

AndroidManifest.xml

Permissions - iOS


  • Privacy - Location When In Use Usage Description


In this step, write the following code for Get Distance between two Coordinates using GeoLocation using Xamarin.Essentials.

MainPage.xaml.cs

Click the play button to try it out.



I hope you have understood how to Get Distance between two Coordinates Using Xamarin Essentials in Xamarin.Forms.

Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Thursday 25 October 2018

Xamarin.Forms - Geocoding Get Full Address(Placemark) Using Xamarin.Essentials

In this blog, you will learn how to get full address using Latitude and Longitude Using Xamarin.Essentials in Xamarin forms. 


Introduction



Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support

Xamarin.Essentials supports platforms and operating systems

Platform  Version
Android         4.4 (API 19) or earlier
iOS                10.0 or higher
UWP        10.0.16299.0 or earlier

Prerequisites
  • Visual Studio 2017(Windows or Mac)
Setting up a Xamarin.Forms Project

Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.



Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml


Click the play button to try it out.



Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).



Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.
  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.
In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs

Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs

iOS

No additional setup required.

UWP

No additional setup required.

Permissions - Android

AndroidManifest.xml

Permissions - iOS
  • Privacy - Location When In Use Usage Description
In this step, write the following code for get full address using Latitude and Longitude using Geocoding in Xamarin.Essentials.

MainPage.xaml.cs

Click the play button to try it out.



I hope you have understood how to get full address using Latitude and Longitude Using Xamarin Essentials in Xamarin.Forms.

Thanks for reading. Please share comments and feedback.

Xamarin.Forms- GeoCoding Using Xamarin Essentials

In this blog,  you will learn how to get Location by address Using Xamarin.Essentials in Xamarin forms. 


Introduction




Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support

Xamarin.Essentials supports platforms and operating systems

Platform     Version

Android     4.4 (API 19) or earlier
iOS            10.0 or higher
UWP    10.0.16299.0 or earlier

Prerequisites
  • Visual Studio 2017(Windows or Mac)
Setting up a Xamarin.Forms Project

Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.



Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml

Click the play button to try it out.





Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).



Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.
  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.

In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs

Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs

iOS

No additional setup required.

UWP

No additional setup required.

Permissions - Android

AndroidManifest.xml

Permissions - iOS
  • Privacy - Location When In Use Usage Description
In this step, write the following code for get Latitude and Longitude by address using Xamarin.Essentials.

MainPage.xaml.cs

Click the play button to try it out.



I hope you have understood how to get Location by address Using Xamarin Essentials in Xamarin.Forms.

Thanks for reading. Please share comments and feedback.

Xamarin.Forms- Geolocation Using Xamarin Essentials

In this blog,  you will learn how to get current Location Using Xamarin.Essentials in Xamarin forms. 


Introduction



Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support

Xamarin.Essentials supports platforms and operating systems

Platform     Version

Android     4.4 (API 19) or earlier
iOS            10.0 or higher
UWP          10.0.16299.0 or earlier

Prerequisites
  • Visual Studio 2017(Windows or Mac)
Setting up a Xamarin.Forms Project


Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.



Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml

Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).



Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.
  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.

In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs

Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs

iOS

No additional setup required.

UWP

No additional setup required.

Permissions - Android

AndroidManifest.xml

Permissions - iOS
  • Privacy - Location When In Use Usage Description
In this step, write the following code for get current location using Xamarin.Essentials.

MainPage.xaml.cs

Click the play button to try it out.




I hope you have understood how to get current Location Using Xamarin Essentials in Xamarin.Forms.

Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Tuesday 16 October 2018

Xamarin.Forms - Application Preferences Using Xamarin Essentials

In this blog,  you will learn how to use Application preferences Using Xamarin.Essentials in Xamarin forms. 


Introduction



Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support
Xamarin.Essentials supports platforms and operating systems

Platform            Version
Android             4.4 (API 19) or earlier
iOS                    10.0 or higher
UWP            10.0.16299.0 or earlier

Application Storage

Xamarin Android - Shared Preferences

Android provides many ways of storing the data of an application. One of the ways is called Shared Preferences. Shared Preferences allow you to save and retrieve data in the form of key, value pair.

In order to use shared preferences, you have to call a method getSharedPreferences() that returns a SharedPreference instance pointing to the file that contains the values of preferences.

Xamarin iOS - NSUserDefaults

The NSUserDefaults class provides a way for iOS Apps and Extensions to programmatically interact with the system-wide Default System. By using the Defaults System, the user can configure an app's behavior or styling to meet their preferences (based on the design of the app). For example, to present data in Metric vs Imperial measurements or select a given UI Theme.

UWP - ApplicationDataContainer

Represents a container for app settings. The methods and properties of this class support creating, deleting, enumerating, and traversing the container hierarchy.

Xamarin Forms - Properties Dictionary

The Application subclass has a static Properties dictionary which can be used to store data, in particular for use in the OnStart, OnSleep, and OnResume methods. This can be accessed from anywhere in your Xamarin.Forms code using Application.Current.Properties.

The Properties dictionary uses a string key and stores an object value.

Xamarin.Essentials

Preferences class helps to store application preferences in a key/value store using Xamarin.Essentials

Preferences Supported Data Types


  1. string
  2. int
  3. bool
  4. double
  5. float
  6. long
  7. DateTime


Prerequisites


  • Visual Studio 2017(Windows or Mac)


Setting up a Xamarin.Forms Project


Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.



Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml




Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).



Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.


  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.


In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs


Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs


iOS

No additional setup required.

UWP

No additional setup required.


Store Value

The Preferences uses a string key and stores an object value.


MainPage.xaml.cs

void btnAdd_Clicked(object sender, System.EventArgs e)
        {
            AddValue("mykey", txtValue.Text);
            txtValue.Text = string.Empty;
            DisplayAlert("Success", "Value Stored", "OK");
        }

//Add Value to Preference
public void AddValue(string key, string value)
        {
            Preferences.Set(key, value);
        }



Click the play button to try it out.



Get Value

The Preferences stores objects so you need to cast its value before using it.

MainPage.xaml.cs


void btnGet_Clicked(object sender, System.EventArgs e)
        {
            string value = GetValue("mykey");
            DisplayAlert("Success", "Your Value is "+value, "OK");
        }


//Get Value from Preference
public string GetValue(string key)
        {
            return  Preferences.Get(key,"");
        }



Click the play button to try it out.



Remove Value

If you want to remove values, you can remove them.

MainPage.xaml.cs


void btnRemove_Clicked(object sender, System.EventArgs e)
        {
            DeleteValue("mykey");
            DisplayAlert("Success", "Removed", "OK");
        }


//Remove Preference Value
        public void DeleteValue(string key)
        {
            Preferences.Remove(key);
        }




Click the play button to try it out.




Clear Values

If you want clear all Properties, you can use the following code.

MainPage.xaml.cs

void btnClear_Clicked(object sender, System.EventArgs e)
        {
            Clear();
            DisplayAlert("Success", "All Values Cleared", "OK");
        }

//Clear all Preference Values
        public void Clear()
        {
            Preferences.Clear();
        }


Click the play button to try it out.



I hope you have understood how to use Application preferences Using Xamarin Essentials in Xamarin.Forms.
Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Wednesday 10 October 2018

Xamarin.Forms- Send SMS Using Xamarin Essentials

In this blog, you will learn how to Send SMS Using Xamarin.Essentials in Xamarin forms. 


Introduction



Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.

Xamarin.Essentials 



Xamarin.Essentials plugin provides 20+ cross-platform APIs for  mobile application development. Xamarin.Essentials API works with all Xamarin.Forms, Xamarin.Android, Xamarin.iOS, or UWP application that can be accessed from shared code. When we are developing Xamarin with Android, iOS and UWP apps but now Xamarin.Essentials overcome the problem, developers can access every native platform API using C#. This plugin provides many APIs so initially, there is no need of more plugins for Xamarin. Xamarin.Essentials plugin impacts your app's minimum size.


Platform Support

Xamarin.Essentials supports platforms and operating systems

Platform         Version

Android         4.4 (API 19) or earlier
iOS                10.0 or higher
UWP         10.0.16299.0 or earlier


Prerequisites
  • Visual Studio 2017(Windows or Mac)
Setting up a Xamarin.Forms Project

Start by creating a new Xamarin.Forms project.  you’ll learn more by going through the steps yourself.
Choose the Xamarin.Forms App Project type under Cross-platform/App in the New Project dialog.




Name your app, select “Use Portable Class Library” for shared code, and target both Android and iOS.



You probably want your project and solution to use the same name as your app. Put it in your preferred folder for projects and click Create.



You now have a basic Xamarin.Forms app. Click the play button to try it out.



Setting up the User Interface

Go to MainPage.Xaml and write the following code.

MainPage.xaml




Click the play button to try it out.



Add Xamarin Essentials

In this step, add Xamarin.Essentials to your project. You can install Xamarin.Essentials via NuGet, or you can browse the source code on GitHub.

Go to Solution Explorer and select your solution. Right-click and select "Manage NuGet Packages for Solution". Search "Xamarin.Essentials" and add Package. Remember to install it for each project (PCL, Android, iO, and UWP).




Xamarin.Essentials requires platform-specific setup

Android

The following steps are necessary for Android.


  1. Xamarin.Essentials supports a minimum Android version of 4.4
  2. Target Android version for compiling must be 8.1, API level 27.



In the Android project's MainActivity that is launched Xamarin.Essentials must be initialized in the OnCreate method.

MainActivity.cs

Xamarin.Essentials must receive any OnRequestPermissionsResult. write the following code for runtime permission.

MainActivity.cs

iOS

No additional setup required.

UWP

No additional setup required.


Limitation
  • It supports the devices only, not Simulator/Emulator

In this step, write the following code for sending SMS

MainPage.xaml.cs

using Xamarin.Forms;
using Xamarin.Essentials;
namespace XamarinEssentials
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
        protected override void OnAppearing()
        {
            base.OnAppearing();
        }

        async void btnSendSms_Clicked(object sender, System.EventArgs e)
        {
            if(!string.IsNullOrEmpty(txtNumber.Text))
            {
                await SendSms(txtMessage.Text,txtNumber.Text);
            }

        }

        public async Task SendSms(string messageText, string recipient)
        {
            try
            {
                var message = new SmsMessage(messageText, recipient);
                await Sms.ComposeAsync(message);
            }
            catch (FeatureNotSupportedException ex)
            {
                await DisplayAlert("Failed", "Sms is not supported on this device.", "OK");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Failed", ex.Message, "OK");
            }
        }
    }
}




Click the play button to try it out.



I hope you have understood how to Send SMS Using Xamarin Essentials in Xamarin.Forms.
Thanks for reading. Please share comments and feedback.