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

Обсуждение уроков
TittTitov
Сообщения: 27
Зарегистрирован: 20 ноя 2013, 22:46

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

Сообщение TittTitov » 05 янв 2014, 11:44

Доброго времени!

Ребят, объясните пожалуста, как правильно сделать.

Допустим, я создал ресурс mystring.xml, в нем прописал строковую константу с id tvKep,

Как мне значение (текст) этой константы присвоить:
1. Произвольному String, например String myNewstring;
2. Добавить это значение к тексту TextView (пример из 28 урока): tvView.setText("Your name is: " + fName + " " + lName);?
Спасибо!

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

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

Сообщение Foenix » 05 янв 2014, 12:49

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

Операция слияния строк называется concatenation, запрос в гугле будет выглядеть вот так "android java string concatenation"
а вообще вот ссылка, выдаваемая тем же запросом.
http://mobile.tutsplus.com/tutorials/an ... a-strings/
там все есть.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

ejjik
Сообщения: 3
Зарегистрирован: 29 янв 2014, 17:14

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

Сообщение ejjik » 29 янв 2014, 17:31

Доброго времени суток.
Такой вопрос ,Знающим людям.
После создания фаила myres. в фале R.java нет класса color.
попытался создать вручную он не сохраняется.

В результате ресурса "color" нет в списке ресурсов.
Изображение
а в mainActivity обращение к классу color невозможно "color cannot be resolved or is not a field "
Зарание спасибо.

ejjik
Сообщения: 3
Зарегистрирован: 29 янв 2014, 17:14

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

Сообщение ejjik » 29 янв 2014, 18:10

С ресурсами разобрался (просто тип ресурса =))
Проблема с классом "color" осталась

ejjik
Сообщения: 3
Зарегистрирован: 29 янв 2014, 17:14

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

Сообщение ejjik » 29 янв 2014, 18:18

Все разобрался. =)

magamay
Сообщения: 11
Зарегистрирован: 15 фев 2014, 10:45

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

Сообщение magamay » 17 фев 2014, 07:45

покажите как работает -
getResources().getString(R.string.tvBottomText);

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

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

Сообщение klblk » 17 фев 2014, 08:26

magamay писал(а):покажите как работает -
getResources().getString(R.string.tvBottomText);
что имеется в виду под "как работает"? В strings.xml пишутся строки, а с помощь этого метода их можно программно получить.

Или вам нужны исходники этого метода?

magamay
Сообщения: 11
Зарегистрирован: 15 фев 2014, 10:45

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

Сообщение magamay » 17 фев 2014, 09:37

да, хотелось бы посмотреть на исходник

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 17 фев 2014, 10:05

[syntax=java5]
public Resources More ...getResources() {
74 if (mResources != null) {
75 return mResources;
76 }
77 if (mOverrideConfiguration == null) {
78 mResources = super.getResources();
79 return mResources;
80 } else {
81 Context resc = createConfigurationContext(mOverrideConfiguration);
82 mResources = resc.getResources();
83 return mResources;
84 }
85 }


public String More ...getString(int id) throws NotFoundException {
330 CharSequence res = getText(id);
331 if (res != null) {
332 return res.toString();
333 }
334 throw new NotFoundException("String resource ID #0x"
335 + Integer.toHexString(id));
336 }
[/syntax]

В любом случае, пишите в гугле к примеру "Activity source android" и смотрите исходники, например на GrepCode сайте.
http://grepcode.com/file/repository.gre ... g%28int%29

magamay
Сообщения: 11
Зарегистрирован: 15 фев 2014, 10:45

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

Сообщение magamay » 17 фев 2014, 10:21

а по проще нету :), на подобие как в уроке 11 описано?
или это самое простое
з.ы. только начал учиться :)

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 17 фев 2014, 10:50

Хех, не, нет. Это исходники Андроида. Их конечно читать желательно, но не в самом начале пути изучения. А что собственно необходимо понять?

magamay
Сообщения: 11
Зарегистрирован: 15 фев 2014, 10:45

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

Сообщение magamay » 17 фев 2014, 11:39

да, в уроке написан этот код, думал там просто тоже :)
в дальнейшем думаю разберусь.
спасибо!

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

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

Сообщение Foenix » 17 фев 2014, 12:44

magamay писал(а):а по проще нету :), на подобие как в уроке 11 описано?
или это самое простое
з.ы. только начал учиться :)
МОжно, только вот зачем, если ты только что учиться начал?

Для просмотра исходников нужно их скачать (указать галочками в окне, где обновляешь SDK соответствующую версию андроид) а затем ходить по ним точно так же как и по своему коду (по гиперссылкам с помощью клавиши ctrl например)
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

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

Сообщение Foenix » 17 фев 2014, 12:45

m090050 писал(а):Хех, не, нет. Это исходники Андроида. Их конечно читать желательно, но не в самом начале пути изучения. А что собственно необходимо понять?
О том, как можно смотреть исходники - тоже был вебинар.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

