Delpin Susai Raj Wednesday 20 December 2017

Xamariin.Forms- Working With Files Using DependencyService

In this article you will learn how to Create a file using DependencyService 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.

User-writable-storage can be implemented natively and then accessed using the DependencyService .

DependencyService

DependencyService allows apps to call into platform-specific functionality from shared code. This functionality enables Xamarin.Forms apps to do anything that a native app can do.

DependencyService is a dependency resolver. In practice, an interface is defined and DependencyService finds the correct implementation of that interface from the various platform projects.


Xamarin.Forms apps need three components to use DependencyService:

  1. Interface – The required functionality is defined by an interface in shared code.
  2. Implementation Per Platform – Classes that implement the interface must be added to each platform project.
  3. Registration – Each implementing class must be registered with DependencyService via a metadata attribute. Registration enables DependencyService to find the implementing class and supply it in place of the interface at run time.
  4. Call to DependencyService – Shared code needs to explicitly call DependencyService to ask for implementations of the interface.

The Following Image Explain DependencyService

Prerequisites
  • Visual Studio 2017(Windows or Mac)
The steps given below are required to be followed in order to Create a file using DependencyService in Xamarin.Forms, using Visual Studio.


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.



Creating Interface

Create a interface in Xamarin.Forms PCL

Go to Solution—>PCL—>Right click—>New—>Empty Class—>IFileReadWrite.cs



Now, Write the following code.


IFileReadWrite.cs




Implementation per Platform


Android Implementation

Go to Solution—>Droid—>Right click—>New—>Empty Class—>FileHelper.cs



Now, Write the following code given below.

FileHelper.cs




iOS Implementation

Go to Solution—>iOS—>Right click—>New—>Empty Class—>FileHelper.cs



Now, Write the following code given below.

FileHelper.cs




Setting up the User Interface.

Go MainPage.Xaml and write following code.

MainPage.Xaml




Call to DependencyService

In this step Call to DependencyService for your PCL.




Click the play button to try it out.



I hope you will understand how to Create a file using use DependencyService.






Summary

This was the process of how to Create a file using DependencyService in Xamarin.Forms.

Thanks For Reading.

Please share comments and feedback.

4 comments:

  1. Thanks for sharing this informative content , Great work
    Leanpitch provides online training in ICP CAT during this lockdown period everyone can use it wisely.
    ICP-CAT certification

    ReplyDelete
  2. Thanks for sharing this informative content , Great work
    To crack SCrum master interview : Scrum master interview questions

    ReplyDelete
  3. Thanks for sharing this.,
    Leanpitch provides online training in Scrum Master during this lockdown period everyone can use it wisely.
    Join Leanpitch 2 Days CSM Certification Workshop in different cities.

    csm certification

    ReplyDelete
  4. Nice blog! I really loved reading through this Blog... Thanks for sharing such a very interesting post with us and keep blogging.
    Visit our website-
    App and web development company
    hire xamarin developer
    Hire Android developer
    Hire ABP.IO Framework Developer

    ReplyDelete