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.

7 comments:

  1. Replies
    1. Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Now

      >>>>> Download Full

      Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download LINK

      >>>>> Download Now

      Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Full

      >>>>> Download LINK m9

      Delete
  2. Thanks for sharing this informative content , Great work
    Leanpitch provides online training in Advanced Scrum Master during this lockdown period everyone can use it wisely.
    Advanced Scrum Master Training Online

    ReplyDelete
  3. Thanks for sharing this informative content , Great work
    Leanpitch provides online training in Product Management Launchpad during this lockdown period everyone can use it wisely.
    Product Management Workshop

    ReplyDelete
  4. Such a great blog! I am looking for these kinds of blogs for last many days. Keep it up. Thanks for sharing it with us
    app and web development company
    Hire xamarin developer
    hire abp.io developers
    Hire dot net developers

    ReplyDelete
  5. Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Now

    >>>>> Download Full

    Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download LINK

    >>>>> Download Now

    Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Full

    >>>>> Download LINK wC

    ReplyDelete