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

Обсуждение уроков
Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

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

Сообщение anber » 17 июн 2013, 19:23

rezak90 писал(а):
CollSpack писал(а):Как программно можно изменить значение из strings.xml во время работы приложения?
<string name="name">значение</string>
никак
А зачем его менять?
Возможно будет полезна следующая конструкция:

в файле strings.xml пишем строку:

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

<string name="some_text">Text %s</string>
и в коде:

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

String text = getString(R.string.some_text, "№1");
тогда строка получит значение "Text №1"

Но этот метод не нужно использовать там где он вызывается многократно, скажем в цикле.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

beast1983
Сообщения: 3
Зарегистрирован: 22 май 2012, 18:25

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

Сообщение beast1983 » 05 июл 2013, 16:55

Всем добрый день! у меня может и глупый вопрос но все же он есть :)
примерно что надо!
canvas.drawText( text, x, y, paint);
где text будет равняться например @+id/app_name
или вообще не реально из самой программы такое? :(

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

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

Сообщение anber » 05 июл 2013, 17:11

beast1983 писал(а):Всем добрый день! у меня может и глупый вопрос но все же он есть :)
примерно что надо!
canvas.drawText( text, x, y, paint);
где text будет равняться например @+id/app_name
или вообще не реально из самой программы такое? :(
Ну в принципе все возможно, но только не понятно что нужно:
1) вывести надпись по координатам?
2) получить название приложения как сроку или что такое @+id/app_name ?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

assan
Сообщения: 48
Зарегистрирован: 24 мар 2013, 22:31

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

Сообщение assan » 12 июл 2013, 08:19

как можно сделать смену языка в приложении?
к примеру есть layout с ImageButton с картинкой флага, и по выбору сменить весь интефейс на выбранный язык, соответствующий флагу?

нашел...
http://snowpard-android-ru.blogspot.ru/ ... droid.html

Аватара пользователя
Ivlianna
Сообщения: 4
Зарегистрирован: 10 сен 2013, 12:00
Откуда: Estonia
Контактная информация:

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

Сообщение Ivlianna » 10 сен 2013, 13:49

Почему у меня кнопки тоже цветные?
Вложения
3.jpg
3.jpg (53.79 КБ) 14298 просмотров

agrach
Сообщения: 3
Зарегистрирован: 27 июн 2013, 11:49

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

Сообщение agrach » 25 сен 2013, 12:09

ругается в этом фрагменте кода main activity:

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

            LinearLayout llBottom = (LinearLayout) findViewById(R.id.llBottom);
	    TextView tvBottom = (TextView) findViewById(R.id.tvBottom);
	    Button btnBottom = (Button) findViewById(R.id.btnBottom);
содержание ругательства следующее:

"Multiple markers at this line
- LinearLayout cannot be resolved to
a type
- LinearLayout cannot be resolved to
a type"
Вложения
multiple-markers.gif
multiple-markers.gif (55.28 КБ) 14279 просмотров

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

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

Сообщение Isaev » 10 окт 2013, 10:24

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

Мы видим два элемента типа String:
hello – по умолчанию он использован в свойстве Text в TextView в main.xml. И соответственно TextView отображает значение этого элемента.
а откуда там hello по умолчанию? не было там его никогда
в TextView по умолчанию прописано

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

android:text="New Text"
или при создании HelloWorld Activity

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

android:text="Hello World, MyActivity"

Larsen
Сообщения: 3
Зарегистрирован: 09 ноя 2013, 02:12

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

Сообщение Larsen » 09 ноя 2013, 17:50

Здравствуйте, проблема в том, что я не могу изменять значения в графах в окне prorerties, если изначально оно было пустым-только через .xml файл,прописывая всё в коде.
заранее спасибо
Вложения
Или выдает такое окно,которое закрывается случайными нажатиями лкм..
Или выдает такое окно,которое закрывается случайными нажатиями лкм..
Снимок1.JPG (32.13 КБ) 14254 просмотра
Например я не смог бы изменить значение Text,если бы он был первоначально пуст, не реагирует на нажатие никак,или..
Например я не смог бы изменить значение Text,если бы он был первоначально пуст, не реагирует на нажатие никак,или..
Снимок.JPG (34.59 КБ) 14254 просмотра

