Vadim
app:layout_constraintBaseline_toBaselineOf="@+id/slack”
Vadim
и теперь выравнивает по тексту
Богдан
Господа не подскажите как прижать текст в listview к левому краю(он поумолчанию прижат к правому)?
Kanstantsin
Господа не подскажите как прижать текст в listview к левому краю(он поумолчанию прижат к правому)?
текст элемента ? он вроде к левому верхнему углу прижам по умолчанию
Kanstantsin
если не задано доп. атрибутов
Nikolai
на устройстве всего 312 мб?
На устройстве около 100 Мб свободно. И ещё 312 периодически менялось на 305, 320... В зависимости от каких-то изменений в gradle
Богдан
gravity в item.xml должно помочь
Проблема в том что не помогает
Anna
Проблема в том что не помогает
скиньте хмл в gist и покажите нам
Kanstantsin
Проблема в том что не помогает
значит вы что-то не так делаете, даже без атрибутов текст будет слева вверху
Сергей
На устройстве около 100 Мб свободно. И ещё 312 периодически менялось на 305, 320... В зависимости от каких-то изменений в gradle
Скорее просто проблема в свободном месте. У меня на старых смартфонах всегда была проблема, что при 300 мбайтах свободных не качались приложения... Ограничение обычное андроида. Возможно и у вас аналогичная проблема
Богдан
скиньте хмл в gist и покажите нам
Пустой RelativeView внутри которого пустой listview, width и height = match_parent
Богдан
RelativeLayout
Богдан
*
Anna
а item layout?
Богдан
Такой же только внутри него textview
Anna
вы используете custom item layout? скорей всего там должно быть. если нет... могу предположить что телефон возможно настроен на чтение справа налево?
Anna
какие настройки у textview?
Богдан
Пустые ;height и widht=matchparent
Vadim
Ребята кто то подскажет когда имеет смысл делать contract типа nullabe?
Kanstantsin
Пустые ;height и widht=matchparent
Лучше скинуть, неочень понятно все равно, во первых айтему зачем match_parent вопрос хороший и т.д.
d
Нужно вытягивать данные из базы, естественно асинхронно. В каком слое MVP это лучше делать и чем? Нормально ли запускать асинктаски из презентера?
Mike
асинктаски вообще не нормально использовать
d
А что тогда?
Mike
если ты задаёшь вопрос, в каком слое, то тебе не нужен MVP
Mike
А что тогда?
Executor, например
d
асинктаски вообще не нормально использовать
И почему? К активити не привязываю, утечки быть не должно
d
если ты задаёшь вопрос, в каком слое, то тебе не нужен MVP
Я имел в виду может какой интерактор надо вставлять
Mike
И почему? К активити не привязываю, утечки быть не должно
потому что у них уродский API, тупые ограничения (нельзя создавать их в фоне) и непредсказуемое поведение (разное количество потоков на разных версиях)
d
зачем?
Отделить работу с базой и не раздувать презентер?
d
В общем спасибо, за executor почитаю
Roy
смотри как тут сделано https://github.com/googlesamples/android-architecture/tree/todo-mvp-rxjava
Mike
смотри как тут сделано https://github.com/googlesamples/android-architecture/tree/todo-mvp-rxjava
прикольно, обмазались хайповыми либами и раздули туду-лист до 4к строк
Konstantin
это пример для обучения, он такой и должен быть
d
я правильно понимаю, что если тебе нужна просто асинхронность - то рх тебе не нужна?
Mike
я правильно понимаю, что если тебе нужна просто асинхронность - то рх тебе не нужна?
рх нужна только создателям рх, она решает какие-то странные и очень специфические задачи
Mike
а, ну и для собеседований
Konstantin
Смешно, хорошо хоть не правда)
иногда мне кажется он слишком толсто это делает)
Kanstantsin
рх нужна только создателям рх, она решает какие-то странные и очень специфические задачи
Хотелось бы тоже так сказать, но в куче проектов она есть уже, не моих, но везде в стэке рх, Даггер, архитектура, котлин
Kanstantsin
Такие дела
d
корутины смотри
так это ж к котлину
Kanstantsin
Вот корутины хочу чтобы были в стэке.. или ворк менеджер
Konstantin
так это ж к котлину
а, вы старовер )
d
наоброт, еще слишком зеленый
d
или ваще пофиг на чем осваивать фреймворк?
Konstantin
на джаве учи, когда надоест многословность - переходи на котлин
Konstantin
только из-за этого?
база вся на джаве, нужно знать
Mike
смотри как тут сделано https://github.com/googlesamples/android-architecture/tree/todo-mvp-rxjava
Внимательно почитал, очень хороший пример, как делать не надо. Спасибо.
Сергій
Дайте пример: "как надо делать" 🌝
Сергій
Сейчас выяснится что на андроид так не выйдет писать и все разойдутся по домам 🌝
Konstantin
иногда мне кажется он слишком толсто это делает)
Не кажется. Но кто-то же должен говорить, что он не прав, чтобы новенькие ребята не думали, что это так, только потому что админ так пишет)
Vadim
Mike
и что же там не так?
Страшная лапша типа .flatMap(() -> вжух!).toList().toFlowable(). Куча интерфейсов «чтоб были», по факту — не переиспользуемый, одноразовый код. Какой-то Injection, который хрен пойми как работает и непонятно откуда берёт объекты. Синглтоны со странными методами getInstance и destroyInstance. Вот тут, например, вопиющее незнание джавы. https://github.com/googlesamples/android-architecture/blob/todo-mvp-rxjava/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/util/schedulers/SchedulerProvider.java#L23
Konstantin
Этого недостаточно. Нужно ещё сказать, почему я не прав, конкретно указав на ошибки.
А что тут говорить. Ты свое мнение натягиваешь на всю индустрию, прикрывая это всё какими-то странными аргументами. Значит и с моей стороны достаточно сказать, что ты не прав.
Влад
надо код
https://pastebin.com/8Uw0Np38
Mike
https://pastebin.com/8Uw0Np38
а запускается он посредством startForeground?
Влад
Да
Ivansuper
Ребят, помогите разрулиться с составлением SQLite запроса. Ситуация такая, что есть две таблицы, одна — списки, вторая — пункты списков. Нужно собрать запрос, который вернет все колонки из таблицы со списками, но еще для каждого списка посчитает дополнительную колонку count() на количестве пунктов для каждого списка. Так уж сложилось, что особо не доводилось раньше делать подобные query, но вот стало требо
Влад
а запускается он посредством startForeground?
Или в активити сервис должен так запускаться? В активити сервис запускается командой startService(new Intent(MainActiviti.this, Myservice.class))
Mike
В чем заключается вопиющее незнание джавы?
в синхронизированном getInstance вместо простого безопасного static final SchedulerProvider INSTANCE = new SchedulerProvider()
Влад
та не, вроде должно быть достаточно
Тестирую на 2 реальных устройствах, Нокиа 5 на чистом Андроиде и на мейзу 3. На Нокиа работает где то около 15 мин в фоне при заболоченном экране, на мейзу 5 мин
Vitaly
У меня проект нормально собирается, но все библиотеки подсвечивает красным цветом) Как исправить это?
Vitaly
Алексей
Страшная лапша типа .flatMap(() -> вжух!).toList().toFlowable(). Куча интерфейсов «чтоб были», по факту — не переиспользуемый, одноразовый код. Какой-то Injection, который хрен пойми как работает и непонятно откуда берёт объекты. Синглтоны со странными методами getInstance и destroyInstance. Вот тут, например, вопиющее незнание джавы. https://github.com/googlesamples/android-architecture/blob/todo-mvp-rxjava/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/util/schedulers/SchedulerProvider.java#L23
ну как бы если не синхронизировать метод, в котором инстанс инициализируется и использовать его из разных потоков - то можно получить 2 инстанса синглтона. Но в данном куске кода, используется интерфейс, чтобы иметь возможность красиво мокнуть в тестах то что нужно через TestScheduler например - или свою какую-нибудь реализацию.