2016-04-19 26 views
7

Xamarin.Forms PCL projemdeki bir metin dosyasını (Gömülü kaynak) okumam gerekiyor. working with files Xamarin docs On bu kodu öneriyor:Xamarin Forms PCL projesi hakkında bir metin dosyası nasıl okunur?

var assembly = typeof(LoadResourceText).GetTypeInfo().Assembly; 
Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.PCLTextResource.txt"); 
string text = ""; 
using (var reader = new System.IO.StreamReader (stream)) { 
    text = reader.ReadToEnd(); 
} 

sorun bu LoadResourceText ne bulamıyor olmasıdır. Tek bulduğum, Mecliste bir tür. Ama ne anlama geldiğini gerçekten anlayamıyorum.

Ve yapmam gerekeni açık bir şekilde pratik bir açıklama bulamıyorum.

Herhangi bir yardım?

Teşekkür

+0

https://components.xamarin.com/view/pclstorage –

+0

PCL depolama çalışmıyor Mevcut gömülü kaynak dosyaları için. – Dpedrinha

cevap

6

size PCL projede var bir sınıfla LoadResourceText değiştirmeniz gerekiyor varolan bir dosyayı okumak için. Gömülü dosyayı içeren derlemeyi elde etmek için kullanılır. Ayrıca PCL projenizin isim alanıyla WorkingWithFiles'u değiştirmeniz gerekecektir.

Kodun derlenmesi için using System.Reflection;'u eklemeniz gerekir.

çalışma zamanında bir dosya oluşturun ve böyle PCLStorage Library kullanabilirsiniz daha sonra okumak isterseniz:

public async Task PCLStorageSample() 
{ 
    IFolder rootFolder = FileSystem.Current.LocalStorage; 
    IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder", 
     CreationCollisionOption.OpenIfExists); 
    IFile file = await folder.CreateFileAsync("answer.txt", 
     CreationCollisionOption.ReplaceExisting); 
    await file.WriteAllTextAsync("42"); 
} 
+0

Teşekkürler. Mevcut bir gömülü kaynak dosyasını yüklemem gerekiyor. Eğer LoadResourceText'i projemdeki herhangi bir sınıfla değiştirirsem, "Type GetTypeInfo() için bir tanım içermiyor. Dokümanlardaki örnek projeye bakıyorum ve LoadResourceText bunu da uygulamıyor. Sadece normal bir ContentPage var. Herhangi bir fikir? – Dpedrinha

+0

@Dpedrinha: PCL projesinde bu kod var mı? – Giorgi

+0

Evet, taşınabilir proje içinde – Dpedrinha