2010-12-27 5 views
0

Je veux créer l'activité qui va charger les images du Web en utilisant les URL et je veux charger ces images en vue liste et je veux un texte spécifique et les propriétés de cette image en face de cette image comme la image ci-dessous Click to see Image. Y at-il un moyen de stocker temporairement ces images dans la mémoire des téléphones.Alors, comment puis-je faire cette activité s'il vous plaît me donner la solution parfaite afin que je puisse compléter mon application.Comment puis-je charger les images à partir du web.Android Vue liste

+0

Repost de http://stackoverflow.com/questions/4536890/layout-styles-in-android/4536919#4536919 – sahhhm

+2

Montrez-nous ce que vous avez .... Je ne suis pas écrire toute l'application pour toi. – st0le

Répondre

0

Essayons comme ça

URL img_value = new URL ([position] img);

   Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream()); 

       holder.image.setImageBitmap(mIcon1); 

ici holder.image est un widget d'image conservé dans votre fichier XML pour l'affichage de l'image.

Il charge directement une image à partir de l'URL donnée. ou essayez comme ci-dessous en créant une classe nommée DrawableManager ...

nouveau DrawableManager(). FetchDrawableOnThread (VAL3 [position], holder.icon);

package com.fsp.demo; 
import java.io.IOException; 
import java.io.InputStream; 
import java.lang.ref.SoftReference; 
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 { 
    @SuppressWarnings("unchecked") 
    private final Map drawableMap; 

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

    @SuppressWarnings("unchecked") 
    public Drawable fetchDrawable(String urlString) { 
     SoftReference<Drawable> drawableRef = (SoftReference<Drawable>) drawableMap 
       .get(urlString); 
     if (drawableRef != null) { 
      Drawable drawable = drawableRef.get(); 
      if (drawable != null) 
       return drawable; 
      // Reference has expired so remove the key from drawableMap 
      drawableMap.remove(urlString); 
     } 

     if (Constants.LOGGING) 
      Log.d(this.getClass().getSimpleName(), "image url:" + urlString); 
     try { 
      InputStream is = fetch(urlString); 
      Drawable drawable = Drawable.createFromStream(is, "src"); 
      drawableRef = new SoftReference<Drawable>(drawable); 
      drawableMap.put(urlString, drawableRef); 
      if (Constants.LOGGING) 
       Log.d(this.getClass().getSimpleName(), 
         "got a thumbnail drawable: " + drawable.getBounds() 
           + ", " + drawable.getIntrinsicHeight() + "," 
           + drawable.getIntrinsicWidth() + ", " 
           + drawable.getMinimumHeight() + "," 
           + drawable.getMinimumWidth()); 
      return drawableRef.get(); 
     } catch (MalformedURLException e) { 
      if (Constants.LOGGING) 
       Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", 
         e); 
      return null; 
     } catch (IOException e) { 
      if (Constants.LOGGING) 
       Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", 
         e); 
      return null; 
     } 
    } 

    @SuppressWarnings("unchecked") 
    public void fetchDrawableOnThread(final String urlString, 
      final ImageView imageView) { 
//  Log.v("Drawable_url",urlString); 
     SoftReference<Drawable> drawableRef = (SoftReference<Drawable>) drawableMap 
       .get(urlString); 
     if (drawableRef != null) { 
      Drawable drawable = drawableRef.get(); 
      if (drawable != null) { 
       imageView.setImageDrawable(drawableRef.get()); 
       return; 
      } 
      // Reference has expired so remove the key from drawableMap 
      drawableMap.remove(urlString); 
     } 

     final Handler handler = new Handler() { 
      public void handleMessage(Message message) { 
       imageView.setImageDrawable((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(); 
    } 

} 
Questions connexes