2011-03-23 1 views
10

В моем приложении все изображения, локальные HTML-страницы и т. Д. Помечены как «Содержимое действия действия». Я только что понял, что есть также «Ресурс».MonoDevelop: что такое действие «Содержимое» по сравнению с «Ресурсом»?

Какой я должен использовать для изображений, а какой для HTML-страниц для отображения в UIWebView?

В настоящее время я использую образы, как это:

this.oImgLoginLogo.Image = UIImage.FromFile ("Data/Images/ball.png"); 

Но в Monotouch.Dialog я вижу эту линию:

static UIImage arrow = Util.FromResource (null, "arrow.png"); 

Но arrow.png также отмечен как "содержание" ...?

озадачен.

Каковы недостатки/преимущества каждого варианта?

+0

У нас есть встроенные и они отображаются с помощью веб-представления. Тогда - если есть связь - обновленная версия HTML загружается с сервера. – Krumelur

ответ

2

В мире .NET разница в том, что во время процесса сборки файл, помеченный как Контент, копируется в выходную папку, а файл ресурсов становится частью самой DLL.

AFAIK, MonoTouch не включает ресурсы в сборку, потому что этого не существует в iOS, поэтому вы всегда используете Content. Заключительный шаг затем застегивает каталог исполняемым файлом и файлами содержимого в файл .app, как и ожидал iOS. То же самое верно для MonoDroid.

Разница между MonoTouch и MonoDroid в API существует, потому что идея этих фреймворков заключается в том, чтобы переводить, почти один к одному, API-интерфейсы, доступные на этих платформах, вместо создания одного интерфейса, который одинаково поддерживает все платформы.

+0

Спасибо за объяснение! – Krumelur

7

Встраиваемые ресурсы встроены в dll или exe-файл и доступны из API-интерфейсов .NET. Контентные файлы: связывают ресурсы и копируются в пакет приложений (который является просто каталогом) и доступны с использованием API-интерфейсов файлов или API-интерфейсов Apple, входящих в комплект поставки MonoTouch.

MonoTouch поддерживает встроенные ресурсы, но они не являются простыми для использования от API-интерфейсов Apple, которые предназначены для использования вещей из набора приложений. Однако встроенные ресурсы могут иметь больше смысла, если вы не имеете дело с конкретными API-интерфейсами MonoTouch или когда вы пишете библиотеки, которые переносятся на другие платформы.

MonoTouch 4.0+ поддерживает файлы содержимого в DLL библиотеки - за кулисами они покалеченные в внедренных ресурсов, когда библиотека компилируется, так что вы можете поделиться в виде одного файла DLL, то они распакованы в пакет приложения, когда приложение скомпилировано.

Я предполагаю, что MonoTouch.Dialog использует встроенные ресурсы и не связывает ресурсы, потому что это библиотека и предшествует MonoTouch 4, поэтому файл, помеченный как Контент, является ошибкой в ​​проекте.

+0

Приятно слышать, что mhutch. Мне никогда не приходилось использовать встроенные ресурсы, так как в большинстве случаев ресурсы - это просто изображения и текстовые файлы, но всегда здорово знать, что есть опция! –

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

  • Нет связанных вопросов^_^