Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Ресурсы предоставляют способ включения произвольных файлов, таких как текст, xml, шрифты, музыка и видео в приложении. Если вы попытаетесь включить эти файлы в качестве ресурсов, Android обработает их в своей системе ресурсов, и вы не сможете получить необработанные данные. Если вы хотите получить доступ к данным, нетронутым, ресурсы являются одним из способов сделать это.
Ресурсы, добавленные в проект, будут отображаться так же, как файловая система, считываемая приложением с помощью AssetManager.
В этой простой демонстрации мы добавим в проект текстовый файл, считываем его с помощью AssetManagerи отображаем его в TextView.
Добавление ресурса в проект
Ресурсы отправляются в папку Assets проекта. Добавьте в эту папку read_asset.txtновый текстовый файл. Поместите в него текст, как "Я пришел из ресурса!".
Visual Studio должен задать действие сборки для этого файла в AndroidAsset:

При выборе правильной сборки файл будет упаковен в APK во время компиляции.
Чтение ресурсов
Ресурсы считываются с помощью AssetManager. Экземпляр AssetManager доступен путем доступа к свойству Assets для объекта Android.Content.Context, например действия.
В следующем коде мы открываем ресурс read_asset.txt , считываем содержимое и отображаем его с помощью TextView.
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Create a new TextView and set it as our view
TextView tv = new TextView (this);
// Read the contents of our asset
string content;
AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader (assets.Open ("read_asset.txt")))
{
content = sr.ReadToEnd ();
}
// Set TextView.Text to our asset content
tv.Text = content;
SetContentView (tv);
}
Чтение двоичных ресурсов
Использование StreamReader в приведенном выше примере идеально подходит для текстовых ресурсов. Для двоичных ресурсов используйте следующий код:
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Read the contents of our asset
const int maxReadSize = 256 * 1024;
byte[] content;
AssetManager assets = this.Assets;
using (BinaryReader br = new BinaryReader (assets.Open ("mydatabase.db")))
{
content = br.ReadBytes (maxReadSize);
}
// Do something with it...
}
Запуск приложения
Запустите приложение и увидите следующее:

