2015-04-15 6 views
0

Я пытаюсь получить Tess-Two (Tesseract OCR fork для Android), используя Xamarin.Forms, но для инициализации моего OCREngine мне нужен путь к папке, содержащей данные языка. Я поместил эти данные в папку и пометил ее как «Контент» с опцией «Копировать всегда».Xamarin.Forms Файлы содержимого Android

По какой-то причине я не могу описать (или даже найти) файлы, отмеченные как содержимое.

Проще говоря: мне нужна папка с некоторыми файлами, которые нужно скопировать на устройство, и мне нужно иметь возможность получить путь к ним.

ответ

1

Для Android вы хотите включить файлы как Assets.

Android предоставляет класс AssetManager, который позволяет открывать и читать активы

string content; 
using (StreamReader sr = new StreamReader (Assets.Open ("read_asset.txt"))) 
{ 
    content = sr.ReadToEnd(); 
} 
+0

Спасибо за ваш комментарий. Как я могу получить путь к папке с этим? Для OCREngine нужен строковый путь, затем он проверяет каталог, который вы предоставили, чтобы увидеть, содержит ли он каталог «tessdata» и что эта папка содержит правильные файлы. Вы понимаете проблему здесь? – syntax1993

+1

Файлы активов встроены в ваш комплект приложений - я не думаю, что вы можете напрямую ссылаться на их путь. если ваш lib будет ТОЛЬКО работать с файловым путем, вы можете открыть их как поток и затем записать их в SpecialFolders.Personal, а затем передать этот путь в свою библиотеку. – Jason

+0

Спасибо, я думал, что есть способ сделать это, не записывая их во внутреннюю память. Еще раз спасибо. – syntax1993

Смежные вопросы