بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نمایش تصاویر در صورت آفلاین بودن
سلام خدمت دوستان
میخاستم با استفاده از کتابخانه 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);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .