在我的Android应用程序中,我会显示用户照片列表。照片保存在服务器上,照片数量可能非常大。当用户要求向他展示照片时,应用程序首先从服务器获取,比如10张照片。然后用户要求显示下一个10,应用程序再加载10个,依此类推。 我使用rx.Observable加载照片并在订阅者的onNext()中显示每个照片。 但我怎么能告诉Observable, 和多少照片从服务器中提取?
找到解决方案 - 使用Producer。这是关于生产者的good article。
答案 0 :(得分:1)
我为此感到抱歉在C#中(希望有人可以为我翻译)。
你可以试试这个:
var subject = new Subject<int>();
var query =
from count in subject
from image in GetImages(count)
select image;
query
.Subscribe(image =>
{
/* do something with each image */
});
您只需要定义GetImages
方法。
现在,当您想要调用此代码时,只需要subject.OnNext(10)
即可获得10张图片。