بستن منو
۴۶۵
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
28
کار با Activity ها ، در برنامه نویسی اندروید
21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
22
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
12
ساخت EditText، در برنامه نویسی اندروید
6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
12
طراحی متریال (Material Design)، در برنامه نویسی اندروید
3
پخش موسیقی، در برنامه نویسی اندروید
5
نمایش انیمیشن، در برنامه نویسی اندروید
3
تغییر ویژگی های کلی برنامه اندروید
3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
28
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
5
بازی سازی، در برنامه نویسی اندروید
1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
2
عملیات های ریاضی در برنامه نویسی اندروید
12
کار با دوربین (camera) در برنامه نویسی اندروید
3
کار با action bar ، در برنامه نویسی اندروید
4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
4
کار با package ها ، در برنامه نویسی اندروید
2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
امنیت در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
3
سرویس ها (Service) در برنامه نویسی اندروید
9
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
9
AsyncTask در برنامه نویسی اندروید
2
آرایه ها (Arrays)، در برنامه نویسی اندروید
3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
6
رنگ ها (Colors)، در برنامه نویسی اندروید
3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
1
پروژه های اندروید Open Source کاربران کلیدستان
13
فروشگاه اندروید کلیدستان
1
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
9
مباحث عمومی در برنامه نویسی اندروید
47
×

دانلود فروشگاه اندروید کلیدستان

295

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

روشی دیگر برای نمایش یک عکس قرار گرفته در اینترنت (یک آدرس URL)، در یک ImageView ، در برنامه نویسی اندروید

در مبحثی دیگر، نحوه نمایش یک عکس قرار گرفته در اینترنت در یک ImageView را شرح دادیم. این بار قصد داریم که روشی دیگر را بیان کنیم، زیرا بر اساس پیچیدگی برنامه اندروید، ممکن است که به روش های متفاوتی نیاز پیدا کنیم و بنابراین در سایت کلیدستان سعی می کنیم که کدها و روش های مختلفی ارائه شود.

در پروژه اندروید، یک کلاس با نام DrawableManager می سازیم (یعنی یک فایل با نام DrawableManager.java). کدهای کلاس DrawableManager را به صورت زیر می نویسیم :


package com.kelidestan.imageload;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ImageView;

public class DrawableManager {
   private final Map<String, Drawable> drawableMap;

   public DrawableManager() {
       drawableMap = new HashMap<String, Drawable>();
   }

   public Drawable fetchDrawable(String urlString) {
       if (drawableMap.containsKey(urlString)) {
           return drawableMap.get(urlString);
       }

       Log.d(this.getClass().getSimpleName(), "image url:" + urlString);
       try {
           InputStream is = fetch(urlString);
           Drawable drawable = Drawable.createFromStream(is, "src");


           if (drawable != null) {
               drawableMap.put(urlString, drawable);
               Log.d(this.getClass().getSimpleName(), "got a thumbnail drawable: " + drawable.getBounds() + ", "
                       + drawable.getIntrinsicHeight() + "," + drawable.getIntrinsicWidth() + ", "
                       + drawable.getMinimumHeight() + "," + drawable.getMinimumWidth());
           } else {
             Log.w(this.getClass().getSimpleName(), "could not get thumbnail");
           }

           return drawable;
       } catch (MalformedURLException e) {
           Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", e);
           return null;
       } catch (IOException e) {
           Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", e);
           return null;
       }
   }

   public void fetchDrawableOnThread(final String urlString, final ImageView imageView) {
       if (drawableMap.containsKey(urlString)) {
           imageView.setImageDrawable(drawableMap.get(urlString));
       }

       final Handler handler = new Handler() {
           @Override
           public void handleMessage(Message message) {
               // imageView.setImageDrawable((Drawable) message.obj);
               imageView.setBackgroundDrawable((Drawable) message.obj);
           }
       };

       Thread thread = new Thread() {
           @Override
           public void run() {
               //TODO : set imageView to a "pending" image
               Drawable drawable = fetchDrawable(urlString);
               Message message = handler.obtainMessage(1, drawable);
               handler.sendMessage(message);
           }
       };
       thread.start();
   }

   private InputStream fetch(String urlString) throws MalformedURLException, IOException {
       DefaultHttpClient httpClient = new DefaultHttpClient();
       HttpGet request = new HttpGet(urlString);
       HttpResponse response = httpClient.execute(request);
       return response.getEntity().getContent();
   }
}

دقت کنید که نام package که در خط اول کدها نوشته شده است را باید به نام package پروژه اندروید خود تغییر بدهید.

فرض کنید که آدرس اینترنتی (آدرس URL) عکس، به صورت زیر باشد (یک آدرس فرضی) :


http://www.kelidestan.com/images/image.png

اکنون فرض کنید که در یک activity از برنامه اندروید، بخواهیم همان عکسی که آدرس URL آن را ذکر کردیم، در یک ImageView نمایش بدهیم. برای این منظور، کدهای زیر را در میان کدهای آن activity می نویسیم :


