两个观察者
/**
* 创建获取image的观察者
* @param imageUrl
* @return
*/
public static Observable createImageObservable(final String imageUrl){
Observable<List<String>> imageObservable = (Observable<List<String>>) Observable.create(new Observable.OnSubscribe<List<String>>() {
@Override
public void call(Subscriber<? super List<String>> subscriber) {
if (subscriber!=null){
ImageModel model = new ImageModel();
subscriber.onNext(model.loadData(imageUrl));
}
}
});
return imageObservable;
}
/**
* 创建获取music的观察者
* @param musicUrl
* @return
*/
public static Observable createMusicObservable(final String musicUrl){
Observable<List<Content>> musicObservable = Observable.create(new Observable.OnSubscribe<List<Content>>() {
@Override
public void call(Subscriber<? super List<Content>> subscriber) {
if (subscriber!=null) {
MusicModel musicModel = new MusicModel();
subscriber.onNext(musicModel.loadData(musicUrl));
}
}
});
return musicObservable;
}
第三个观察者合并,并执行
//两个网络请求合并
private void enqueue(){
Observable imageObservable = RxAndroidUtils.createImageObservable("http://192.168.1.2:8883/random/images/?count=8");
Observable musicObservable = RxAndroidUtils.createMusicObservable("http://192.168.1.2:8883/random/musics/?count=8");
Observable.zip(imageObservable, musicObservable, new Func2<List<String>, List<Content>, List<MusicDao>>() {
@Override
public List<MusicDao> call(List<String> images, List<Content> contents) {
List<MusicDao> dao = new ArrayList<>();
int len = images.size();
if (len > 0 ){
for (int i = 0 ; i < len;i++){
dao.add(new MusicDao(contents.get(i),images.get(i)));
}
}
return dao;
}
}).subscribeOn(Schedulers.io())
.subscribe(new Action1() {
@Override
public void call(Object o) {
P.p("-------------> "+o.toString());
}
});
}
整理两个数据,合成一个数据使用
[MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/1/03m/24/96240455586.m4a', music_title = 'Mihimaru Gt - 幸せになろう.mp3', music_size = '10.50MB', music_redirect_url = 'http://www.333ttt.com/up/up2103453570.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/170308/125448-148894888806ca.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/1/10m/17/103170006495.m4a', music_title = '徐浩 - 离开自己.mp3', music_size = '4.17MB', music_redirect_url = 'http://www.333ttt.com/up/up2103493900.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/161130/214939-1480513779dc6d.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2016/1/01m/02/194022237325.m4a', music_title = '时之魔法-白色相簿2.mp3', music_size = '4.95MB', music_redirect_url = 'http://www.333ttt.com/up/up2103503967.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/170523/194940-149554018065df.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/1/06m/06/99061653277.m4a', music_title = '入戏太深 王馨田 流行.mp3', music_size = '5.21MB', music_redirect_url = 'http://www.333ttt.com/up/up2103471691.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/180210/145852-1518245932a12e.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2016/1/07m/18/200181236496.m4a', music_title = '耶和华是爱(钢琴伴奏).mp3', music_size = '5.37MB', music_redirect_url = 'http://www.333ttt.com/up/up2103515060.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/190422/160844-15559205240436.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/1/10m/26/103262306083.m4a', music_title = '肖洋 - 你曾是少年 (男声版) (《少年班》电影主题曲).mp3', music_size = '4.81MB', music_redirect_url = 'http://www.333ttt.com/up/up2103495233.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/170318/211047-14898426478be5.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/1/11m/29/104291702185.m4a', music_title = '撒打算打算的锋偏爱.mp3', music_size = '3.18MB', music_redirect_url = 'http://www.333ttt.com/up/up2103499354.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/170624/103924-14982719641bd2.jpg'
}, MusicDao {
content = Content {
music_url = 'http://up_mp4.t57.cn/2015/5/04m/28/97281711336.m4a', music_title = '黄建秦 - 道隐凤鸣.mp3', music_size = '3.24MB', music_redirect_url = 'http://www.333ttt.com/up/up2103462346.html'
}, imageUrl = 'http://pic.netbian.com/uploads/allimg/161016/155922-1476604762892c.jpg'
}]