انجمن سایت کلیدستان



مشکل دانلود همزمان چند فایل مشابه (برنامه نویسی اندروید)زمان کنونی: ۱۳۹۵/۰۹/۱۷، ۰۳:۰۱ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: grown_up_son
آخرین ارسال: grown_up_son
پاسخ 3
بازدید 343

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل دانلود همزمان چند فایل مشابه (برنامه نویسی اندروید)

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

#1
سلام خسته نباشین،من از کد زیر برای دانلود استفاده می کنم، مشکل اینجاست که اگر چند بار روی دکمه کلیک شود یک فایل مشابه چند بار در لیست دانلود قرار می گیره و دانلود میشن به ترتیب. من یک کدی قرار دادم تا از دانلود مجدد یک فایل جلوگیری کنم ولی اون ماله زمانیه که فایل قبلا دانلود شده باشه، ولی زمانی که برای اولین بار می خوام دانلود کنم چند بار که روی دکمه کلیک بشه فایل به دفعات د انلود میشه

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

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

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



کد:
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);
پاسخ

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

#2
سلام.
با یکی از روش های ذخیره اطلاعات (مثل SQLite Database یا SharedPreferences یا ...)، اطلاعات مربوط به دانلودها را ذخیره کنید و بعد، بر اساس آنها، تکراری بودن دانلود را تشخیص بدهید (بر اساس مقایسه آدرس URL دانلود فعلی با دانلودهای قبلی). همچنین وضعیت دانلود (در حال دانلود بودن یا نه) را هم در یک متغیر ذخیره نمایید که اگر فایلی در حال دانلود است، اگر بر روی دکمه دانلود اشاره شد (حتی برای دانلود یک فایل دیگر)، پیامی مبنی بر صبر کردن تا تکمیل دانلود قبلی، به کاربر نمایش داده شود.

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

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

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

Flower
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

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

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


با تشکر فراوان از شما و سایت فوق العادتون
پاسخ
 سپاس شده توسط admin


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)