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

نمایش تصاویر در صورت آفلاین بودن

mahdiFar77  9 سال پیش  9 سال پیش
+2 0

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

میخاستم با استفاده از کتابخانه volley یا picasso عکس ها رو از اینترنت دانلود کنم و نشون بدم و توی کش گوشی ذخیره کنم و دفعات بعد اگه این عکس در کش نبود بره از سرور دوباره دانلود کنه .

اگه امکانش هست کدش رو برام قرار بدین یا راهنمایی کنین.

+1 0
پیکاسو خودش این کار رو میکنه. هر لینک عکسی رو یک بار دان میکنه. میتونی امتحانش کنی. یه عکس اپلود کن رو هاستت و با پیکاسو لودش کن. بعد اون عکس رو پاک کن . میبینی که دوباره اونو نشون میده. فقط در صورتی که برنامه clear cache بشه دوباره لود میکنه (9 سال پیش)
0 0
بله این درسته.ولی وقتی ومپ رو قطع میکنم دیگه عکس رو نشون نمیده. و وقتی دوباره ومپ رو فعال میکنم دوباره عکس رو نشون میده.چرا؟ (9 سال پیش)
+1 0
آره خودمم جدیدا این مشکل رو پیدا کردم. وقتی نت قطع باشه عکس کش شده ولی نشونش نمیده. (9 سال پیش)
0 0
راهکاری ندارین براش؟ (9 سال پیش)
0 0
اساس کار اینه اگه نت پیدا نشه از کش استفاده میشه اما اگه به هر دلیلی url مشکل داشته باشه و به فایل درستی اشاره نکنه عکسی که برای حالت های error یا faild انتخاب کردین نمایش داده میشه و کاری به کش نداره (9 سال پیش)
0 0
رفقا یعنی کارکردن با picaso بهتر از volly هست؟ (9 سال پیش)
0 0
برا ارسال بقیه دیتاهایی که میره سمت سرور از چه کتابخونه ای استفاده می کنین؟ (9 سال پیش)
0 0
پیکاسو فقط مربوط به لود کردنه عکسه و کارش با volley متفاوته. در ضمن volley دیگ برای ارتباط با سرور خوب نیست. بهتره از retrofit یا okhttp استفاده کنید (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
احمد  9 سال پیش
+3 0

برای پاک کردن کش:

در کلاس G:

 @Override
	public void onCreate() {
		super.onCreate();
deleteDirectoryTree(context.getCacheDir()); }


public static void deleteDirectoryTree(File fileOrDirectory) { if (fileOrDirectory.isDirectory()) { for (File child : fileOrDirectory.listFiles()) { deleteDirectoryTree(child); } } fileOrDirectory.delete(); }

برای لود هم (کش به صورت پیش فرض فعاله)

 				String fileUrl = G.SERVER_FTP + filename;
				URL url;
				Uri imageurl = null;
				Log.i(G.APP_LOG, "myUrlStr: " + fileUrl);
				try {
					url = new URL(fileUrl.toString());
					imageurl = Uri.parse(url.toString());
					imgkala_listkala.setBackground(null);
				} catch (MalformedURLException e1) {
					Log.i(G.APP_LOG, "MalformedURLException:");
				}

				Picasso.with(mContext)
						.load(imageurl)
						.placeholder(R.drawable.ic_not_available)
						.error(R.drawable.ic_not_available)
						.into(imgkala_listkala);

 

 

0 0
ممنون و چطور میتونم عکس رو تو کش ذخیره کنم؟ (9 سال پیش)
+1 0
خودش انجام میده (9 سال پیش)
0 0
بله این درسته.ولی وقتی ومپ رو قطع میکنم دیگه عکس رو نشون نمیده. و وقتی دوباره ومپ رو فعال میکنم دوباره عکس رو نشون میده.چرا؟ (9 سال پیش)
+1 0
فکر کنم در صورت نبود نت از کش می خونه فقط نه پیدا نکردن عکس در نت (9 سال پیش)
0 0
تنظیمات دیگه نداره؟ وقتی نت رو قطع میکنم و دوباره اجرا میکنم برنامه رو عکس رو لود نمیکنه (9 سال پیش)
0 0
اساس کار اینه اگه نت پیدا نشه از کش استفاده میشه اما اگه به هر دلیلی url مشکل داشته باشه و به فایل درستی اشاره نکنه عکسی که برای حالت های error یا faild انتخاب کردین نمایش داده میشه و کاری به کش نداره (9 سال پیش)
+2 0
لینک .placeholder(R.drawable.user) لینک .error(R.drawable.user) این دوتا خط رو که کامنت کردم درست شد. (9 سال پیش)

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