رفتن به مطلب
  • 0

دانلود و ذخیره چند فایل فقط با استفاده از یک اکتیویتی


mhe9181

سوال

سلام خدمت دوستان

می خوام تو برنامم یه لیست ویو بذارم و توی هر آیتم لیست ویو یه لینک دانلود و یه مدیا پلیر باشه که با کلیک اول روی هر آیتم لیست ویو اون لینک دانلودی که گذاشتم توی هر کدوم ، شروع به دانلود آهنگ کنه و تو یه پوشه ذخیره بشه و وقتی برای بار های بعدی روی اون آیتم کلیک می کنم اون آهنگ باز بشه

تعداد آهنگا هم تقریبا 100 تا میشه

تا اینجا پیش رفتم که اول برنامه چک می کنه که آیا اون آهنگ تو پوشه مورد نظرم وجود داره یا نه و اگه وجود داشت با مدیا پلیر پخش بشه و اگه وجود نداشت دانلود بشه و ذخیره بشه.

برای دانلود از HttpUtils2 استفاده کردم و همون جور که می دونید برای ذخیره فایل به یک ساب با نام jobDone  نیاز دارم که فایلو با اسم و آدرس پوشه ای که بهش میدم ذخیره کنه ذخیره کنه اما نمیدونم چجور توی یه اکتیویتی واسه هر آیتم لیستم یه ساب JobDone بزارم. مشکلم  اینه که نمی تونم این همه ساب یک شکل رو تو یه اکتیویتی جا بدم.

واقعا برای هر آهنگ باید یه اکتیویتی بسازم؟ اونجوری که صد تا اکتیویتی میشه

فک کنم باید ساب های  JobDone رو توی ساب  ListView1_ItemClick فراخوانی کنم درسته؟؟ که البته فراخوانی ساب رو هم بلد نیستم

خیلی گیر اینم لطفا راهنمایی کنین

اینم یه تیکه از سورس:


Sub ListView1_ItemClick (Position As Int, Value As Object)
If Value= 1 Then 
	

 If File.Exists(File.DirRootExternal&"/folder","s.mp3")=False Then
ToastMessageShow("آغاز دانلود",False)

 	ht.Initialize("job1",Me)
	ht.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/akbari%5bwww.shirazsong.org%5d.mp3")

Else if File.Exists(File.DirRootExternal&"/folder","s.mp3")=True Then
ToastMessageShow("پخش",False)
MediaPlayer1.Initialize( )
MediaPlayer1.Load(File.DirRootExternal&"/folder","s.mp3")
MediaPlayer1.Play
End If

Else If Value=2 Then 
	

 If File.Exists(File.DirRootExternal&"/folder","a.mp3")=False Then
ToastMessageShow("آغاز دانلود",False)
 	ht2.Initialize("job2",Me)
	ht2.Download("http://dl2.shirazsong.org/dl/music/94-5/moharam1/alimi%5bwww.shirazsong.org%5d.mp3")

Else if File.Exists(File.DirRootExternal&"/folder","a.mp3")=True Then
ToastMessageShow("پخش",False)
MediaPlayer1.Initialize( )
MediaPlayer1.Load(File.DirRootExternal&"/folder","a.mp3")
MediaPlayer1.Play

End If	

End If
End Sub


Sub jobDone (job1 As HttpJob,job2 As HttpJob)

If job1.Success Then
	ProgressDialogHide
	in1= job1.GetInputStream
	ou1= File.OpenOutput(File.DirRootExternal&"/folder","s.mp3",False)
File.Copy2(in1,ou1)
in1.Close
ou1.Close
ToastMessageShow("فایل با موفقیت ذخیره شد",False)
Else
ToastMessageShow("خطا در دانلود",False)
End If

If job2.Success Then
	
	
	in2= job2.GetInputStream
	ou2= File.OpenOutput(File.DirRootExternal&"/folder","a.mp3",False)
File.Copy2(in2,ou2)
in2.Close
ou2.Close
ToastMessageShow("فایل با موفقیت ذخیره شد",False)
Else
ToastMessageShow("خطا در دانلود",False)
End If
End Sub

اینجا فقط واسه دو آیتم نوشتم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

0 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

هنوز برای این سوال پاسخی ارسال نشده است

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...