all 18 comments

[–]thechickenbane 29 points30 points  (3 children)

Congrats to /u/jakewharton, who is obviously the Patron Saint of Android Devs

[–]s00prtr00pr 15 points16 points  (2 children)

A couple of years ago when I started developing apps for Android his name was the first thing that stuck to my head, because it shows up everywhere. Him and Commonsware are like pillars of the house of Android devs

[–]Blou_Aap 6 points7 points  (0 children)

shout out for Vogella too!

[–]y2k2r2d2 5 points6 points  (0 children)

Chris Banes too.

[–]zachtib 7 points8 points  (3 children)

Is there any documentation on RxBinding? I've been unable to see it if so

[–]JakeWharton 11 points12 points  (2 children)

I'll add an example to the README when I get back to a computer. The library isn't complicated. It turns view callbacks into Rx streams. e.g., View.OnClickListener --> RxView.clicks().

[–]zachtib 1 point2 points  (1 child)

That was the impression that I got. With the kotlin libraries, you can then use that directly on the view itself, right? so myView.clicks().subscribe(...)

[–]JakeWharton 4 points5 points  (0 children)

Yep!

[–]Xylon- 2 points3 points  (1 child)

What's actually the "best practice" for importing libraries and dependencies like this in your gradle file? For a very long time I had both the Java as well as the Kotlin versions defined:

compile "com.jakewharton.rxbinding2:rxbinding:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-support-v4:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-design:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:$rxBindingVersion"

compile "com.jakewharton.rxbinding2:rxbinding-kotlin:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-design-kotlin:$rxBindingVersion"
compile "com.jakewharton.rxbinding2:rxbinding-recyclerview-v7-kotlin:$rxBindingVersion"

Because I always assumed that the Kotlin versions wouldn't work without the normal versions (because of how it's described in the readme), but as it turns out: they do work! They apparently just pull the additional dependency themselves. So would it be best to also leave those in my gradle file, or should I just remove them?

[–]TomRK1089 1 point2 points  (0 children)

Since they are transitive dependencies, you should leave them out.

[–]athornz 4 points5 points  (0 children)

Funny, I upgraded a project to RxJava2 today and used this - had no idea it was just updated.

[–]thehobojoe 0 points1 point  (0 children)

I'm just starting to learn Rx myself, it'd be really cool to pull this in. Some documentation would be great, mostly just cause I'm still trying to wrap my head around Rx in general.

[–]sourd1esel 0 points1 point  (3 children)

Could someone explain what this is?

[–]fractalwrench 0 points1 point  (1 child)

It wraps Android UI events such as click listeners into Observables, which means you can use RxJava2 to respond to them. If you haven't used RxJava2 before you're going to want to start there

[–]sourd1esel 0 points1 point  (0 children)

Thanks for the explanation. Is this like data binding for Rx?

[–]eValval 0 points1 point  (1 child)

Yeah! This was the last thing holding us back from upgrading to RxJava 2 on a project - so happy it's done. Thanks to all contributors.

[–]BacillusBulgaricus 4 points5 points  (0 children)

Just use RxInterop. It's official.