François Leclercq
Что за Observable? Single? Flowable?
Просто Observable он быть не может что ли?
Mike
Просто Observable он быть не может что ли?
Это слишком неконкретно.
François Leclercq
Это слишком неконкретно.
Вообще там сингл подходит. Но где-то что не стыковалось при изменении архитектуры, и я, перелопатив гитхаб нарыл что и обсервабл сойдет
Mike
ГУГЛ! Завези нам CompletableFuture!! Все обмазались ReactiveX, а пользоваться не умеют!!!11
François Leclercq
Сейчас лучше кодом поясню. Вроде как в изначальном сообщении все было предельно ясно
François Leclercq
ГУГЛ! Завези нам CompletableFuture!! Все обмазались ReactiveX, а пользоваться не умеют!!!11
Гугол не помог. И давай все-таки не будем на личности переходить. Я же не исхожу ядом когда вижу тупые вопросы? Сам таким был. И отвечаю
Mike
Скорее всего, нужен flatMap
Mike
Раз это просто Single, zip будет излишним
François Leclercq
Представим что обращение происходит к двум совершенно разным апям. По UX - есть выборка последних новостей и выборка поиском. Презентер: public class NewsPresenter extends BasePresenter<MainView> implements Observer<Response> { public void getNews(int limit, int offset) { Observable<Response> observable = apiService.getDefault(limit, API_KEY, offset); subscribe(observable, this); } я думал через маркер-интерфейс подключить оба ResponseArray и сделать второй такой же метод (с пергрузкой или свичом) с другим обсерваблом
Mike
В качестве фьюч — самописные CompletableFuture поверх Future или Call либо корутины, в качестве сабджектов — своя библиотека. Остальное — сотни комбинаторов и Flowable — мне в мобильной разработке не нужно.
François Leclercq
Потому что апи одного сайта, но на выходе совершенно разные объекты
François Leclercq
https://github.com/L1maginaire/NewYorkTimesClient картинки глянь
Himars
грубо говоря ваш фрагмент может находится в активити, у которой такого метода нет
Так методы активити лучше всего дергать через интерфейс. Так что вторая активити тоже реализует интерфейс но вызов этого метода может просто игнорить
Mike
Маленикие, сфокусированные библиотечки, которые чётко решают свои задачи и имеют очевидный API, мне нравятся больше, чем монолиты вроде Rx, Guava или GMS.
François Leclercq
@Harmonizr я делал без рыхов и все нормально работало. теперь решил совершенствоваться в том направлении. неужели это заслуживает казни?)
François Leclercq
Ну ты спрашиваешь - как это связано
François Leclercq
Совершенствоваться хорошо и полезно. Но с какой целью?
Программу обучения прохожу соответствующую =)
Mike
Можно, надо код.
François Leclercq
Все ок пока мы действуем в рамках одного запроса. Я так понимаю нужно выносить implements из презентера?
Личность
а можешь показать тулбар? просто я как раз делал так, и у меня всё норм было
Дак там вроде нечего показывать. Пустой Toolbar, меню у которого есть Item с actionViewClass=SearchView. При клике на иконку помска я скрываю кнопку через getActionBar().setDisplayHomeAsUpEnabled(false). Но поле поиска все равно имеет отступ..
François Leclercq
Ну допустим, это ничего особо не меняет. Получается нам две херни нужно чтобы каждая свой имплементила?
Mike
и что внутри layout_empty_list?
Mike
хмм, я бы посмотрел в layout inspector или hierarchy view
Mike
О чёрт, кажется, так и есть.
Mike
codeshare.io
Mike
Попробуй положить empty view под координатор тогда.
Pavel
Хочу сделать тулбар на всех экранах (название экрана, на главных - кнопка меню, на дочерних - кнопка назад, на некоторых - поиск). Экраны сделаны как фрагменты, переключение между главными - NavigationDrawer. Как лучше делать - общий тулбар в активити или свой на каждом экране?
nischebroad
Как по мне, так на каждом экране свой тулбар. Все-таки каждый экран может иметь разный тулбар, с разными меню, иконками, еще и табами
nischebroad
то есть в onCreateView находить его по id и делать setSupportActionBar?
Просто добавить во фрагмент и находить как обычный view по id
nischebroad
Чтобы был на самом верху layout-а
Pavel
Если в целом он одинаковый, тем более есть общий navdrawable, то можно один.
А кнопку назад надо будет вручную добавлять, или это можно как-то автоматизировать? При replace фрагмента делаю addToBackStack, соответственно сейчас работает кнопка назад внизу экрана
Pavel
почему, и как тогда заставить работать кнопку меню для NavigationDrawer?
nischebroad
почему, и как тогда заставить работать кнопку меню для NavigationDrawer?
toolbar.setnavigationclicklistenrt, этот listener отработает нажатие по иконке
Pavel
спасибо, попробую
nischebroad
спасибо, попробую
Если хочешь визуальный пример, то gitlab.com/terrakok/gitlab-client
nischebroad
Не)
Pavel
спасибо
Сергей
Всем привет
Сергей
Я новичок
Сергей
Подскажите пожалуйста с чего начать? Литература нужна граммотно подобранная
Сергей
Или есть какой нить сервис по разработке приложений?
Сергей
Умею
Сергей
Но там куча разнонаправленной инфы
S
34
О! А я в 31 начал.
Сергей
Я понимаю в сайтостроении
Сергей
Но хочется создать в городе свой проект
Сергей
На андройде
No
На андройде
Startandroid.ru developer.android.com
Artemka
Start Android
Artemka
DevColibri
Evgeniy
Всем доброго времени суток. Ребят, помогите пожалуйста(( https://gist.github.com/avasites/badabd4e2d8e1c13fda4e05293e67f4a Код, то что выше, кидает такие исключения, которые ниже, как я понял. Как это можно исправить?(. Спасибо заранее!
nischebroad
Проверь приходящий json
Evgeniy
Проверь приходящий json
Не хаватет объектов, к которым обращаюсь?
nischebroad
Выложи весь stacktrace, так не очень понятно
Фаррух
Добрый вечер, коллеги. Работаю над переводом JavaBean в Kotlin Data Class'ы и возникла проблема в десериализации JSON массива (!) через Jackson, но для начала покажу что было и что стало. Было: class ProductsBean { ... @JsonCreator public ProductsBean(Product[] products) { mProducts = Arrays.asList(products); } ... } Стало: @JsonSubTypes(value = [(JsonSubTypes.Type(value = Product::class))]) data class ProductsBean(var categories: Array<Product>) В общем, сейчас получаю исключение при парсинге: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of ProductsBean out of START_ARRAY token Подскажите, как правильно парсить JSON массивы в Kotlin Data Class'ы.
nischebroad
Попробуй так
Evgeniy
Выложи весь stacktrace, так не очень понятно
https://gist.github.com/avasites/365e81674bed53bc8bd5abb09543dcef
nischebroad
Тыкну пальцем в небо Product::class Это надо указать не как класс котлина, а как класс джава
У него еще и в "до" аннотация на конструкторе, а "после" на классе самом
Alexey
У него еще и в "до" аннотация на конструкторе, а "после" на классе самом
ну так у котлина конструктор там записывается. Не знаю как аннотации там работают, возможно да - надо конструктор будет отдельно писать)
Alexey
@KotlinLangRu
Mike
@KotlinLangRu
Это чат перевода документации. Чаи языка: @kotlin_lang
Alexey
оу, сорян
Alexey
надо бы оттуда выйти
Фаррух
Всем спасибо за ответы. Также благодарю за ссылку на чат по Kotlin. Решение банальное: data class ProductsBean @JsonCreator constructor(var categories: Array<Product>)
Roman
Подскажите пожалуйста с чего начать? Литература нужна граммотно подобранная
Сначала надо научиться программировать вообще. Потом java изучить, потом уже писать под андроид
Александр
Сначала надо научиться программировать вообще. Потом java изучить, потом уже писать под андроид
а что вы такое интересное подразумиваете под програмировать вообще?
nischebroad
Научись программировать, а потом изучи java)