آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

راهنمایی برای استفاده از broadcast

MyNewName  11 سال پیش  10 سال پیش
0 0

سلام

من یه فایل دارم که قرار از اینترنت دانلود بشه

حجمش مثلا 30 مگابایت هست

حالا میخوام از طریق دانلود منیجر دانلودش کنم

بحث اینجاست به محض اینکه برنامه باز شد می خوام دستور من اجرا بشه و یه پروگریس بار نشون بده که چقدر دانلود شده

مشکل من پروگریس بار و ... نیست

من فقط برام اهمیت داره که اگه کاربر بین اکتیویتی ها سوییچ کرد مشکلی برای دانلود ایجاد نشه

در حقیقت میخوام یه reciver باشه که کار خودشو انجام بده

0 0
کسی نیست ؟ (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
AhmadVB  11 سال پیش
+1 0

برای این کار شما از برادکست نمی توانید استفاده کنید!

ابتدا یک کلاس در یک فایل جاوا جداگانه ایجاد کنید که بتواند دانلود را خارج از اکتیویتی انجام دهد. مثلا ...

 Class Download {
int prg;
public static void startDownload(String url){
...
}
public static int getProgressPercent(){
return prg;
}
}

 یک شیء از این کلاس را می توانید در G تعریف کنید.

public static Download downloader;

در اکتیویتی main تان آن را آغاز کنید .

 G.downloader= new Download();
downloader.startDownload(url);

در هر اکتیویتی که نیاز دارید مقدار پیشرفت آن را نمایش دهید می توانید از متدی شبیه GetProgressPercent  در مثال بالا استفاده کنید.

0 0
ممنون اما مشکل اینجاست که اگه من back بزنم دوباره این پروگریس حذف میشه فرض کنید من در main هستم وارد page میشم و دانلود میزنم به محض اینکه back رو بزنم ، پروگریس دیگه ظاهر نمیشه (11 سال پیش)
0 0
دوستان راهنمایی کنید (11 سال پیش)
پاسخ به سوال 
AhmadVB  10 سال پیش
+1 0

اگر یک Thread داخل آن اکتیویتی مورد نظرتان ایجاد کرده این خط را صدا بزنید

        Thread t=new Thread(new Runnable() {

@Override
public void run() {
G.downloader=newDownload();
G.downloader.startDownload(url);
}
});
t.start();

احتمالا مشکلتان حل خواهد.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .