⬤ vitaly
я так делаю и кайфую
⬤ vitaly
только не знаю что с нулабельными делать, если бы их ещё как-то разруливать, вообще красота бы была
⬤ vitaly
я как-то решил про раст почитать, может, поучить, открыл, вижу - нулл нету, я такой "ахаха" и решил вернуться лет через 5, может
Mike
не вижу ни одной причины делать нуллы, когде нет необходимости интеропиться с бажным легаси
⬤ vitaly
прекраснейший язык
я же и не спорю, просто я пока не могу осознать его красоту
⬤ vitaly
не вижу ни одной причины делать нуллы, когде нет необходимости интеропиться с бажным легаси
а как поступать со всякими там походами в базу, инторнет и прочий "внешний мир"? Ну и модельку, скажем, для запроса удобно делать со всеми нулабельными параметрами. Как это вообще в расте решается?
Стас 🍕🍕🍕
нельзя доверять тому что приходит извне
Mike
а как поступать со всякими там походами в базу, инторнет и прочий "внешний мир"? Ну и модельку, скажем, для запроса удобно делать со всеми нулабельными параметрами. Как это вообще в расте решается?
«Ну и модельку, скажем, для запроса удобно делать со всеми нулабельными параметрами.» Омерзительно. Кто заспецифицирует поведение для всех сочетаний пустых полей?
Mike
есть Option<T>, который тот же нуллабл, только явно
Mike
есть Result<T, E>, для информации о неудачах
Vladimir
«Ну и модельку, скажем, для запроса удобно делать со всеми нулабельными параметрами.» Омерзительно. Кто заспецифицирует поведение для всех сочетаний пустых полей?
Чаще всего никто ) И даже никому это интересно не будет. Просто вот так. Речь конечно же о большинстве галер, а не топовых
Mike
Чаще всего никто ) И даже никому это интересно не будет. Просто вот так. Речь конечно же о большинстве галер, а не топовых
А с чего бы большинству галер вообще использовать раст? Среднегалерному уровню интеллекта больше соответствует го или пхп. (или вкратце о том, почему большинство продуктов — такое говно)
⬤ vitaly
есть Option<T>, который тот же нуллабл, только явно
ну, вопросик после типа разве нельзя считать явным?)
Mike
ну, вопросик после типа разве нельзя считать явным?)
Можно. Но он — длинный костыль в системе типов. Например, нельзя выразить T??
⬤ vitaly
есть Result<T, E>, для информации о неудачах
а если запрос удачный, но не все поля вернулись, скажем (и так задумано)? Ты ответишь "надо так не задумывать", я знаю, но блин))
Мухаммет
Что нужно использовать вместо SimpleDateFormat от JAVA??
Mike
Что нужно использовать вместо SimpleDateFormat от JAVA??
стоит спросить у автора тудушки
⬤ vitaly
стоит спросить у автора тудушки
автор - он, очевидно же)
Мухаммет
Это я написал для вас, что б в глаза бросалось
⬤ vitaly
🤷‍♂️ я ж сказал
Mike
Это я написал для вас, что б в глаза бросалось
ну вот ты себе и ответь, что имел в виду, когда писал это
⬤ vitaly
Это я написал для вас, что б в глаза бросалось
я перефразирую доёб: ответь, зачем тебе что-то использовать вместо него и для чего
Kanstantsin
А если хочешь избежать ворнинга, то поидее там ещё локаль нужно передавать
Mike
и сам формат неплохо бы :)
Kanstantsin
но это навскидку, без кода, могу ошибаться
Kanstantsin
ну кстати да, формат тоже указать надо же )
Mike
да тут только кофейную гущу юзать, чтобы понять, что имел в виду автор
Azim
Здравствуйте, в recycler view метод getChildAt возвращает только те которые видны на экране. Другие методы как findViewHolderForAdapterPosition возвращают null. Из за чего они могут вернуть null. P.s я не использовал swapAdapter до вызова childView
George
всем привет, поскажите пожалуйста, вытаскиваю данные из бд room, и прилка глохнет на 2 секунды и в логе вот это I/OpenGLRenderer: Davey! duration=2700ms; Flags=1, IntendedVsync=42476898114482, Vsync=42479198114390, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=42479198572200, AnimationStart=42479198609300, PerformTraversalsStart=42479198763200, DrawStart=42479501127400, SyncQueued=42479557374400, SyncStart=42479559041000, IssueDrawCommandsStart=42479560787300, SwapBuffers=42479567981400, FrameCompleted=42479600449100, DequeueBufferDuration=323000, QueueBufferDuration=757000, что то про длительность, я гуглил - ничего толкового не нагуглил
Co(n)stantine👨‍🔬
профайлер
Стесняюсь спросить, а что там за Davey 🤔
Co(n)stantine👨‍🔬
random name?
Vadim
как можно добавить абстрактный класс в качестве observer'a для lifecycle?
Azim
А зачем тебе это?
У меня есть категории и в каждом из них есть вопросы и я должен собрать все ответы в один лист.
George
профайлер
а вот я увтдел промежуток в профайлере, как понять что с ним делать и откуда он вообще?
George
почему они стопнулись? подскажите плз кто нибудь
Vadim
Унаследовать от него класс
к примеру у меня есть метод который я реализовываю в своём объекте и после использую в презентере как презентер использовать в качестве observer'a проблем нет, но как засунуть можно его в этот метод и можно ли так вообще сделать? /** * Create Polling Service for an SCA Authorizations list status */ override fun createAuthorizationsPollingService(): PollingServiceAbs<FetchAuthorizationsContract> { return AuthorizationsPollingService() } PollingServiceAbs - это мой так раз таки абстрактный класс
Руслан
У меня есть категории и в каждом из них есть вопросы и я должен собрать все ответы в один лист.
Тебе не нужно обращаться к вьюхам для этого. Лучше всего будет собирать все ответы в модель сразу при вводе. У тебя там текст и кнопки? Ставь на них листнеры и при изменении собирай сразу. Тебе так же понадобится модифицировать Item'ы, чтобы при скролле введённые ответы не сбрасывались. Вот можешь потом со списка Item'ов и собрать все ответы.
George
duration не должно быть >= 700 ms 🤔
я беру данные из бд и через колбэк сетаю их, и вот такая штука происходит на несколько секунд замирает прилка
Vadim
Ну если твой AuthorizationPollingService наследует PollingServiceAbs, то всё ок.
получается что ничего лишнего не надо добавлять в метод выше скинутый если у меня уже есть просто аннотации в методе абстрактного класса? могу уже просто вешать обсервер на презентер? я правильно понял?
Руслан
Если я правильно понял задачу
Руслан
Может быть, во ViewHolder'ах что-то тяжёлое инфлейтится? Например, если выполняется inflate во вложенных вьюхах в ячейках списка.
Vadim
Ну, твой сервис ещё и LifecycleObserver он так же должен наследовать, если ты хочешь его зарегистрировать
если можно я ещё раз продублирую чтобы добавить во фрагмент обсервера, который у меня по сути абстракный класс, а именно его методы с аннотация аля @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) то мне нужно унаследовать абстрактный класс от LifecycleObserver и после этого так как данный класс у меня используется в объекте в этом методе: override fun createAuthorizationsPollingService(): PollingServiceAbs<FetchAuthorizationsContract> { return AuthorizationsPollingService() } а этот метод уже в презентере, то я во фрагменте делаю следующее lifecycle.addObserver(presenter) при всём при этом у меня сервис наследует абстракатный класс class AuthorizationsPollingService : PollingServiceAbs<FetchAuthorizationsContract>() {
Руслан
Так же посмотри, чтобы в onBindViewHolder не было инфлейта.
Vadim
В качестве lifecycleobserver нужно регистрировать тот объект, класс которого этот интерфейс наследует. Абстракность супер-класса тут ни при чём.
ну у меня сейчас получается что презентер наследует LifecycleObserver и абстрактный класс наследует LifecycleObserver
George
Рекомендую почитать книгу Android High Performance Programming Diego Grancini
Книги это круто, но проблему то щас надо решить
Руслан
ну у меня сейчас получается что презентер наследует LifecycleObserver и абстрактный класс наследует LifecycleObserver
У тебя получается два обзёрвера. Тебе именно это нужно? Их нужно регистрировать и отвязывать независимо. Всё. В чём вопрос был?
Nurislam
Подскажите лучший подход по созданию не стандартной клавиатуры?
Vadim
У тебя получается два обзёрвера. Тебе именно это нужно? Их нужно регистрировать и отвязывать независимо. Всё. В чём вопрос был?
по идее нет, нужен один. Вопрос был в том как добавить абстрактный класс в качестве обсервера во фрагмент учитывая что в абстрактном классе методы с аннотациями жизненного цикла.
Vadim
Просто наследуй свой абстрактный класс от обзёрвера.
а после мне не надо как то ссылаться аля lifecycle.addObserver(АБСТРАКТНЫЙ КЛАСС) ???
Руслан
а после мне не надо как то ссылаться аля lifecycle.addObserver(АБСТРАКТНЫЙ КЛАСС) ???
Регистрируешь экземпляр класса, наследующего твой абстрактный. Сам абстрактный класс нельзя инстанцировать...
Vadim
Регистрируешь экземпляр класса, наследующего твой абстрактный. Сам абстрактный класс нельзя инстанцировать...
сейчас будет очень глупый вопрос экземпляр класса это в моём случае AuthorizationsPollingService?
Руслан
Да.
Vladimir
Если по инструкции от Гугла, то да, подключал, проблема такая же
Руслан
@morozovvadim91 рекомендую книги по Java для начинающих, читать про ООП.
Vladimir
Нет. Поэтому если кто то решит - было бы интересно почитать )
Anonymous
Здравствуйте, подскажите пожалуста, может ли телефон с настройкой - имитировать аномалию (монохромный режим) расходовать больше батареи, нежели когда эта настройка отключена.
Mike
почему они стопнулись? подскажите плз кто нибудь
не знаю, ответили ли, но надо зайти в CPU и посемплировать
George
не знаю, ответили ли, но надо зайти в CPU и посемплировать
Не ответили, а как это слово в именительном падеже звучит, чтоб я погуглил что это😹