Я занимаюсь Tutorials, и я нахожусь в разделе об изображениях. Он говорит, чтобы положить их в папку res/drawable. Но у меня нет этой папки, вместо этого у меня три: res/drawable-hdpi
, r es/drawable-ldpi
и res/drawable-mdpi
. Так в чем разница между ними?
Im, используя этот учебник.
Один из шагов:
Создайте файл strings.xml в res/values /и редактировать файл для просмотра как
Уже существует strings.xml
, в сочетании с выше, говоря мне, что я использую res/drawable, устарели ли эти учебники?
В этом учебнике есть код:
R.id.spinner
R.array.planets_array
R.layout - это просто перечисление. Использует main.xml в папке макета. Но откуда взяться R.id
и R.array
. Потому что он приходит в затмение, говоря, что не знает, что это такое. R.java
автоматически обновляется, так что может кто-то сказать мне, что я читаю этот учебник, где id добавляется в R? В нем говорится, что
Идентификатор R.array.planets_array ссылается на строковый массив выше
Только он не работает. Я сомневаюсь, что имеет значение, что я не делал strings.xml, так как это одно и то же имя файла в том же месте. Но так как R.java предназначен для автоматического обновления, я не знаю, как это исправить.
Просто чтобы вы знали, откуда приходит материал R.
Файл R.java
- это сгенерированный файл, содержащий какие-то указатели на ресурс в вашем приложении. Это простое целое на самом деле, которое уникально идентифицирует ресурс во внутренней системе управления ресурсами Android.
R.string
Идентификаторы генерируются из XML файлов ресурсов, например, таких как.
<resources>
<string name="test">This is a test string.</string>
</resources>
R.array
идентификаторы из XML файлов строкового массива.
<resources>
<string-array name="days_of_week">
<item>Monday</item>
<item>Tuesday</item>
<item>Wednesday</item>
<item>Thursday</item>
<item>Friday</item>
<item>Saturday</item>
<item>Sunday</item>
</string-array>
</resources>
Теперь вы можете получить доступ к этому массиву с помощью его идентификатора R.id.days_of_week
.
R.id
идентификаторы немного особенные.
Они генерируются двумя способами. Первый - когда вы определяете View
в вашем файле макета XML с помощью синтаксиса @+id/...
. Обратите внимание на знак +
.
Другим способом является определение их в ресурсных XML файлах, таких как строки, например.
<resources>
<item type="id" name="first" />
<item type="id" name="second" />
</resources>
Затем вы просто использовали их в XML файле макета, подобном этому @id/first
. Обратите внимание, что знак no +
больше не ссылается на него, прежде чем вы его объявите.
В коде вы затем используете его так: R.id.first
.
Есть много других ресурсов. Я хотел бы указать вам на статью Ресурсы приложений, а также проверить, что Типы ресурсов.
Это для разных разрешений экрана для диапазона устройств, которые находятся там. Читайте о поддержке нескольких экранов на сайте Android dev.
Если у вас нет папки, просто создайте ее. Это в основном резерв для случая, когда у вас нет ресурса в более конкретной папке, например res/drawable-hdpi
Папки * -xx позволяют вам предоставлять более конкретные чертежи (изображения) для различных разрешений экрана.
Тот же принцип применяется к значениям/и значениям-xx/, где xx - код страны; версии xx позволяют выполнять переводы для сообщений пользовательского интерфейса.