
Ivan
12.01.2017
20:38:22
и даже в java8 никто не запрещает передать null вместо Optional :)
если есть те,кто недавно начал с котлином,но имел опыт со скалой,гляньте на funktionale

Nick Senchurin
12.01.2017
20:39:21
sbt считается? )

Ivan
12.01.2017
20:39:42
кто-то юзает sbt для чего-то кроме как собирать scala проекты? :D

Google

Ivan
12.01.2017
20:40:49
я сейчас немного с беком на скале опять развлекаюсь и думаю может гредл юзать вместо sbt для сборки или вообще выкинуть скалу и написать большую часть на гоше

Nick Senchurin
12.01.2017
20:41:34
у меня коллега увлекался скалой, нам надо было завернуть наж джарник в образ, он сказал что сбт пойдет
достаточно оперативно набилдили , но на тот момент я не рисковал сказать, что я что-то типа такого и на градле запилю (

Ivan
12.01.2017
20:44:11
ну там бы что угодно подошло :) сейчас плагинчики для всего написали скорее всего(кроме анта), хочешь в докер завернуть - подцепи плагин,хочешь во что угодно завернуть - подцепи плагинчик
а способ нормально ресурсы хранить не запилили

Leonid
12.01.2017
20:53:37
Материалы за сегодня в дайджесте:
- Скажи "нет" Fragments (и Activities): View-driven приложения с Flow
- Понимаем ядро Android: Looper, Handler и HandlerThread
- Вышли SDK Tools 25.2.5
- Руководство по RxAndroid
- Реактивные приложения с Model-View-Intent
http://androiddev.apptractor.ru/interesnyie-materialyi-dlya-android-razrabotchika-nedelya-02/

Nick Senchurin
12.01.2017
20:54:14
да я тут полдня про презентеры внутри фрагмента трындел,
походу вот оно, решение (=

Михаил
12.01.2017
20:54:46
ага. там такое решение ;D
что потом человека на поддержку не найдешь

Nick Senchurin
12.01.2017
21:01:04
https://www.raywenderlich.com/141980/rxandroid-tutorial
как там Брюс Ли говорил: бойся того, кто учит один удар 1000 раз вместо 1000 по разу ну или типа того ))

Google

Nick Senchurin
12.01.2017
21:03:34
аа, а я тут на днях смайлики поудалял, походу Якуб попал под раздачу )
*тут стикер с Якубом карч^^*

Михаил
12.01.2017
21:04:44
ну самом деле во всем можно разобраться
главное мортар не юзать, как и написано в статье

Ivan
12.01.2017
21:05:01
какое-же гавно
private PublishSubject<Boolean> loading;
private PublishSubject<List<Person> persons;
private PublishSubject loadPersonsCommand;

Михаил
12.01.2017
21:05:32
недостаточно реактивно

Ivan
12.01.2017
21:05:49
ага,мне довелось тут недавно страдать с допиливанием фичи в такой вот проект :D
причем некоторые думают,что их кусок с сабжектами - реактивный
и таким людям сложно объяснить,что смысл реактивщины чуть в другом

Daniil
12.01.2017
21:07:37
а что не так с сабжектами? для тупых
прост в Observable не скормить хаотично появившийся эвент
типо юзер кликнул мышку или там связь с сервером тю-тю

Nick Senchurin
12.01.2017
21:08:22
стэйты кмк

Ivan
12.01.2017
21:08:34
самый сок - BehaviorSubject
и завязка на хранение значения в нем

Daniil
12.01.2017
21:08:48
Ну я вот AsyncSubject юзаю

Ivan
12.01.2017
21:09:57
зачем? :)

Daniil
12.01.2017
21:11:17
зачем? :)
Я плеер пилю. У меня в AsyncSubject пихаются свежие плейлисты, позицию, которую играет плеер и т.д.
хотя наверное BehaviorSubject там местами даже годнее будет. Но я что-то в нем нашел и ....

Google

Daniil
12.01.2017
21:11:43
вспомнил
как выяснилось AsyncSubject вообще не спасает.
Вот есть вроде удобная фишка. SomeSubject.onComplete()
Мне бы очень пригодилось чтобы все, кто, например, слушают какой сейчас трек играет (порядковый номер) резко перестали получать новые позиции как только меняется плейлист.

