Skip to content

hendyyou/RxJava-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

RxJava-android

This project is intented for every Android developer who is interested in Rx extension for Java language.

If you want, you can look on my presentation about Rx, mostly beginner stuff.

Covered fields:

  • how to combine Rx extension and Android UI - Button/EditText/Switch etc.
  • how to combine Rx extension and RetroFit + caching of requests/data during the on configuration change in custom cache OR in RxBus in ReplaySubject
  • how to combine Rx extension and Firebase
  • how to write your own Observables
  • how to write your own Otto/EventBus like Bus in Rx
  • how to do more complex operations with map functions - filters/maps etc.
  • usage of method references
  • every sample is written in both classic and in modern lambda manner

Usage

Since we use Gradle Retrolambda Plugin you have to have jdk8 installed on your computer. If you are having any issues, go through Gradle Retrolambda Plugin page for troubleshooting.

Other than that, you should be ready to go. Just clone the repo and have fun!

Used Libraries

  • RxJava - Reactive Extensions for the JVM
  • RxAndroid - RxJava bindings for Android
  • RxBinding - RxJava binding APIs for Android's UI widgets.
  • Butter Knife - View "injection" library for Android
  • Picasso - A powerful image downloading and caching library for Android
  • Retrofit - Type-safe REST client for Android and Java by Square, Inc.
  • Firebase - Powerful backend services for your app
  • LeakCanary - A memory leak detection library for Android and Java.

TODOs

  • Blog post - link my blogpost to/from this repo
  • Event video record - link video record
  • RxLifecycle - use this great lib or do something similar on my own
  • Add custom Observable example

Known Issues

Contribution

I will be more than happy if you want to contribute/fork this repo so we can provide more knowledge to our other colleagues.

Since there is no comprehensive tutorial on RxJava/RxAndroid/RetroLambda (in one place), at least what I am aware of, it would be great to include as much as possible code examples. Please, have on mind that I would like to always have code examples for both classic and lambda way.

Credit

This project was created as a part of Developer meetup event held by my current employer STRV. We are really likeable guys so do not hesitate to check us out! :]

Resources

I would not be able to do this project without the help of few great websites/blog posts. I am so sorry that not everyone will be in this list but I read so many articles that I am unable to remember them all.

  • ReactiveX - home page of whole Rx project. I recommend to read introduction, docs and then feel free to dive into resources for your desired language
  • Dan Lew's posts - great posts about RxJava, Android and lambda
  • Roberto Orgiu's posts - another great intro into RxAndroid
  • RxJava wiki - wiki with few examples
  • Andre Staltz's article - The introduction to Reactive Programming you've been missing - not Java oriented, but worth reading!

The MIT License (MIT)

Copyright © 2015 Adam Cerny

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

RxJava / RxAndroid / RetroLambda examples

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages