как получить доступ к файлам в xamarin.android. А также в обозревателе решений Visual Studio, куда мне следует поместить файл, чтобы найти его в моем коде

#c# #.net #xamarin.android

#c# #.net #xamarin.android

Вопрос:

Приведенный ниже код пытается получить доступ к файлу с именем zimbabwe в папке активов

 var fileContent = File.ReadAllText("Asset/zimbabwe.shp")
 

На изображении ниже показан код, который я использовал для попытки доступа к файлу, и папка, в которую помещен файл

Как я должен получить доступ к файлам в xamarin.android? А также в обозревателе решений Visual Studio, куда я должен поместить файл, чтобы найти его в моем коде?

Ответ №1:

В Xamarin.Проект Android, Assets считывается с помощью AssetManager . Экземпляр AssetManager доступен путем доступа к свойству Assets в Android.Content.Context , например, Activity .

Например:

 string content;
AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader (assets.Open ("zimbabwe.shp")))
{
    content = sr.ReadToEnd ();
}
 

И в Xamarin.Проект Forms, вы также можете добавить любой файл в Assets папку в проекте Android и пометить Build Action как AndroidAsset для его использования OpenAppPackageFileAsync .

 using (var stream = await FileSystem.OpenAppPackageFileAsync(templateFileName))
{
  using (var reader = new StreamReader(stream))
  {
    var fileContents = await reader.ReadToEndAsync();
  }
}
 

Комментарии:

1. @LloydNyahwai Если это полезно для вас, не могли бы вы пометить его как принятый ответ, тогда это может помочь другим.