Xamarin Forms ile Local Storage Kullanımı [Bölüm 2]

Merhaba arkadaşlar,

bir önceki yazımızda Xamarin.Forms üzerinde Local Storage işlemlerini incelemekteydik. Bu konuda Manager’de Stream dosyamızı kaydetme ve String bir iceriği okuma – kaydetme fonksiyonlarımızı tamamlamıştık. Şimdi ise Portable katmanında “Services” adında bir klasör oluşturuyoruz ve içerisine “LocalStorageService” isimli bir class oluşturuyoruz.

Mevcut örneğimde 3 çeşit senaryom var. Bunlar öncelikle elimdeki bir string değeri kaydetme ve okumak.Örn. Login bilgilerinin tutulduğu ve “|” ayracı ile içerisindeki değerlerin tutuldugu bir string düşünelim.Contentimiz şu şekilde olacaktır.

var content = “mdemir|123”;

Kullanıcın login bilgilerini bu şekilde bir txt olarak kaydedeceğim. Okumak istediğimde ise split methodu ile ayrıştırıp kullanacağım. Öncelikle içerisinde “mdemir|123” değerini taşıyan string dosyasını kayıt edelim.

SaveFileFromString

 Bu method içerisine text yani content,extantion(dosya uzantısı ki bu senaryo da bu .txt olacak) ,klasör adı ve dosya adını almakta output olarak ise kayıtlı dosyanın pathini dönmektedir.

Şimdide daha önce kayıt ettiğimiz txt den verimizi çekelim.

GetSavedFile

Bu method içerisine extantion(dosya uzantısı ki bu senaryo da bu .txt olacak) ,klasör adı ve dosya adını almakta output olarak ise kayıtlı dosyanın içerisindeki kullanıcı ve şifreli string list olarak dönmektedir.

2. Stream’i dosya olarak kaydetmek.

Elimizde olan Stream’i dosya olarak kaydetmek için “SaveFileFromStream” methodunu yazacağız. Bu method içerisine stream , klasör adı ve dosya adı almaktadır.Output olarak ise kaydedilen dosyanın pathini dönmektedir.

3. URL den dosya indirilip indirilen dosyanın kaydedilmesi.

Elimizde bir URL adresi olan dosya bulunmakta bunu öncelik ile Microsoft.Http.Client ile download edip daha sonra elde ettiğimiz Stream’i locale kaydedeceğiz.

SaveFileFromURL

Öğreğin URL miz şu şekilde olsun https://assets.onestore.ms/cdnfiles/external/uhf/long/9a49a7e9d8e881327e81b9eb43dabc01de70a9bb/images/microsoft-gray.png burada ilk önce dosyamızın adını ve uzantısını split methodları ile alıyoruz. Daha sonrasında ise HttpClient yardımıyla Streami elde ediyoruz ve sonra FileManagerimize kayıt için gönderiyoruz. Methodumuz bize kaydedilen dosyanın pathini dönmektedir.

Bu makele serimde sizlere Xamarin.Forms da Local Storage ile nasıl çalışılır. Basit login vb. Text bilgiler nasıl saklanır ve okunur ve de en önemlisi URL üzerindeki dosyamızı local storage’a nasıl kaydedeceğimizi öğrenmiş olduk.

Önemli not olarak belirtmek isterim ki Stream olarak kaydedip döndüğümüz path i direk source olarak verdiğiniz de kullanabilmektesiniz. Örneğin URL üzerinden bir image kaydettiniz. Return değerindeki path i sayfanızdaki Image nesnesinin source olarak verebilir ve resimi görüntüleyebilirsiniz.

Kod örneğinie GitHub hesabımdan erişebilirsiniz

 

Xamarin Türkiye

Yorum Gönder