KameoMika
Сообщения: 9
Зарегистрирован: 12 фев 2014, 03:22

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

Сообщение KameoMika » 22 фев 2014, 12:41

Иногда необходимо в коде получить не ID ресурса, а его значение. Это делается следующим образом:

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

getResources().getString(R.string.tvBottomText);
Выражение вернет текст «Нижний текст», соответствующий String-ресурсу с name = tvBottomText.
Цитата из урока.
А проще нельзя? ;)
http://stackoverflow.com/questions/8999 ... -getstring
Только что проверила: по клику на кнопе сделала верхнему TextView значение "Hello World", которое в приложении изначально. Вроде работает))

P.S. Хотя по сути то же самое получается, но новичкам навроде меня запись
String resour = this.getString(R.string.hello_world);
будет понятнее, как мне кажется

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

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

Сообщение damager82 » 25 фев 2014, 23:07

KameoMika писал(а):А проще нельзя? ;)
Можно и так, но тогда я еще этого не знал.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Oren
Сообщения: 1
Зарегистрирован: 25 мар 2014, 16:17

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

Сообщение Oren » 25 мар 2014, 17:03

Добрый день. Смотрю уроки и возникла проблема в середине 11 урока.
Создаю файл myres.xml в папке values.
Нажимаю кнопку Add, заполняю Поля Name и Value, нажимаю сохранить, затем еще раз Add.
И вот тут начинается проблема. В списке констант строка так и остается с именем "String", не применяя значение из поля "Name". А в xml представлении файла добавился не полноценный тег

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

<string></string>
, а в виде, как будто он не является контейнером

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

<string />
В итоге, если несколько раз нажать на Add, то код файла будет иметь следующий вид:

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

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="tvTopText">Верхний текст</string>
<string />
<string />
<string />

    
</resources>
Для теста скопировал в этот файл код из дефолтного файла strings.xml
Сохранил, визуальное представление констант никак не изменилось. Так и висит одна String

Подскажите, в чем проблема?

Юрий Кузнецов
Сообщения: 4
Зарегистрирован: 30 мар 2014, 09:44

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

Сообщение Юрий Кузнецов » 30 мар 2014, 10:02

Здравствуйте все участники форума. Я не программист. Изучением Eclipse я занялся с целью создания конкретной программы. Программа уже создана для Windows. Создавал я её на Lazarus (посмотреть можно здесь: http://eintproject.ru/index.php?option= ... 6&Itemid=5). Но появилась потребность в портативном варианте программы (под Android). По существу это электронная книжка с содежанием структурированным в виде таблицы. Я вижу её так: есть активити с таблицей, ячейки это кнопки (к примеру). По нажатию на кнопку открывается другое активити с текстом для этой ячейки. Самый простой вариант: создать для каждой кнопки своё активити с соответствующим текстом. Но этот вариант мне кажется не грамотным и слишком ресурсоёмким (кнопок порядка ста). Я изучал уроки, но явных ответов на свои вопросы не нашёл. Не могли бы вы подсказать как это можно реализовать грамотно.

siberprogs
Сообщения: 93
Зарегистрирован: 05 мар 2014, 06:20

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

Сообщение siberprogs » 30 мар 2014, 10:13

Правильно кажется. Используй одно активити и putExtra: http://startandroid.ru/ru/uroki/vse-uro ... ntent.html
или SharedPreferences: http://startandroid.ru/ru/uroki/vse-uro ... ences.html
А по хорошему надо бы в сторону GridView копать: http://startandroid.ru/ru/uroki/vse-uro ... ibuty.html и уроки с адаптерами почитать.
Последний раз редактировалось siberprogs 30 мар 2014, 10:34, всего редактировалось 1 раз.
Linux Fedora RFRemix + Intellij Idea

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

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

Сообщение Foenix » 30 мар 2014, 10:30

Юрий Кузнецов писал(а):Здравствуйте все участники форума. Я не программист. Изучением Eclipse я занялся с целью создания конкретной программы. Программа уже создана для Windows. Создавал я её на Lazarus (посмотреть можно здесь: http://eintproject.ru/index.php?option= ... 6&Itemid=5). Но появилась потребность в портативном варианте программы (под Android). По существу это электронная книжка с содежанием структурированным в виде таблицы. Я вижу её так: есть активити с таблицей, ячейки это кнопки (к примеру). По нажатию на кнопку открывается другое активити с текстом для этой ячейки. Самый простой вариант: создать для каждой кнопки своё активити с соответствующим текстом. Но этот вариант мне кажется не грамотным и слишком ресурсоёмким (кнопок порядка ста). Я изучал уроки, но явных ответов на свои вопросы не нашёл. Не могли бы вы подсказать как это можно реализовать грамотно.
похожая проблема тут уже обсуждалась. Ищите по форуму.
И вообще вы пишете в совершенно левую тему. Смысл?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить