Friday 25th October, 2013
10:30am to 11:15am
Without a doubt, concurrency is one of the toughest problems to deal with in day to day programming. Being based on Java, Android comes with a number of low level concurrency abstractions such as Java Threads and the slightly higher level AsyncTask, which however suffer from typical intricacies that are inherent to imperative languages, such as the need to synchronize access to shared resources and being generally unsuited for composition and transformation.
At SoundCloud we have recently turned to functional reactive programming as a means to dramatically simplify and stabilize functionality that involves event based asynchronous operations such as disk or network I/O followed by updates on the UI thread. In this talk I will demonstrate how we use RxJava, an implementation of Rx on the Java platform, to hook up fragments to any number or combination of concurrent data sources without writing a single line of threading or synchronization code, and how to apply Rx to some larger app use cases such as result paging.
Sign in to add slides, notes or videos to this session