Skip to content

Instantly share code, notes, and snippets.

View devinc13's full-sized avatar

Devin Corrigall devinc13

View GitHub Profile
@devinc13
devinc13 / CombinedOperators
Created December 8, 2014 18:01
Merge and Collect Operators Combined
// getImage returns Observable<Bitmap>
// getAnotherImage returns Observable<Bitmap>
Subscription subscription = Observable.merge(getImage(), getAnotherImage())
.collect(new ArrayList<Bitmap>(), new Action2<List<Bitmap>, Bitmap>() {
@Override
public void call(List<Bitmap> output, Bitmap input) {
output.add(input);
}
})
@devinc13
devinc13 / MergeOperator
Created December 8, 2014 18:00
Merge operator
// getImage returns Observable<Bitmap>
// getAnotherImage returns Observable<Bitmap>
Subscription subscription = Observable.merge(getImage(), getAnotherImage())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(imageObserver);
// The imageObserver’s onNext will get called twice, with a bitmap each time, followed by
// onComplete letting you know both bitmaps are done
@devinc13
devinc13 / MapOperator
Created December 8, 2014 18:00
Map operator
// getImageNetworkCall returns Observable<Bitmap>
Subscription subscription = getImageNetworkCall()
.map(new Func1<Bitmap, BitmapDrawable>() {
@Override
public BitmapDrawable call(Bitmap bitmap) {
// Convert Bitmap to BitmapDrawable
}
})
.subscribeOn(Schedulers.io())
@devinc13
devinc13 / ObservableNetworkCall
Created December 8, 2014 17:59
Observable Network Call
public Observable<Bitmap> getImageNetworkCall() {
// Insert network call here!
}
Subscription subscription = getImageNetworkCall()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Bitmap>() {
@Override
@devinc13
devinc13 / AsyncTaskNetworkCall
Created December 8, 2014 17:59
AsyncTask network call
private class NetworkCallTask extends AsyncTask<String, Void, int> {
protected void onPreExecute() {
// Perform setup - runs on user interface thread
}
protected int doInBackground(Void… param) {
// Insert network call here!
}
protected void onProgressUpdate(String… values) {
@devinc13
devinc13 / RunnableHandlerNetworkCall
Created December 8, 2014 17:58
Runnable with Handler network call
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// Update user interface
}
}
Runnable runnable = new Runnable() {
public void run() {
// Insert network call here!
@devinc13
devinc13 / RunnableNetworkCall
Created December 8, 2014 17:57
Runnable Network Call
Runnable runnable = new Runnable() {
public void run() {
// Insert network call here!
}
};
Thread mythread = new Thread(runnable);
mythread.start();
@devinc13
devinc13 / NetworkOnUI
Last active August 29, 2015 14:11
Network call on user interface thread
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Insert network call here!
}