Проблемы с папкой res и R.java

1

Я занимаюсь 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.java-file

3 ответа

1

Просто чтобы вы знали, откуда приходит материал 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.

Есть много других ресурсов. Я хотел бы указать вам на статью Ресурсы приложений, а также проверить, что Типы ресурсов.

1

Это для разных разрешений экрана для диапазона устройств, которые находятся там. Читайте о поддержке нескольких экранов на сайте Android dev.

0

Если у вас нет папки, просто создайте ее. Это в основном резерв для случая, когда у вас нет ресурса в более конкретной папке, например res/drawable-hdpi

Папки * -xx позволяют вам предоставлять более конкретные чертежи (изображения) для различных разрешений экрана.

Тот же принцип применяется к значениям/и значениям-xx/, где xx - код страны; версии xx позволяют выполнять переводы для сообщений пользовательского интерфейса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню