Delpin Susai Raj Tuesday 25 September 2018

Xamarin.Forms- Phone Dialer Using Xamarin Essentials

In this article you will learn how to Make a phone call 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.


Limitation
  • It supports the devices only, not Simulator/Emulator
In this step, write the following code for make a phone call

MainPage.xaml.cs

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

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

        }

        public async Task Call(string number)
        {
            try
            {
                PhoneDialer.Open(number);
            }

            catch (FeatureNotSupportedException ex)
            {
                // Phone Dialer is not supported on this device.
            }
            catch (Exception ex)
            {
                // Other error has occurred.
            }
        }
    }
}




Click the play button to try it out.




I hope you have understood how to Make a phone call Using Xamarin Essentials in Xamarin.Forms.
Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Sunday 23 September 2018

Xamarin.Forms- Send Mail Using Xamarin Essentials

In this blog,  you will learn how to send mail 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.


Limitation
  • It supports the devices only, not Simulator/Emulator
In this step, write the following code for send mail.

MainPage.xaml.cs

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

        async void btnSend_Clicked(object sender, System.EventArgs e)
        {
            List toAddress = new List();
            toAddress.Add(txtTo.Text);
            await SendEmail(txtSubject.Text,txtBody.Text, toAddress);
        }

        public async Task SendEmail(string subject, string body, List recipients)
        {
            try
            {
                var message = new EmailMessage
                {
                    Subject = subject,
                    Body = body,
                    To = recipients,
                };
                await Email.ComposeAsync(message);
            }
            catch (FeatureNotSupportedException fbsEx)
            {
                // Email is not supported on this device
            }
            catch (Exception ex)
            {
                // Some other exception occurred
            }
        }
    }
}



Click the play button to try it out.



I hope you have understood how to send mail Using Xamarin Essentials in Xamarin.Forms.
Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Thursday 20 September 2018

Xamarin.Forms- Browser Using Xamarin Essentials

In this blog,  you will learn how to open web links 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.

In this step, write the following code for open web links using browser.

MainPage.xaml.cs

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

        void btnOpenBrowser_Clicked(object sender, System.EventArgs e)
        {
             uri = new Uri(txtUrl.Text);
             OpenBrowser(uri);
        }

        public async void OpenBrowser(Uri uri)
        {
            await Browser.OpenAsync(uri, BrowserLaunchType.SystemPreferred);
        }
    }
}


Click the play button to try it out.



I hope you have understood how to  open web links Using Xamarin Essentials in Xamarin.Forms.
Thanks for reading. Please share comments and feedback.
Delpin Susai Raj Tuesday 18 September 2018

Xamarin.Forms - Text To Speech Using Xamarin Essentials

In this blog, you will learn Text to Speech. 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.


In this step, write the following code for Text to Speech.

MainPage.xaml.cs


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

        async void btnSpeak_Clicked(object sender, System.EventArgs e)
        {
            await TextToSpeech.SpeakAsync(txtInpout.Text);
        }
    }
}



Click the play button to try it out.


SpeakMultiple


Now, write the following code for Multiple Speak

MainPage.xaml.cs


bool isBusy = false;
public void SpeakMultiple()
{
    isBusy = true;
    Task.Run(async () =>
    {
        await TextToSpeech.SpeakAsync("Hello World 1");
        await TextToSpeech.SpeakAsync("Hello World 2");
        await TextToSpeech.SpeakAsync("Hello World 3");
        isBusy = false;
    });

    
    Task.WhenAll(
        TextToSpeech.SpeakAsync("Hello World 1"),
        TextToSpeech.SpeakAsync("Hello World 2"),
        TextToSpeech.SpeakAsync("Hello World 3"))
        .ContinueWith((t) => { isBusy = false; }, TaskScheduler.FromCurrentSynchronizationContext());
}


Click the play button to try it out.

Speech Settings

Now, write the following code for Speak Settings

MainPage.xaml.cs



public async Task SpeakNow()
{
    var settings = new SpeakSettings()
        {
            Volume = .50,
            Pitch = 2.0
        };

    await TextToSpeech.SpeakAsync("Hello Xamarin", settings);
}


Click the play button to try it out.


Related post



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