سلام و وقت بخیر. فرض کنید ما یک اپ فروشگاهی داریم و در صفحه اول میخوایم 3 تا ریکوئست مختلف به سرور بزنیم و 3 ریسپانس متفاوت دریافت کنیم. مثلا لیست کالاهای شگفت انگیز ، جدیدترین کالاها ، پرفروشترین کالا ها.
خب طبیعتا هر ریسپانس در زمان مختلفی دریافت خواهد شد.
حالا سوال من اینجاست که اگر ما یک ProgressBar داشته باشیم ، و تنها زمانی که همه ریسپانسها دریافت شد بخوایم اون رو مخفی کنیم ، به چه صورتی باید متوجه بشیم که آیا تمام ریسپانسها دریافت شده یا خیر؟
راه حلی رو پیدا کردم که کدش رو میزارم ، اما میخوام بدونم خود رتروفیت یا RxJava جواب بهتری برای این مسئله دارند یا خیر.
ممنون میشم هرکدوم از دوستان یا استاد شاهینی اگر در این زمینه اطلاعی دارند به اشتراک بزارن.
public class MyActivity extends Activity {
//lot of code omitted
private boolean cIsFinished;
private boolean mIsFinished;
private void getContact(){
//create M and C
m.onResponse(){
//do whatever you want with data and call startIntent
mIsFinished=true;
startIntent();
}
c.onResponse(){
//do whatever you want with data and call startIntent
cIsFinished=true;
startIntent();
}
}
private synchronized void startIntent(){
if(cIsFinished && mIsFinished){
//startIntentHere!
Intent intent = new blah blah blah
}
}
}