Сергій
Сергій
Многие приложения ещё не адаптированы
Евгений
Коллеги, подскажите, пожалуйста. Изучаю MVP. Чтобы постоянно не делать if(view !=null) в Presenter, я создал fake view interface. Если view удалена, то Presenter обращается к fake view interface. Проблема в том, что когда я сворачиваю view (onStop detachView), презентер работает в фоне, выполняет операции и обращается к fake interface. А когда view возвращается (onResume attachView) событие, закрытия текущего view и создание нового, не отрабатывается, т.к оно отработалось в fake interface. Как мне этого избежать, чтобы при (onResume attachView) событие отработанное в фоновом режиме сработало?
Евгений
Правильно я понимаю, что данная задача не является тривиальной и гораздо эффективней не рещать ее с 0, а изучить Moxy?
Igor
А еще можно весь UI стейт хранить в локальном объекте и каждый раз перерисовать весь UI 🌚
… (а что бы не тормозило юзать litho)
JRoot3D
JRoot3D
Евгений
Спасибо, буду учить.
Vitaly
Здравствуйте коллеги.
А подскажите плиз набор либ для андроида(rest, анимации, best practices)
Roman
Vitaly
Roman
Это на вскидку. Плюс support libraries
Vitaly
Retrofit я смотрю как был популярным - так и остался )
Yerlan
У меня в recyclerview есть itemview с framelayout, внутри него есть horizontalprogressbar. Для него поставил width = match_parent, но почему то это не работает. Как я понимаю это из за того что он изначально не знает какова длина parent-a. Кто знает, как можно решить эту проблему?
Сергій
Epoxy для работы со сложными списками
Георгий
Еще есть Groupie, вполне неплохой вариант
Кирилл
Roman
Вы раньше писали под Андроид, а потом бросили? =) Можете изучить еще новый компоновщик ConstraintLayout
Yerlan
Кирилл
Вот и ответ на вопрос.
Yerlan
Вот и ответ на вопрос.
если делаю match_parent, у меня item будет занимать всю ширину, а у меня по дизайну она зависит от imageview(картинки)
Yerlan
Yerlan
Igor
blaccyee
Народ, а в каком формате передавать string, чтоб JSONObject схавал ее и прогнал по своему формату? Думаю, так точно не выйдет) login:admin&pass:admin
Igor
Сергій
🔥
Vladislav
когда у тебя какой-то шаред транзишен есть элемента из одного экрана в другой, а на целевом экране эта же картинка грузится из сети, ну это например
Vladislav
да ну, главное вляпаться, а дальше само
Сергій
чтобы взять размер вью
Сергій
нет, и при обыных тжео
Сергій
если ты сразу после setContentView сделаешь myView.getWidth() то он будет 0
Сергій
так как операции onMeasure, onLayout и onDraw в какой-то мере асинхронные
Сергій
это всё ивенты мейн лупера
Сергій
нет, поток 1
Сергій
он для анимаций
Сергій
main thread это Looper thread
Сергій
🙈
Сергій
RecyclerView тоже асинхронная вью по своей природе =) например, scrollTo будет дожидаться следующего кадра хореографа
Сергій
у вас видимо есть своя альтернативня реализация вью подсистемы, которая может работать в одном потоке и обрабатывать сотни ивентов чтобы не фризить ничего? 😏
Сергій
но какашек накидали, понятно )
Darya
Хотелось бы узнать мнение. Была реализована система авторизации в приложении, там три типа. Реализация была сделана из готового решения Firebase. Вот думаю, как лучше сделать, сейчас все разгребсти по разным классам, типа с интерфейсами, инкапсуляцией, инъекциями или пока забить и вернуться позже. Делать дальше?
Kirill
Привет всем! подскажите пожалуйста по подписи аппки. Есть такой момент:
При подписи аппки с помощью
jarsigner -verbose -keystore
Аппка не ставиться на старый телефон 4.2
Для старого нужно подписывать через
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA
Но это для дебага. Для релиза нужно использовать v1SigningEnabled и v2SigningEnabled которые прописываются в build.gradle
Проблемма в том что такой релиз на ставится на старый телефон, как можно решить подскажите пожалуйста?
Kirill
И если кто знат решение, пожете еще пожалуйста объяснить причину
Anton
Kirill
нет, приложение только выпустилось
Kirill
сейчас попроовал собрать v1SigningEnabled и v2SigningEnabled и через студию и через gradle все норм
Kirill
странно, чему после релиза такая бага
Anton S
много библиотек dagger\moxy генерируют свои фарбрики, может сказать что читать, чтобы разобраться как генерировать свои классы программно?
Igor
Anton S
Viacheslav
столкнулся с такой проблемой
обращаюсь к удаленному серверу через HttpClient используя мобильный интернет - все работает.
переключаюсь на wi-fi - отваливается.
думал дело в пермишинах. добавил ACCESS_WIFI_STATE и CHANGE_WIFI_STATE ничего не поменялось. куда еще копать?
Igor
А сервер доступен из wi-fi сети?
Igor
В браузере открывается url, по которому запрос совершается?
Viacheslav
да. они в 1 домене
Anton S
Annotation Processor
может еще знаешь, смогу ли я прямо в андроид проекте поместить код для генерации классов, или обязательно это делать в какой-нибудь Idea, потом собирать Jar, а потом только использвать в Android Studio?
Viacheslav
Igor
Anton S
Igor
Да
Anton S
Спасиб
Anton S
Да
если в gradle указываю либу как implementation - то, не попадаю в метод process
Почитал что в новой студии нужно указывать вот так:
annotationProcessor project(":sauce")
но когда так делаю, то в модуле самой аппы не видны классы из модуля sauce. И ни в каком из случаев не попадаю в метод process класса унаслед. от AnnotationProcessor
Aleksandr
фрагменты, активити юзают только там где предусмотрена точка входа в приложение
Anonymous
Так как DialogFragment со ставкой макета xml работает с v21 , я так понимаю никто не использует?)
Алексей
Anonymous
Ну щас читаю вроде и не с 21
Anonymous
В одной статье написали что с 21
Anonymous
setView
Igor
Алексей
Пользователю будет приятнее смотреть на один и тот же экран, на котором анимированно появляются поля, и если он, например, хочет войти, а ему говорят, что аккаунта нет, то должно быть легко перейти в режим регистрации. Городить ради этого несколько экранов сомнительно.
Алексей
какое преимущество вам дадут фрагменты?
Aleksandr
https://android-developers.googleblog.com/2018/02/introducing-android-ktx-even-sweeter.html?m=1&_utm_source=1-2-2 мб кто не видел, прикольная штука 🙂
Алексей
когда вам надо листать вправо-влево несколько разных экранов, например, или когда делаете master-detail flow на одном экране. Кто-то вообще использует активити только как контейнеры для фрагментов.
Aleksandr
я лично использую одно активити и все остальное фрагменты, пока что не сталкивался с ситуацией когда надо добавить еще одно активити, но проблем с этим не возникнет
Алексей
в одиночку взялись большой боевой проект делать?
Aleksandr
а на сколько сложное приложение? Не стартап ли случаем у вас там)