ImageView iv = (ImageView) result.findViewById(R.id.imageView1);
DrawableManager dm = new DrawableManager();
dm.fetchDrawableOnThread("http://www.kelidestan.com/images/image.png",iv);

در کد بالا، فرض کرده ایم که ImageView دارای id برابر imageView1 باشد.

دقت کنید که حتما باید اجازه دسترسی به اینترنت، به برنامه اندروید افزوده شود، بنابراین فایل AndroidManifest.xml پروژه اندروید را باز کرده و کد زیر را به آن اضافه می کنیم (افزودن اجازه دسترسی به اینترنت) :


<uses-permission android:name="android.permission.INTERNET" />

کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 0 0 0

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com

دسترسی به اطلاعات دامنه developer.android.com بر روی سایت کلیدستان (دور زدن تحریم گوگل) :

بستن منو
۴۶۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید - مجموعه Android Application Development - از thenewboston.com - بر اساس Eclipse (یا ADT Bundle)
200
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید برای مبتدیان - مجموعه Android App Development for Beginners - از thenewboston.com - بر اساس Android Studio
77
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید (Android) برای مبتدیان - مجموعه Android Tutorial for Beginners
107
مجموعه ویدئوهای آموزشی طراحی متریال (Material) در اندروید - مجموعه 5 Android Material Design Tutorial
59
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
2
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
6
ساخت دکمه (Button) ، در برنامه نویسی اندروید
0
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
4
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
1
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
3
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
1
بستن منو
۸۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

کار با Activity ها ، در برنامه نویسی اندروید طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید پردازش تصویر، در برنامه نویسی اندروید نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید ساخت EditText، در برنامه نویسی اندروید کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید بازی سازی، در برنامه نویسی اندروید به اشتراک گذاری (share)، در برنامه نویسی اندروید نمایش پیام به کاربر، در برنامه نویسی اندروید ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید عملیات های ریاضی در برنامه نویسی اندروید Fragment ها در برنامه نویسی اندروید Thread ها در برنامه نویسی اندروید سرویس ها (Service) در برنامه نویسی اندروید حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید مباحث عمومی در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید
1
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
5
عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید
1
نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید
1
پردازش تصویر، در برنامه نویسی اندروید
1
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
5
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
2
ساخت EditText، در برنامه نویسی اندروید
1
کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید
2
نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید
3
گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید
17
بازی سازی، در برنامه نویسی اندروید
16
به اشتراک گذاری (share)، در برنامه نویسی اندروید
1
نمایش پیام به کاربر، در برنامه نویسی اندروید
2
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
1
عملیات های ریاضی در برنامه نویسی اندروید
1
Fragment ها در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
2
سرویس ها (Service) در برنامه نویسی اندروید
1
حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
16
بستن منو
۲۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی java
14
انواع متغیرها و تبدیل متغیرها در java
2
رشته ها (string) در java
1
اعداد در java
4
مباحث عمومی در java
3
بستن منو
۲۶۲
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی Java برای مبتدیان - مجموعه Java (Beginner) Programming Tutorials - از thenewboston.com
87
مجموعه ویدئوهای آموزشی برنامه نویسی Java (سطح متوسط) - مجموعه Java (Intermediate) Tutorials - از thenewboston.com
59
مجموعه ویدئوهای آموزشی Java - مجموعه Learn Java
24
مجموعه ویدئوهای آموزشی طراحی GUI در Java ، با استفاده از JavaFX - مجموعه JavaFX Java GUI Design Tutorials - از thenewboston.com
35
مجموعه ویدئوهای آموزشی توسعه بازی با استفاده از Java - مجموعه Java Game Development Tutorials - از thenewboston.com
36
مجموعه ویدئوهای آموزشی توسعه بازی در Java ، با استفاده از Slick - مجموعه Java Game Development with Slick - از thenewboston.com
21
بستن منو
۲۰
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
آموزش کامل یونیتی (Unity) (بازی سازی)
15
آموزش یونیتی (Unity) - سطح متوسط
2
پرداخت درون برنامه ای، در یونیتی (Unity)
1
یونیتی (Unity) و برنامه نویسی اندروید
1
واقعیت مجازی در یونیتی (Unity)
1

فروشگاه های اندروید ایرانی

فروشگاه های ایرانی برنامه های اندروید که می توانید برنامه های اندروید خود را در آنها بفروش بگذارید (به ترتیب نام) :



