کلیدستان

نسخه‌ی کامل: مشکل دانلود همزمان چند فایل مشابه (برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام خسته نباشین،من از کد زیر برای دانلود استفاده می کنم، مشکل اینجاست که اگر چند بار روی دکمه کلیک شود یک فایل مشابه چند بار در لیست دانلود قرار می گیره و دانلود میشن به ترتیب. من یک کدی قرار دادم تا از دانلود مجدد یک فایل جلوگیری کنم ولی اون ماله زمانیه که فایل قبلا دانلود شده باشه، ولی زمانی که برای اولین بار می خوام دانلود کنم چند بار که روی دکمه کلیک بشه فایل به دفعات د انلود میشه

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

یا بهتر اینکه یک فایل با آدرس مشابه را در یک زمان چند بار دانلود نکنه

امیدوارم خوب توضیح داده باشم



کد:
String url = "http://www.alirezaghorbani.com/music/Arghavan.mp3";
                               DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
                               request.setDescription("Some descrition");
                               request.setTitle("alireza ghorbani - arghavan");
// in order for this if to run, you must use the android 3.2 to compile your app
                               if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                                   request.allowScanningByMediaScanner();
                                   request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                               }
                               request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MUSIC, "/Arghavan6.mp3");


// get download service and enqueue file
                               DownloadManager manager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
                               manager.enqueue(request);
سلام.
با یکی از روش های ذخیره اطلاعات (مثل SQLite Database یا SharedPreferences یا ...)، اطلاعات مربوط به دانلودها را ذخیره کنید و بعد، بر اساس آنها، تکراری بودن دانلود را تشخیص بدهید (بر اساس مقایسه آدرس URL دانلود فعلی با دانلودهای قبلی). همچنین وضعیت دانلود (در حال دانلود بودن یا نه) را هم در یک متغیر ذخیره نمایید که اگر فایلی در حال دانلود است، اگر بر روی دکمه دانلود اشاره شد (حتی برای دانلود یک فایل دیگر)، پیامی مبنی بر صبر کردن تا تکمیل دانلود قبلی، به کاربر نمایش داده شود.

همچنین توصیه می کنم نگاهی به پروژه اندروید موجود در موضوع زیر بیندازید :

http://www.kelidestan.com/forum/showthread.php?tid=4963

مثلا در پروژه اندروید بالا، از SQLite Database برای مدیریت دانلودها استفاده شده است (البته کدهای آن زیاد است و خیلی برای الگوبرداری ساده مناسب نخواهد بود).

Flower
خیلی ممنون، مشکلم جور دیگه ای خودش حل شد فکر می کنم. زمانی که دانلود شروع میشه مثل اینکه فایل مورد نظر در فولدر ایجاد میشه حتی قبل از اینکه دانلود تموم بشه، پس با یک کد ساده اینجور بهش دستور دادم که اگه فایل در فولدر وجود داشت یه پیامی نشون بده به کاربر....

مشکل چند بار کلیک پشت سر هم واسه زمانی بود که اینترنت کاربر قظع هستش و با چند بار کلیک چند بار فایل توی لیست دانلود قرار می گرفت...و موقعی که اینترنت وضل میشد همشو دانلود می کرد که اونم با یه کد ساده چک کردن اتصال به اینترنت در موقع کلیک حل شد.


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