PDA

View Full Version : دانلود فایل



sajadpm
چهارشنبه 13 شهریور 1392, 00:31 صبح
با سلام و خسته نباشید

باز هم دوباره در اجرای قسمتی از پروزه ام به مشکل بر خوردم و نیازمند راهنمایی شما اساتید گرامی هستم . من می خواهم در پروژه ام دانلود فایل رو قرار بدهم که همراه نمایش progress bar در نوتیفکشن و نمایش progress bar در اکتیویتی فایل مورد نظر باشه مثال دانلود اپلیکیشن در مارکت های آندروید که قابلیت دانلود همزمان چند فایل رو دارند . ورژن آندروید پروژه من 2.2 به بالا هست که نمی توانم از download manager استفاده کنم . همچنین 2 قابلیت رو حتما لازم دارم 1 - هنگامی که از اکتیویتی فایل خارج می شوم دانلود ادامه داشته باشد و هنگامی که بازگشت به اکتیویتی فایل مورد نظر progressbar از همان جایی نشان داده شود که درحال دانلود می باشد ( دقیقا مثل مارکت های آندروید ) و 2 - امکان دانلود همزمان چند فایل ( در اینجا فکر می کنم باید از service استفاده کنم ؟ ) . منتظر راهنمایی شما هستم - تشکر

Modernidea
چهارشنبه 13 شهریور 1392, 00:42 صبح
سلام

نظر من استفاده از AsyncTask است. با این قابلیت امکان دانلود در پس زمینه وجود دارد.
اگر کمی جستجو کنید حتما به نتیجه میرسید. در صورتی که به نتیجه ای نرسیدید، بگید تا بیشتر توضیح بدم.
اگر هر روز از 24 ساعت بیشتر بود حتما جواب کاملتری میدادم ;)

نمونه ای از یک جواب کامل:
http://stackoverflow.com/a/3028660/478162
و
http://www.androidhive.info/2012/04/android-downloading-file-by-showing-progress-bar/

موفق باشید

sajadpm
چهارشنبه 13 شهریور 1392, 02:55 صبح
از پاسخ شما بسیار سپاس گزارم - سوالی برای من پیش اومده که پس اگر با asynctask میشه همزمان چند فایل رو دانلود کرد پس فرقش با دانلود همراه سرویس چی هست ؟

Modernidea
چهارشنبه 13 شهریور 1392, 10:23 صبح
سلام

من به استناد به سند خود گوگل تعریف این دو را میگم

AsyncTask یک راه صحیح و آسان جهت استفاده از thread رابط کاربری است. این امکان را به شما میدهد که فعالیتی را در پس زمینه انجام بدهید و نتیجه آن را به راحتی در رابط کاربری نمایش دهید، بدون اینکه نیاز به تغییری در handler یا thread ای باشد.

سرویس کامپوننتی است که نرم افزار برای انجام عملی طولانی که نیاز به ارتباط با کاربر نداشته باشد و یا ارائه خدماتی به دیگر برنامه ها، استفاده میشود.
سرویس ها بر روی thread اصلی برنامه که آن را میزبانی میکند، اجرا میشوند. یعنی اگر عملیات مورد نظر، استفاده زیادی از CPU دارد مثل پخش آهنگ یا ارتباط با شبکه، سرویس باید thread خود را تولید کند.

به نظر من باز هم بیشتر تحقیق کنید ببنید کدام یک برای کار مورد نظر شما بهتر است و نتیجه را با ذکر دلیل اینجا اعلام کنید تا من و دیگر دوستان استفاده کنیم.

منابع
http://developer.android.com/reference/android/os/AsyncTask.html
http://developer.android.com/reference/android/app/Service.html

موفق باشید.