Autore Topic: Modifica del layout per visualizzare una galleria di immagini tramite XML  (Letto 1668 volte)

Offline alessandrocucci

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Windows XP
Salve a tutti, sono nuovissimo di Android per cui abbiate pietà di me. Sto sviluppando una applicazione per la mia squadra di rugby e per finirla mi manca solo una galleria di foto. So già come svilupparla inserendo le foto nell'applicazione ma vorrei fare una cosa più carina prendendo le foto da un sito esterno tramite xml in modo che possa cambiarle durante il corso del campionato senza modificare l'app. Ho trovato questa quida per caricare le immagini:

Android Custom ListView with Image and Text

Sto sclerando perchè non riesco a modificare questo esempio. L'unico passo avanti che ho fatto è quello di viusalizzare una foto per riga, ma io vorrei che al posto delle liste mi esca una griglia le foto. Potete aiutarmi?

Offline superrossini

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus s
  • Sistema operativo:
    Windows 7
Re:Modifica del layout per visualizzare una galleria di immagini tramite XML
« Risposta #1 il: 27 Giugno 2012, 11:33:07 CEST »
0
prova ad usare un'altro layout invece della list view

Offline alessandrocucci

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Windows XP
Re:Modifica del layout per visualizzare una galleria di immagini tramite XML
« Risposta #2 il: 27 Giugno 2012, 11:41:25 CEST »
0
tipo GridView?

Offline superrossini

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus s
  • Sistema operativo:
    Windows 7
Re:Modifica del layout per visualizzare una galleria di immagini tramite XML
« Risposta #3 il: 27 Giugno 2012, 12:27:10 CEST »
0
http://corsiandroid.it/ui/esempio-gridview una cosa così può andarti bene?

Offline alessandrocucci

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Windows XP
Re:Modifica del layout per visualizzare una galleria di immagini tramite XML
« Risposta #4 il: 27 Giugno 2012, 14:56:45 CEST »
0
Si ma mi aiuta solo in parte... credo ci sia da modificare (oltre al file xml) anche un bel pò del codice della Main Activity... e lì sto provando a metterci le mani ma senza risultati

Offline alessandrocucci

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Windows XP
Re:Modifica del layout per visualizzare una galleria di immagini tramite XML
« Risposta #5 il: 29 Giugno 2012, 10:43:11 CEST »
0
Lasciate perdere quell'esempio ho risolto in un altro modo ma ho un piccolo problema ricavato dal fatto che sto iniziando a programmare in java con android... qui ho la mia classe che legge le immagini da un array contenente gli url delle immagini:

Codice: [Seleziona]
package it.alessandrocucci.gallery;
 
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
 
public class ImageAdapter extends BaseAdapter {
        private Context myContext;
 
    // Keep all Images in array
    public String[] mThumbIds = {
                    "http://www.stendhalrugbypr.it/app/gallery/1.png",
            "http://www.stendhalrugbypr.it/app/gallery/2.png",
            "http://www.stendhalrugbypr.it/app/gallery/3.png",
            "http://www.stendhalrugbypr.it/app/gallery/4.png",
            "http://www.stendhalrugbypr.it/app/gallery/5.png",
            "http://www.stendhalrugbypr.it/app/gallery/6.png",
            "http://www.stendhalrugbypr.it/app/gallery/7.png",
            "http://www.stendhalrugbypr.it/app/gallery/8.png",
            "http://www.stendhalrugbypr.it/app/gallery/9.png",
            "http://www.stendhalrugbypr.it/app/gallery/10.png"
    };
 
    // Constructor
    public ImageAdapter(Context c) { this.myContext = c; }
 
    @Override
    public int getCount() {
        return this.mThumbIds.length;
    }
 
    public Object getItem(int position) {
        return position;
    }
 
    public long getItemId(int position) {
            return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
            ImageView i = new ImageView(this.myContext);
             
        try {
                           
                            URL aURL = new URL(mThumbIds[position]);
                            URLConnection conn = aURL.openConnection();
                            conn.connect();
                            InputStream is = conn.getInputStream();
                           
                            BufferedInputStream bis = new BufferedInputStream(is);
                           
                            Bitmap bm = BitmapFactory.decodeStream(bis);
                            bis.close();
                            is.close();
                           
                            i.setScaleType(ImageView.ScaleType.CENTER_CROP);
                            i.setLayoutParams(new GridView.LayoutParams(70, 70));
                            i.setImageBitmap(bm);
                    } catch (IOException e) {
                           
                            Log.e("DEBUGTAG", "Remtoe Image Exception", e);
                    }
        return i;
    }
}

Ora l'array è di Stringhe. Quando poi nella griglia vado a cliccare dovrebbe aprirsi l'immagine normale utilizzando questa:

Codice: [Seleziona]
package it.alessandrocucci.gallery;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
 
public class FullImageActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.full_image);
 
        // get intent data
        Intent i = getIntent();
 
        // Selected image id
        int position = i.getExtras().getInt("id");
        ImageAdapter imageAdapter = new ImageAdapter(this);
 
        ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
        imageView.setImageResource(imageAdapter.mThumbIds[position]);
    }
 
}

Ovviamente mi da errore perchè gli url sono stringhe... come posso modificare queste linee in modo da farla andare?