Урок 11. Папка res/values. Используем ресурсы приложения.

Обсуждение уроков
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 11. Папка res/values. Используем ресурсы приложения.

Сообщение damager82 » 29 авг 2011, 03:00

В этом уроке мы:

- узнаем, зачем нужна папка res/values, что в ней можно хранить и как использовать

Click here to read this article!
Последний раз редактировалось damager82 28 апр 2017, 10:27, всего редактировалось 7 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
Flactor
Сообщения: 5
Зарегистрирован: 28 май 2012, 16:22

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение Flactor » 31 май 2012, 22:01

Не очень понятно зачем тут

Код: Выделить всё

getResources().getString(R.string.tvBottomText);
:?:

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение damager82 » 01 июн 2012, 09:52

Flactor писал(а):Не очень понятно зачем тут

Код: Выделить всё

getResources().getString(R.string.tvBottomText);
:?:
Да, не в тему ... Спасибо )
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

xolostyak_by
Сообщения: 18
Зарегистрирован: 02 июл 2012, 03:16

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение xolostyak_by » 12 июл 2012, 15:46

Не смог победить вот эту ошибку. помогите пожалуйста. никак не пойму в чем причина.

Изображение

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение damager82 » 12 июл 2012, 17:37

xolostyak_by писал(а):Не смог победить вот эту ошибку. помогите пожалуйста. никак не пойму в чем причина.
У вас эти строки не в методе onCreate. Фигурная скобка закрывается до них, а должна после.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Daniil
Сообщения: 25
Зарегистрирован: 15 июл 2012, 13:01

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение Daniil » 18 июл 2012, 17:35

Незнаю , может для кого-то очевидно, но меня на пару минут заставило задуматься почему в activity_main.xml во вкладке "Graphical Layout" не отобразились изменения нижниго текста, кнопки и фона, внесенные в "onCreate" в MainActivity.java, как я понял всё потому что параметры задаются во время запуска приложения, поправите, если не прав.

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение damager82 » 19 июл 2012, 12:38

Daniil писал(а):Незнаю , может для кого-то очевидно, но меня на пару минут заставило задуматься почему в activity_main.xml во вкладке "Graphical Layout" не отобразились изменения нижниго текста, кнопки и фона, внесенные в "onCreate" в MainActivity.java, как я понял всё потому что параметры задаются во время запуска приложения, поправите, если не прав.
onCreate срабатывает при запуске приложения. Соответственно все то, что мы там накодили выполнится тоже при запуске. И этот код не вносит никаких изменений непосредственно в layout-файл.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Roman
Сообщения: 22
Зарегистрирован: 23 авг 2012, 08:43

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение Roman » 23 авг 2012, 09:01

Почему мы в уроке 10-м объявляли переменные

Код: Выделить всё

TextView tvOut;
Button btnOk;
Button btnCancel;
а только затем находили View-элементы:

Код: Выделить всё

tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);
а в данном примере сразу находим View-элементы?
Предположительный ответ: мы так упрощаем код, но я попытался так упростить его в прошлом уроке и мне выдало ошибку "tvOut cannot be resolved" в методе

Код: Выделить всё

public void onClick(View v)
я там задаю просто

Код: Выделить всё

tvOut.setText("Нажата кнопка Ок");
Как тогда правильно записать, ведь эти два метода паблик?
Спасибо за ответ

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение math64 » 23 авг 2012, 10:05

Если соответствующий View нужен один раз - находим и сразу используем, без локальных переменных.
Если используется несколько раз в одном методе или один раз, но выражение очень длинное - объявляем локальную переменную.
Если нужно использовать в нескольких методах - объявляем поле класса и инициализируем его в onCreate().
В данном случае tvOut нужен в методе onClick(). Поэтому нужно поле класса.
Но если tvOut используется только в onClick(), можно перенести TextView tvOut = (TextView) findViewById(R.id.tvOut); в метод onClick(), тогда tvOut будет локальной переменной в onClick().
Чуть выигрываем по памяти, но теряем по времени.

