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
- string
- int
- bool
- double
- float
- long
- 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.
- Xamarin.Essentials supports a minimum Android version of 4.4
- 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.
Thanks for the informative article. This is one of the best resources I have found in quite some time.
ReplyDeleteXamarin Training in Chennai
Xamarin Classes
Hadoop Admin Training in Chennai
IELTS Training in Chennai
Japanese Language Course in Chennai
Spoken English in Chennai
spanish courses in chennai
content writing course in chennai
Xamarin Training in Porur
Xamarin Training in Adyar
Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Now
Delete>>>>> 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
Thanks for sharing this informative content , Great work
ReplyDeleteLeanpitch provides online training in Advanced Scrum Master during this lockdown period everyone can use it wisely.
Advanced Scrum Master Training Online
Thanks for sharing this informative content , Great work
ReplyDeleteLeanpitch provides online training in Product Management Launchpad during this lockdown period everyone can use it wisely.
Product Management Workshop
دانلود زیرنویس فارسی سریال The Falcon and the Winter Soldier 2020 فصل 1
ReplyDeleteSuch a great blog! I am looking for these kinds of blogs for last many days. Keep it up. Thanks for sharing it with us
ReplyDeleteapp and web development company
Hire xamarin developer
hire abp.io developers
Hire dot net developers
Xamarin Monkeys: Xamarin.Forms - Application Preferences Using Xamarin Essentials >>>>> Download Now
ReplyDelete>>>>> 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