*** در صورت تاسیس یک فروشگاه ایرانی جدید، به ما اطلاع بدهید تا در لیست بالا قرار داده شود.

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)
موضوع تاریخ و زمان نویسنده آخرین ارسال تعداد پاسخ انجمن
مشکل با زامارین در ویژوال استودیو 2015
امروز, ۰۷:۱۴ ب.ظ
me64
me64
1 مشکلات در برنامه نویسی اندروید
بالا نیومدن نقشه گوگل در برنامه
امروز, ۰۹:۴۶ ق.ظ
amard
amard
0 مشکلات در برنامه نویسی اندروید
لینک دادن از وب به اندروید
امروز, ۰۴:۰۷ ق.ظ
hamrahna
hamrahna
7 مشکلات در برنامه نویسی اندروید
فهرست بندی کتاب
دیروز, ۰۵:۱۷ ب.ظ
سعدی
سعدی
0 انتقال بین Activity ها و تبادل اطلاعات بین Activity ها، در برنامه نویسی اندروید
چیدمان باتن ها (Buttons) و تغییر اندازه آنها در صفحه نمایش های مختلف (در اندروید)
۱۳۹۵/۰۹/۱۵, ۰۹:۰۹ ب.ظ
foad.pezeshkian
mrazhdari
16 مشکلات در برنامه نویسی اندروید
مشکل در ارسال مقدار در اکتیویتی دیگر
۱۳۹۵/۰۹/۱۵, ۰۶:۲۹ ب.ظ
af94
Hossein8867
1 مشکلات در برنامه نویسی اندروید
مشکل در استفاده از دیتابیس خارجی
۱۳۹۵/۰۹/۱۵, ۰۱:۴۷ ب.ظ
saeedfozol
saeedfozol
3 مشکلات در برنامه نویسی اندروید
جستجو در ListActivity
۱۳۹۵/۰۹/۱۴, ۰۹:۱۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
مشکل نصب اندروید استدیو
۱۳۹۵/۰۹/۱۲, ۱۱:۳۲ ق.ظ
mohsenfirewall
mohsenfirewall
0 مشکلات در برنامه نویسی اندروید
راهنمایی در مورد Notifications
۱۳۹۵/۰۹/۱۱, ۱۲:۳۳ ب.ظ
dibdab
dibdab
0 برنامه نویسی اندروید
کاهش در آمد توسعه دهندگان از بازار و تبلیغات عدد
۱۳۹۵/۰۹/۰۹, ۰۲:۲۶ ق.ظ
alizzz
jafari.h9574
3 فروشگاه های برنامه های اندروید (ایرانی و خارجی)
مشکل در اینتنت های بازار
۱۳۹۵/۰۹/۰۸, ۰۱:۳۶ ق.ظ
sabanetaria
dibdab
2 برنامه نویسی اندروید
ساخت ویدئو پلیر در اندروید
۱۳۹۵/۰۹/۰۷, ۰۷:۰۴ ب.ظ
ehsansalehi2001
dibdab
1 پخش فایل های صوتی و تصویری، در برنامه نویسی اندروید
پرداخت درون برنامه ای بازار در onDestroy
۱۳۹۵/۰۹/۰۶, ۰۶:۵۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
استخراج کننده فایل نصبی apk
۱۳۹۵/۰۹/۰۵, ۰۶:۵۰ ب.ظ
kama90
kama90
0 مشکلات در برنامه نویسی اندروید
سوال درباره surfaceView ؟
۱۳۹۵/۰۹/۰۵, ۱۱:۱۷ ق.ظ
ilalia
ilalia
0 مشکلات در برنامه نویسی اندروید
سیاه نشان دادن الرت دیالوگ در اندروید 6
۱۳۹۵/۰۹/۰۳, ۱۱:۰۴ ب.ظ
armin20013
armin20013
1 مشکلات در برنامه نویسی اندروید
موقعیت آیتم منو
۱۳۹۵/۰۹/۰۱, ۰۹:۳۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
نمایش درختی اطلاعات دیتابیس
۱۳۹۵/۰۹/۰۱, ۱۰:۲۱ ق.ظ
amard
amard
0 ساخت ListView در برنامه نویسی اندروید
کار با ریسایلکرویو
۱۳۹۵/۰۸/۳۰, ۰۲:۱۳ ق.ظ
hamidreza2000
hamidreza2000
0 مشکلات در برنامه نویسی اندروید
اعمال یک انیمیشن در زمان کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۹, ۰۳:۵۰ ب.ظ
sonic
sonic
0 مشکلات در برنامه نویسی اندروید
همکاری در تکمیل پروژه اندروید
۱۳۹۵/۰۸/۲۹, ۰۳:۴۶ ب.ظ
seven7up
seven7up
0 مباحث عمومی در برنامه نویسی اندروید
کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۷, ۰۵:۰۱ ب.ظ
sonic
sonic
4 مشکلات در برنامه نویسی اندروید
سوال در مورد اینتنت ها
۱۳۹۵/۰۸/۲۵, ۰۸:۰۴ ب.ظ
dibdab
dibdab
0 تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی
ذخیره صدا در دیتابیس
۱۳۹۵/۰۸/۲۴, ۰۱:۵۵ ب.ظ
alizzz
alizzz
2 پایگاه داده SQLite در برنامه نویسی اندروید
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی اندروید)

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

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