2014-01-11 4 views
0

Я написал сетевую библиотеку для своего приложения для Android и хочу получить доступ к значению url, которое я определил в своем strings.xml файле из этой библиотеки. Проблема в том, что библиотека не является Activity или Fragment или что-то в этом роде, и поэтому у нее нет доступа к нормальному контексту или другим вещам, которые вы получаете от первого лица Android. Есть ли какой-либо способ для меня получить доступ к значению без Контекста (или без того, чтобы он проходил во время вызова функций из «Действия и фрагменты»)?Доступ к значениям strings.xml в библиотеке

Я знаю, что я могу легко получить доступ к классу R, но все, что дает мне, - это байтовые смещения. Мне нужен метод getString(), чтобы превратить это смещение во что-то значимое, если я не хочу делать много веселых игр на необработанных байтах (чего я бы хотел избежать).

Спасибо!

ответ

1

Нет, нет, и ручное разбор данных низкого уровня, безусловно, не является решением здесь. Весь смысл ресурсов должен быть получен согласно до квалификации Контекста (отсюда и сильная система квалификаторов), и именно поэтому я сделал это предложение в другом заданном вами вопросе. :-)

Если вы не предоставите способ (например, параметр метода), вы не сможете получить ресурс. Это доходит до того, что вы должны переосмыслить архитектуру вашей библиотеки: зачем вам URI быть квалифицированным? Если вы находитесь в библиотеке, клиентское приложение будет иметь свой собственный контекст и может безопасно предоставить его в свою библиотеку, тем самым извлекая ресурс. Если это не точка (I.e., получить доступ к URI в коде), тогда вы не должны использовать ресурс, а конечную статическую переменную вместо этого, как я предложил.

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

+0

ОК, звучит хорошо; благодаря! – joshlf

+0

Добро пожаловать. Я рад, что смогу помочь! – davidcesarino

Смежные вопросы