Autore Topic: Velocizzare caricamento immagini  (Letto 399 volte)

Offline applab

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
Velocizzare caricamento immagini
« il: 19 Agosto 2011, 13:55:50 CEST »
0
Salve io ho una listview con delle immagini caricate da un indirizzo. Il codice che scrivo è questo:

Codice (Java): [Seleziona]
list1 = new ArrayList<HashMap<String, String>>();

                                SimpleAdapter sad = new SimpleAdapter(this, list1,
                                                R.layout.row, new String[] { "id", "image", "loc",
                                                                "type", "price", "mq" }, new int[] {
                                                                R.id.txtIDProdotto, R.id.ImageView01,
                                                                R.id.txtRow, R.id.txtRow3, R.id.txtRow4,
                                                                R.id.txtRow2 }) {
                                };

                                sad.setViewBinder(new ViewBinder() {

                                        @Override
                                        public boolean setViewValue(View view, Object data,
                                                        String textRepresentation) {
                                                String url = (String) data;

                                                if (url.indexOf("http") == 0) {

                                                        loadImage(view, data);
                                                        return true;
                                                } else {
                                                        return false;
                                                }
                                        }

                                        private void loadImage(View view, Object data) {
                                                ImageView asd = (ImageView) view
                                                                .findViewById(R.id.ImageView01);
                                                Drawable d = null;
                                                try {
                                                        InputStream is = new URL((String) data)
                                                                        .openStream(); // Carico
                                                        // l'immagine
                                                        // dell'agenzia
                                                        d = Drawable.createFromStream(is, "src");
                                                        asd.setImageDrawable(d);

                                                } catch (MalformedURLException e) {
                                                        e.printStackTrace();
                                                } catch (IOException e) {
                                                        e.printStackTrace();
                                                }
                                        }
                                });

Ho letto in giro e anche qua sul forum della tecnica del lazyloading ma sinceramente non sono riuscito ad applicarla....potreste darmi una mano? Grazie!