di16
Сообщения: 6
Зарегистрирован: 13 сен 2012, 14:26

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение di16 » 13 сен 2012, 14:39

скажите как сделать так, чтобы EditText отображался в Android 2.... как в Android 4, потому что в Android 2... он отображается в виде окошка, в Android 4 в виде линии

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение rezak90 » 13 сен 2012, 14:44

di16 писал(а):скажите как сделать так, чтобы EditText отображался в Android 2.... как в Android 4, потому что в Android 2... он отображается в виде окошка, в Android 4 в виде линии
не совсем понял, но если посмотреть многое в 4.х версиях выглядит не так как во 2.х и здесь ничего не сделаешь. Так уж делают андроид. Но это всё относится к стандартным компонентам, если делать кастомизацию то по идеи должно выглядить одинаково не зависимо от версии андроида, может быть различия лишь на рзных дивайсах.
R.id.team
Политика на форуме запрещена


Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение rezak90 » 13 сен 2012, 17:48

di16 сомневаюсь что такое возможно, только в голову приходит как создание кастомной разметки. Но я не понимаю для чего это? С каждой новой версией дизайн меняется и будет менятся.
R.id.team
Политика на форуме запрещена

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение math64 » 13 сен 2012, 20:03

Лезешь сюда:
"С:\Program Files\Android\android-sdk\platforms\android-X\data\res\"
где X - номер старого SDK (8 или 10)
Находишь стиль для EditText и копируешь в res своего приложения, возможно с творческими изменениями.
Указываешь стиль в своём layout:

Код: Выделить всё

<EditText android:id="@+id/editText1" style="@style/MyEditTextStyle"/>

dasp
Сообщения: 3
Зарегистрирован: 26 сен 2012, 21:39

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение dasp » 26 сен 2012, 21:55

Я вот столкнулся с такой проблемой, Подскажите пожалуйста.

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout llBottom = (LinearLayout) findViewById (R.id.llBottom);
TextView tvBottom = (TextView) findViewById (R.id.tvBottom);
Button btnBottom = (Button) findViewById (R.id.btnBottom);

llBottom.setBackroundResourse (R.color.llBottomColor);
tvBottom.setText (R.string.tvBottomText);
btnBottom.setText(R.string.btnBottomText);

у меня LinearLayout и TextView gjlxthryens. Говорит, что LinearLayout cannot be resolved to a type

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение AndreyI » 26 сен 2012, 22:21

Проблема с импортом Ctrl+Shift+O вам в помощь.

dasp
Сообщения: 3
Зарегистрирован: 26 сен 2012, 21:39

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение dasp » 27 сен 2012, 08:41

спасибо нажал, но теперь ругается
setBackroundResourse, говорит, что
The method setBackroundResourse(int) is undefined for the type LinearLayout

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение damager82 » 28 сен 2012, 12:49

dasp писал(а):спасибо нажал, но теперь ругается
setBackroundResourse, говорит, что
The method setBackroundResourse(int) is undefined for the type LinearLayout
Очепятка: setBackgroundResourse
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

dasp
Сообщения: 3
Зарегистрирован: 26 сен 2012, 21:39

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение dasp » 28 сен 2012, 14:40

спасибо. было две опечатки. теперь все исправлено и не чего не ругается.
это вторая часть урока, где мы в ручную кодили для изменения: кнопки, текста и цвета.
но нижняя часть не поменялась, подскажите, что не так?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Сообщение damager82 » 02 окт 2012, 10:16

dasp писал(а):спасибо. было две опечатки. теперь все исправлено и не чего не ругается.
это вторая часть урока, где мы в ручную кодили для изменения: кнопки, текста и цвета.
но нижняя часть не поменялась, подскажите, что не так?
Если были опечатки, значит код вы набирали сами, а не копировали с урока. Возможно где-то еще сделаны ошибки. Скидывайте сюда код MainActivity, посмотрим.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Ответить