بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

درخواست کمک و راهنمایی فوری ( حل شده )

مدیریت گفتگو
علیرضا 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام خدمت همه دوستان و اساتید محترم

من میخوام که در یک متد URL  یک عکس رو دریافت کنم و در یکی از کلاسهای جاوا استفاده کنم که نیاز به Drawable یا همون resource id  که به صورت Integer هست داره و  از اون URL عکس مورد نظر خودمو Load کنم. ( دوستان دقت کنن که URL دریافتی من از طریق jason هست و نوع اون هم همونطور که همه دوستان میدونند String هست)

ممنون میشم راهنمایی کنید.

نظرات

علیرضا 11 سال پیش
دوستان خواهش میکنم راهنمایی کنید
علیرضا 11 سال پیش
دوستان خواهش میکنم راهنمایی کنید

پاسخ‌ها 1

Sajad HP 11 سال پیش

باید به صورت bitmap عکس رو دانلود کنید از طریق url که از json بدست میادید و برای نمایش ان هم میتونید از کد زیر استفاده کنید :

 public class ImageLoadTask extends AsyncTask<Void, Void, Bitmap> {

	    private String url;
	    private ImageView imageView;

	    public ImageLoadTask(String url, ImageView imageView) {
	        this.url = url;
	        this.imageView = imageView;
	    }

	    
	    @Override
	    protected void onPreExecute() {
	    	
	    }
	    
	    
	    @Override
	    protected Bitmap doInBackground(Void... params) {
	        try {
	            URL urlConnection = new URL(url);
	            HttpURLConnection connection = (HttpURLConnection) urlConnection
	                    .openConnection();
	            connection.setDoInput(true);
	            connection.connect();
	            InputStream input = connection.getInputStream();
	            Bitmap myBitmap = BitmapFactory.decodeStream(input);
	            return myBitmap;
	        } catch (Exception e) {
	            
	        }
	        return null;
	    }

	    @Override
	    protected void onPostExecute(Bitmap result) {
	        super.onPostExecute(result);
	        
			imageView.setImageBitmap(result);
	     
	    }

	}

کد بالا نیاز داره که همراه صدا زدن کلاس یه Image View و url رو بهش پاس بدید و براتون نمایش بده مثل کد زیر:

 new ImageLoadTask("ادرس عکس", ImageView).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

نظرات

علیرضا 11 سال پیش
ممنونم دوست عزیز. خیلی زحمت کشیدین. تست میکنم نتیجه رو بهتون اطلاع میدم
علیرضا 11 سال پیش
تقریبا حل شد ممنون دوست عزیز. لطف کردین

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