Михаил
12.01.2017
21:13:37
отписаться

Daniil
12.01.2017
21:13:46
но тут вот проблема. В состояние завершено переходят все подписчики. Это ок, так и должно быть. Но еще и сам сабжект переходит в это состояние
и его не отресетить никак
только новый инстанс создавать

Михаил
12.01.2017
21:14:16
почему?

Daniil
12.01.2017
21:14:21
а как?

Михаил
12.01.2017
21:14:24
это же горячий обсервбл

Daniil
12.01.2017
21:14:25
ща пол минуты

Михаил
12.01.2017
21:14:42
просто отписывешь подисчиков от него и все

Daniil
12.01.2017
21:15:14
ну если отписывать - да. А вот с завершением не взлетает :/

Михаил
12.01.2017
21:15:33
ну это ясен)

Daniil
12.01.2017
21:16:02
надо с отписыванием попробовать

Михаил
12.01.2017
21:16:17
ну оно так и должно делаться. как иначе)
еще есть ConnectableObservable
он конечно тут не панацея, но может найдешь в нем выгоду

Daniil
12.01.2017
21:16:51
хотя погоди

Google

Daniil
12.01.2017
21:16:57
а как отпистаь? не вижу метода

Михаил
12.01.2017
21:17:15
первый рх?

Daniil
12.01.2017
21:17:18
со стороны Subject я не нашел как отписать всех подписчиков
ты сейчас неловкие вопросы задаешь
)
compile 'io.reactivex:rxjava:1.2.3'

Михаил
12.01.2017
21:17:55
ну версия рх 1 или 2?)
ок
там уже 1.2.5 кстати

Daniil
12.01.2017
21:18:08
это первая или вторая?)

Admin
ERROR: S client not available

Daniil
12.01.2017
21:18:13
надо обновить

Михаил
12.01.2017
21:18:13
первый
ток не на второй :D

Daniil
12.01.2017
21:18:33
гм а где про второй погуглить? Он лучше чем-нибудь или просто форк?

Михаил
12.01.2017
21:19:06
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
но имхо особого смысла переходить нет. в большинстве случаев первого достаточно
в обще по поводу отписки. метод для подписки возвращает объект Subscription.

Ivan
12.01.2017
21:21:21
Делай композит сабскрипшн

Михаил
12.01.2017
21:21:25
+

Google

Ivan
12.01.2017
21:21:34
И сможешь сразу отписаться кучей сабскрипшнов

Beka
12.01.2017
21:21:53
МОжешь линк или что нить скинуть

Ivan
12.01.2017
21:22:15
Дословно не помню, compositesubscription
В него можно добавлять сабскрипшны
Чтобы разом отписываться

Михаил
12.01.2017
21:22:38
минутка вареза
все что надо коротко и ясно

Daniil
12.01.2017
21:24:47
в обще по поводу отписки. метод для подписки возвращает объект Subscription.
Гм. Это не совсем то решение, которое я хотел. Есть у меня класс A и есть у него метод getTrackNumberObservable() и возвращает он Observable. Потом, тот кто пользуется, сможет навесить на него всяких flatmap() и иные преобразование сделать.
Если же делать метод подписки, то, как я понимаю, клиент сразу же лишается такой возможность.
Т.е. чтобы классу B обработать события класса A, например сразу по 4 штуки, ему придется сделать Subject(?) подписать его на события класса A и уже на него натравить метод burst или как он там.

Ivan
12.01.2017
21:24:54

Михаил
12.01.2017
21:25:09
особенно Flowable
одна из важных вещей, что в rx 2 нельзя null эмитить
последовательность сразу падает с npe

Ivan
12.01.2017
21:26:33
Ну и да, null нельзя эмитить,наконец
Ну я очень рад,если вы не сталкивались с back pressure
И вам не нужен flowable

Daniil
12.01.2017
21:27:21
с отпиской кстати еще один "косяк", подписавшиеся, как я понимаю, не узнают что их отписали.

Михаил
12.01.2017
21:27:33
я тоже :D

Ivan
12.01.2017
21:28:34

Михаил
12.01.2017
21:28:41
да я уверен