Feo153
Сообщения: 3
Зарегистрирован: 13 ноя 2013, 20:52

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

Сообщение Feo153 » 15 ноя 2013, 01:05

Здравствуйте, проблема в том, что я не могу изменять значения в графах в окне prorerties, если изначально оно было пустым-только через .xml файл,прописывая всё в коде.
Тоже была такая проблема, решилась так:
Вложения
andr11.jpg
andr11.jpg (69.57 КБ) 14238 просмотров

Larsen
Сообщения: 3
Зарегистрирован: 09 ноя 2013, 02:12

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

Сообщение Larsen » 22 ноя 2013, 04:56

Feo153 писал(а): Тоже была такая проблема, решилась так:
Спасибо большое,помогло!

Trimbombom
Сообщения: 20
Зарегистрирован: 20 окт 2013, 23:53
Контактная информация:

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

Сообщение Trimbombom » 25 ноя 2013, 01:44

Не совсем понятно, помечу, когда View-элементы верхней части настраиваются вручную через properties, в файле MailActivity.java не появляется соответствующего кода, а когда программно, то код в этом файле появляется.

Так и должно быть и если да, то почему? Нигде в других языках с таким не сталкивался...

Заранее благодарю за ответ.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 25 ноя 2013, 12:29

Этот код сам не появляется. Его нужно самостоятельно прописывать.
Очевидно вы не поняли каким образом используются ресурсы.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Trimbombom
Сообщения: 20
Зарегистрирован: 20 окт 2013, 23:53
Контактная информация:

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

Сообщение Trimbombom » 28 ноя 2013, 23:09

KamiSempai писал(а):Этот код сам не появляется. Его нужно самостоятельно прописывать.
Очевидно вы не поняли каким образом используются ресурсы.
Самостоятельно мы прописываем во второй части. А в первой - через кнопки.

Несмотря на отсутствие кода при программировании через кнопки, на устройстве все работает, а кода нет. А во второй части урока пишется код программно - тоже все работает. Каким образом работает, если код не прописан? И почему не прописан?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 29 ноя 2013, 12:21

Я вас не понимаю.
Что значит:
- "программировании через кнопки";
- "пишется код программно";
- О каком уроке идет речь?
- Где находится вторая часть этого урока?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Trimbombom
Сообщения: 20
Зарегистрирован: 20 окт 2013, 23:53
Контактная информация:

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

Сообщение Trimbombom » 29 ноя 2013, 15:36

KamiSempai писал(а):Я вас не понимаю.
Что значит:
- "программировании через кнопки";
- "пишется код программно";
- О каком уроке идет речь?
- Где находится вторая часть этого урока?
Это урок 11.

"Экран разделен на две одинаковые половины, содержащие LinearLayout, Button и TextView. Для LinearLayout мы укажем фоновый цвет, а для TextView и Button – изменим текст. Реализуем это с помощью ресурсов. Причем View-элементы верхней части мы будем настраивать вручную через properties, а нижнюю часть попробуем настроить программно."

properties - 1 часть

программно - 2 часть.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 29 ноя 2013, 16:34

Понятно.
В первой части свойства компонентов указаны в файле XML и они устанавливаются автоматически при их создании. Вы этот код не видите, но он есть внутри всех экранных компонентов.
Во второй части показано как можно сделать это программно.
Еще раз повторюсь, те методы, что вызывались во второй части, вызываются и в первой части,просто вы этого не видите и все происходит автоматически внутри самого компонента при его создании.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

burum
Сообщения: 3
Зарегистрирован: 20 дек 2013, 10:05

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

Сообщение burum » 20 дек 2013, 10:12

Никто не встречался вот с такой ошибкой в эмуляторе ?
Вложения
никак победить не могу. Бубен порвался.
никак победить не могу. Бубен порвался.
факап.png (197.64 КБ) 14130 просмотров

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

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

