Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
#1

Почему работает? - Программирование Android

04.01.2015, 23:20. Просмотров 299. Ответов 3
Метки нет (Все метки)

Всем привет. Недавно начал изучать Android, и вот возник вопрос. Пишу в Eclips'е, при создании проекта создается две папки appcompat_v7 и папка самого проекта, у меня есть такая строка кода:
XML
1
<item name="android:background">@drawable/abc_item_background_holo_dark</item>
файл abc_item_background_holo_dark изначально находился в папке appcompat_v7, но я скопировал его себе в папку проекта. При запуске и на Android 4.2 и на 2.3.4, все работает отлично. И вот я удалил этот файл из папки проекта. Думал после этого даже не скомпилится, но мало того что оно скомпилировалось, так еще и работало без изменений. В чем дело?
Вот что думаю я. При создании .apk файла все ресурсы идут в него, это да, но вот почему работает строка @drawable/abc_item_background_holo_dark, даже если этот файл не в папке с проектом.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 23:20     Почему работает?
Посмотрите здесь:

Почему WebView не работает - Программирование Android
Скажите в чём дело не так вот прикрепил скриншот:

Почему не работает GET запрос? - Программирование Android
Maxens, А что происходит? Ошибка? Исключение?

Почему .setBackground не работает? - Программирование Android
У меня кнопки представляют собой TextView'ы, на которых по умолчанию выставлены соотв. рисунки, но при попытке изменить их(на любые) при...

Почему не работает setTop() - Программирование Android
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ...

Почему оператор сравнения не работает? - Программирование Android
Здравствуйте, Простой вопрос, очень простой, но ввел в ступор Есть стринговая переменная, которая берется из текстового поля....

Почему здесь не работает Intent? - Программирование Android
Intent берет значение по умолчанию, а не то, которое в классе Touch подскажите почему? package ru.lkja.fx; import java.util.Timer;...

Почему в EditText не работает html тэг <strike>? - Программирование Android
Добрый вечер, Почему не работает конструкция: Spanned s= Html.fromHtml(&quot;&lt;strike&gt;my test text&lt;/strike&gt;&quot;); ...

Почему не работает? - Java
Ошибок не выдает, двигать не хочет. Помогите плз. public boolean onTouch(View view, MotionEvent event){ Intent intentMain1=new...

Почему не работает - C++
#include &lt;string.h&gt; using namespace std; int main() { string sentence; getline(cin, sentence); string a,...

Почему не работает If - Java SE
Проблема следующая, есть метод public void run() { // Нужно создать первоначальный треугольник к которому будут крепиться...

Почему не работает WHERE - SQL Server
Почему так не работает SELECT Имя, ( SELECT Sum(Цена*Количество) FROM Order_Details ...

Почему не работает? - jQuery
Пытаюсь в div вывести результат работы php скрипта ... на локальной машине всё работает а после размещения на хостинге не хочет работать ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
04.01.2015, 23:26     Почему работает? #2
Система построения знает где искать abc_item_background_holo_dark и включит его в apk файл во время сборки. Не нужно копировать подобные файлы себе в проект.
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
04.01.2015, 23:34  [ТС]     Почему работает? #3
Kastaneda, то есть я могу использовать любые файлы из compile with версии и они попадут в apk и будут корректно отображаться на других версиях (даже ранних)?
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
04.01.2015, 23:54     Почему работает? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от xSCJx Посмотреть сообщение
и будут корректно отображаться на других версиях (даже ранних)?
Нет, там некоторые ресурсы не поддерживаются на ранних версиях. Мне IDE подсказывает (типа это досупно только в API 14 и выше, а у тебя API 11). Поэтому, если IDE не подсказывает, то лучше проверять совместимость, если не уверен.

Цитата Сообщение от xSCJx Посмотреть сообщение
и они попадут в apk
apk - это по сути zip архив. Его можно zip'ом открыть и посмотреть что там лежит, например в папке drawable.
Yandex
Объявления
04.01.2015, 23:54     Почему работает?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru