Size: a a a

AndroidDev :: Разработка. It's Android time now!

2020 April 08

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Вопрос такой. Пытаюсь получить строку из ресурсов. В активити все ок, из апп говорит не найден ресурс. Посмотрел и правда resources в апп и активити разный. Подскажите, как справиться?
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
Из апп? В плане?
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
создаю в application синглтон, там нужна строка из ресурсов
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Если более детально. То в application создаю провайдер для доступа к REST API, там куча хедеров, которые в теории могут потом поменяться. На месте их прописывать неохота, лучше вынести в ресурсы и брать оттуда. И тут гемор, не могу из application достучаться до ресурсов
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
ну если ты ничего не напутал с ресурсами
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
то может invalidate cache поможет, не?
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
в студии
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Так радикально?:)
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Чтож, попробую
источник

J

Jktu in AndroidDev :: Разработка. It's Android time now!
ну или код покажи
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
сейчас. После сброса кэша что-то пошло не так
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
class BlueDataApp : Application() {

   val viewModelFactory: ViewModelFactory
       get() = provideViewModelFactory(applicationContext)

   companion object {

       private var mViewModelFactory: ViewModelFactory? = null

       private fun provideViewModelFactory(context: Context): ViewModelFactory {
           return mViewModelFactory ?: ViewModelFactory(
               context,
               getNetworkDataSource(context)
           ).apply { mViewModelFactory = this }
       }

       private fun getNetworkDataSource(context: Context): BlueDataSource {
           return Retrofit.Builder()
               .baseUrl(context.getString(R.string.bd_url))
               .addConverterFactory(GsonConverterFactory.create())
               .build()
               .create(BlueDataSource::class.java)
       }
   }
}
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
В упрощенном варианте так
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
вот только зачем тебе вообще эти строковые ресурсы сдались? Ты же там язык не меняешь у них
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
или хочешь, чтобы cats.net переводилось в котов.нет?)
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
как по мне, завел бы я константу или класс отдельный
источник

Y

YorkIsMine in AndroidDev :: Разработка. It's Android time now!
вряд ли ты где-то еще это будешь использовать
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Ну сам урл нет конечно:) Для упрощения убрал интерсептор, где хедеры ставятся
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
а чем мне класс отдельный поможет?
источник

КБ

К Б in AndroidDev :: Разработка. It's Android time now!
Хм
источник