Сообщение rezak90 » 20 дек 2013, 11:11

Первый раз вижу :o
P.S. а по делу, диалоговое окнок при любой ошибки одинаковое. Нужно в лог смотреть, там stacktrace ошибки!
R.id.team
Политика на форуме запрещена

burum
Сообщения: 3
Зарегистрирован: 20 дек 2013, 10:05

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

Сообщение burum » 20 дек 2013, 11:26

Вот что в логе пишет. Ниже еще скрин, в OutLine пишет ?=?xml - что ему не понравилось ? Ошибка, скорее всего, из-за этого (как мне кажется).
У меня бубен уже сломался, не чинится никак.

12-20 07:07:47.248: E/AndroidRuntime(331): FATAL EXCEPTION: main
12-20 07:07:47.248: E/AndroidRuntime(331): java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.startndroid.p0111_resvalues/ru.startndroid.p0111_resvalues.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.os.Handler.dispatchMessage(Handler.java:99)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.os.Looper.loop(Looper.java:123)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread.main(ActivityThread.java:3683)
12-20 07:07:47.248: E/AndroidRuntime(331): at java.lang.reflect.Method.invokeNative(Native Method)
12-20 07:07:47.248: E/AndroidRuntime(331): at java.lang.reflect.Method.invoke(Method.java:507)
12-20 07:07:47.248: E/AndroidRuntime(331): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-20 07:07:47.248: E/AndroidRuntime(331): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-20 07:07:47.248: E/AndroidRuntime(331): at dalvik.system.NativeStart.main(Native Method)
12-20 07:07:47.248: E/AndroidRuntime(331): Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
12-20 07:07:47.248: E/AndroidRuntime(331): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
12-20 07:07:47.248: E/AndroidRuntime(331): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.Activity.setContentView(Activity.java:1657)
12-20 07:07:47.248: E/AndroidRuntime(331): at ru.startndroid.p0111_resvalues.MainActivity.onCreate(MainActivity.java:14)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
12-20 07:07:47.248: E/AndroidRuntime(331): ... 11 more
12-20 07:07:47.248: E/AndroidRuntime(331): Caused by: java.lang.reflect.InvocationTargetException
12-20 07:07:47.248: E/AndroidRuntime(331): at java.lang.reflect.Constructor.constructNative(Native Method)
12-20 07:07:47.248: E/AndroidRuntime(331): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
12-20 07:07:47.248: E/AndroidRuntime(331): ... 23 more
12-20 07:07:47.248: E/AndroidRuntime(331): Caused by: android.content.res.Resources$NotFoundException: File Верхний текст from drawable resource ID #0x7f050000
12-20 07:07:47.248: E/AndroidRuntime(331): at android.content.res.Resources.loadDrawable(Resources.java:1714)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.view.View.<init>(View.java:1951)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.widget.TextView.<init>(TextView.java:344)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.widget.TextView.<init>(TextView.java:337)
12-20 07:07:47.248: E/AndroidRuntime(331): ... 26 more
12-20 07:07:47.248: E/AndroidRuntime(331): Caused by: java.io.FileNotFoundException: Верхний текст
12-20 07:07:47.248: E/AndroidRuntime(331): at android.content.res.AssetManager.openNonAssetNative(Native Method)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.content.res.AssetManager.openNonAsset(AssetManager.java:406)
12-20 07:07:47.248: E/AndroidRuntime(331): at android.content.res.Resources.loadDrawable(Resources.java:1706)
12-20 07:07:47.248: E/AndroidRuntime(331): ... 30 more
Вложения
факап2.png
факап2.png (95.28 КБ) 14129 просмотров

burum
Сообщения: 3
Зарегистрирован: 20 дек 2013, 10:05

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

Сообщение burum » 20 дек 2013, 11:59

Все, разобрался. Я в свойство BckGround впихнул для кнопок и текста то, что нужно было в свойство Text для них написать. Поэтому эклипс ругался матом "Failed to convert Верхний текст into a drawable".
Сейчас все работает.

Ответить