پروژه ی مارکت، بدون دانلود عکس (حل شده) + آموزش
سلام دوستان
معمولا در برنامه های مارکت (مانند بازار) صرفا عکس برنامه نشون داده میشه و دیگه داخل sdCard ذخیره نمیشه، استاد در پروژه مارکت ابتدا عکس هارو دانلود و بعد داخل برنامه نشونشون میدن
راه حلش چیه که برنامه بدون دانلود عکس و ذخیره ی اون عکسو نشون بده؟
برای نشون دادن عکس داخل برنامه بدون دانلود اون، کارهای زیر رو انجام میدیم:
در ابتدا کلیه کلاس هایی که برای دانلود به پروژه اضافه کرده بودیم رو پاک میکنیم چون دیگه کاریشون نداریم، (کلاسهای DownloadRequest، DownloadManager، OnDownloadCompleteListener)
یه کلاس جدید بنام DownloadImageTask میسازیم و کدهای زیر رو داخلش قرار می دیم:
public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
}
catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
حالا فرض می کنیم ID عکسمون imageView باشه، هرجایی خواستیم نشونش بدیم بصورت زیر تعریف می کنیم:
ImageView imageView = (ImageView) findViewById(R.id.imageView1);
new DownloadImageTask(imageView).execute("http://www.kelidestan.com/" + url عکس);
url عکس هم اگه داخل لیست ویو تعریفش کنیم بصورت item.imgLogo تعریف میشه
موفق باشید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .