Есть вариант с ViewBinding, что неплохо.
А вот что конкретно не понравилось — нет возможности повесить clickListener на view внутри, только на весь контейнер.
Вместо одной строчки «setContent», теперь надо минимум 2
Надо явно сохранять binding в поле класса
Нельзя вынести inflate в базовый класс
Нельзя задать одинаковую логику для наследников с одинаковым id
В предпоследнем пункте имел ввиду следующий код, который с необходимость биндинга будет выглядеть уже не так красиво.
abstract class BaseActivity : AppCompatActivity() {
@LayoutRes
abstract fun getLayout(): Int
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(getLayout())
}
}
Как можно было депрекейтнуть такую крутую фичу как synthetic?
На хабре уже был очень хороший цикл статей посвященный компьютерной графике habr.com/ru/post/248153. В своё время очень помог мне со сдачей предмета. Странно, что тут нет отсылок на него.
Иногда полезно написать что-то с нуля, чтобы понять как оно работает внутри, хотя бы базовый функционал. Нас в универе заставляли писать свои реализации стеков, очередей, списков, деревьев и т.п. Я считаю это был полезный опыт. Просто посмотрев исходный код этого не запомнишь, а если один раз написать, то запоминается очень хорошо.
Боюсь мои грабли будут очевидны опытным разработчикам. Я всего полтора года изучаю андроид и 4 месяца работаю с часами. Да и после обнаружения оказывается, что это всё есть в документации, просто я слишком ленив чтобы её читать. Но спасибо за идею, думаю это был бы отличный опыт, давно хочу влиться в авторское сообщество.
Вот бы такую же статью про android wear. Сейчас как раз на них проект делаю, и на многие грабли уже наступил. В целом очень похоже, особенно про «долгую секунду», когда handler который должен был запуститься через 10 секунд, запускается через 30-40. Плюс ещё постоянное отваливание wifi для экономии.
Увы, но я пока всего лишь джун, чуть больше года в IT. Работаю в неком подобии аутсорса, и тут действительно проще спросить у заказчика, тем более менеджер сразу добавляет в конфу. Но вопросы там совсем простые: какого цвет фон, какая анимация при нажатии и т.д. Так что до бизнес архитектора мне ещё очень далеко.
Было бы здорово увидеть фотографии решений, читаешь и мысли «Я должен это увидеть». По поводу учебных материалов: мне кажется проще забить, только своим неудобства создавать, если конкурентам понадобится они и так узнают. А вот идея выложить на открытом сайте хорошая, заодно увеличите интерес. В конце концов люди в подобные кружки не из-за материала ходят, а из-за грамотного его изложения.
Есть вариант с ViewBinding, что неплохо.
А вот что конкретно не понравилось — нет возможности повесить clickListener на view внутри, только на весь контейнер.
Я так понимаю в примере используется синтетика, а без нее только самому определять ViewHolder?
В предпоследнем пункте имел ввиду следующий код, который с необходимость биндинга будет выглядеть уже не так красиво.
Как можно было депрекейтнуть такую крутую фичу как synthetic?