Axbor
а, ну такое может работать, но будет вызывать миллионы таких споров, так что юзай первый способ, он очевиднее
то что миллионы не понимают как работает унаследование не аргумент чтобы использовать первый))
Максим
то что миллионы не понимают как работает унаследование не аргумент чтобы использовать первый))
очень опрометчивое заявление. Первое решение в разы лучше по ряду причин, но я так понимаю, второе принадлежит тебе)
Dj
+1 за первое решение
Arsen
ну когда у класса много пропертей, то я их декларирую по блокам в завис от контекста, не люблю, когда в шапке файла вермишель
Arsen
с конструктором такого не сделаешь
Максим
"Первое решение в разы лучше по ряду причин" я спрашиваю одну причину ))
1. никто не сможет сделать анонимный класс наследника и передать ему конструктор 2. первый вариант - более общепринятый способ 3. вызывает меньше путаницы с параметрами в конструкторах, от которых даже гугл завещали отказаться Достаточно?
Arsen
вообще наличие фрагмента сильно искажает все, если вопрос чисто в контруктор vs филд, то это совсем другой разговор
Arsen
ко всему этому можно подкинуть DI, который иногда навязывает тот или иной способ инициализации
Axbor
4. Ещё и студия будет ругатся на фрагмент с конструктором
это абстрактный класс, никто не будет ругаться )
Axbor
Axbor
вот пример имплементации обеих вариантов
Arsen
а в чем суть инфлейта через бейзкласс?
Arsen
1 строчка?
Arsen
которая будет филдом в новой версии
Axbor
1 строчка?
3 строчки
Axbor
которая будет филдом в новой версии
+ много фрагментов * 3 строчки
Arsen
покажи эти 3 строчки
Axbor
покажи эти 3 строчки
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { inflater.inflate(layoutRes, container, false) }
Arsen
ааа, у нас просто широкий стайл, без лимитов на 100-120 символов
Максим
количество строк абсолютно одинаковое
Arsen
без широкого моника в 2018
Сергій
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { inflater.inflate(layoutRes, container, false) }
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?) = inflater.inflate(layoutRes, container, false) 1 🌚
Сергій
все можно
Максим
гуглинг ничего не дал?
Максим
а как они вообще связаны?)
Максим
может ты ретрофит имел в виду?
Vlad
Нужно самое нормальное решение для задания Нужно веюхи перетаскивать по экрану, менять местами между собой и свайпом выкидывать из экрана Я так понимаю это все можно сделать онТачем для перемещения вю и просчитать свайп и драг лиснером ( если надо навести одну вю на другую и что бы нижняя поймала это действие и поменялась местами ) К тому знает анимации и лайаут который с такими задачами справится? И правильно ли я думаю с лиснерами?
Vitaly
Извините, что пишу здесь, но дргуой группы не нашёл) Какие книги стоит почитать, чтобы разобраться в операционных системах? Можете скинуть беседу, где этот вопрос будет уместен
You
@pro_osdev попробуй
Iuriich
У меня 2 папки values и values-v19, где под kitkat я переписал пару строк в strings.xml. Почему когда я запускаю приложение на >=21 у меня строки берутся из v19 а не из стандартного?
Максим
то есть тебе нужно сделать наоборот - в v19 вынести те строки, которые должны использоваться везде
Сергій
Понял, благодарю
https://developer.android.com/guide/topics/resources/providing-resources#BestMatch
Sasha
У кого-то было такое, что third party либы не тянут android X и пытаются в support, которого нет? EnableJetifier true, если что
Dima
Подскажите, при запуске notification с сервиса ничего не кастомится в самих настройках notification Android 8.0.0
Ivansuper
Так. Спрошу еще раз, но с базой некоторой. Детальная документация по SQLiteHelper очень бедна в Андроиде, поэтому у меня вопрос. Основываясь на данном материале: https://www.sqlite.org/isolation.html можно утверждать, что в рамках одного подключения к базе у нас по сути работа с транзакциями идет в молоко, т.к. на одном и том же подключении к базе операции чтения видят результаты записи из транзакции. Exclusive или Immediate транзакции имеют смысл когда для базы открыты несколько подключений, но меня интересует именно одно подключение. Все гугления на темы SQLiteOpenHelper ничего особого не разъясняют, за исключением того момента, что, мол, в нем есть thread safety, не парьтесь особо. Но вопрос в другом — действительно ли если держать одно подключение к базе и работать, скажем, из двух потоков, то чтение всегда будет получать все данные записи до окончания транзакции записи? Или же запросы в рамках одного подключения к базе сериализуются? (т.е. встают в очередь и не пересекаются). Интересует объяснение в том или ином виде. Вы мне можете сказать "поди попробуй", но мне нужен материал или объяснение. Так что, огромная просьба к вам, откликнуться, если кто в курсе.
Ivansuper
Еще я не могу понять как открыть подключение к базе с явным указанием одного из трех режимов работы, указанных здесь: https://www.sqlite.org/threadsafe.html
Ivansuper
Еще у меня есть подозрения, что в Андроид имплементации SQLiteDatabase построена по особому, предоставляя дополнительные механизмы консистентности данных (в слое Java). Но нигде об этом не написано ничего, а в исходниках пока запутался.
Ivansuper
И да, извиняюсь за тонну текста
Dima
При подаче контекста сервиса плохо работает Контекст активити - отлично работает. Но надо подавать с сервиса тоже , как пофиксить?
Dima
Notification Channels?
Все правильно, все есть
Ivansuper
Все правильно, все есть
Я не совсем про это. Я про то, что настраиваются свистелки через каналы
Ivansuper
И помоему не изменяются после создания канала
Ivansuper
(что несомненно удобно, спасибо Гугл)
Dima
Есть базовый класс к-й подает notifications по методу и
Dima
При подаче контекста сервиса плохо работает Контекст активити - отлично работает. Но надо подавать с сервиса тоже , как пофиксить?
Dima
Т.е. они настроены фишка в контексте, хз почему такие лаги
Сергій
🤔(нихера не понятно)
Dima
Еще раз, при отправке notification с сервиса и подачи в него контекст сервиса - все кастомные настройки в notification херяттся. Ни кнопок нету , ни темы какой я ставил Если же запускаю с активити всё збс
Dima
И такое только на 8.0.0 срабатывает
cent
Подскажите, а есть готовая vagrant виртуалка для того, чтобы собрать андроид прошивку?
Sergey.Shr
Ребят, кто-нибудь пользовался оператором zipArray в RxJava?
Vova
Всем привет, может кто сталкивался, хочу протестить instal referrer. По команде adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n package_name/.RefererReciever --es "referrer" ресивер не срабатывает
Alex
Товарищи, подскажите по Picasso. Можно ли как-то сделать, что бы урлы формировались как в Retrofit2, через фигурные скобки? Например, /a/b/{c}/{d}/e. Что бы при запросе можно было как-то передать "c" и "d".
Sergey.Shr
Есть ли какой пример реализации)
Alex
String.replace?
да, но кривовато мальца выглядит. тогда фигурные скобки не будут работать, и надо писать шаблон
Ruslan
Picasso?
Прочитал Retrofit)
Николай
Как в Rerofit задать постоянные поля, используемые при каждом запросе ??
Максим
Alex
String.replace("{c}",c)
Спасибо, жаль, что нельзя как-то аннотациями это менять
Alexey
Спасибо, жаль, что нельзя как-то аннотациями это менять
Ну почему нельзя, посмотреть надо как в ретрофите сделано, сгенерировать потом также по интерфейсу реализацию запроса Пикассо) ток нахер надо?
Alex
ну да, пока обойдусь так) спасибо за подсказку
Михаил
Как в Rerofit задать постоянные поля, используемые при каждом запросе ??
Сделать ConverterFactory. Реализовать метод requestBodyConverter