Autore Topic: Array json  (Letto 318 volte)

Offline pegaso993

  • Utente junior
  • **
  • Post: 84
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    note 2
  • Sistema operativo:
    android
Array json
« il: 07 Novembre 2014, 20:12:32 CET »
0
ciao ragazzi vorrei caricare url ottenuto dal json in un gridview

Codice (C): [Seleziona]
{
"user": [
{
"id": "001",
"name": "Raj Amal",
"url": ""
}
]
}
{
"user": [
{
"id": "002",
"name": "Raj Amal",
"rl": ""
}
]
}


il parsing riesco a farlo con il seguente codice

Codice (Java): [Seleziona]
        //URL to get JSON Array
        private static String url = "http://10.0.2.2/JSONNEW/";
       
        //JSON Node Names
        private static final String TAG_USER = "user";
        private static final String TAG_ID = "id";
        private static final String TAG_NAME = "name";
        private static final String TAG_URL = "url";
       
        JSONArray user = null;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        setContentView(R.layout.activity_main);
       
                // Creating new JSON Parser
                JSONParser jParser = new JSONParser();

                // Getting JSON from URL
                JSONObject json = jParser.getJSONFromUrl(url);
               
                try {
                        // Getting JSON Array
                        user = json.getJSONArray(TAG_USER);
                        JSONObject c = user.getJSONObject(0);
                       
                        // Storing  JSON item in a Variable
                        String id = c.getString(TAG_ID);
                        String name = c.getString(TAG_NAME);
                        String email = c.getString(TAG_URL);
                       
                        //Importing TextView
                        final TextView uid = (TextView)findViewById(R.id.uid);
                        final TextView name1 = (TextView)findViewById(R.id.name);
                        final TextView email1 = (TextView)findViewById(R.id.url);
                       
                        //Set JSON Data in TextView
                        uid.setText(id);
                        name1.setText(name);
                        email1.setText(url);

               
        } catch (JSONException e) {
                e.printStackTrace();
        }

                       

    }


vorrei caricare tutte le immagini in un gridview

Offline dellaz

  • Nuovo arrivato
  • *
  • Post: 38
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 7 (2012)
  • Sistema operativo:
    Win 8, Ubuntu 14.10, Mac OS X 10.10 (Yosemite)
Re:Array json
« Risposta #1 il: 08 Novembre 2014, 20:20:56 CET »
0
Ciao! Esistono varie librerie che si occupano di fare questa cosa (io ho avuto modo di usare la UIL e mi ci sono trovato molto bene, in quanto permette diversi livelli di personalizzazione ed è abbastanza semplice da usare).
In alternativa se non vuoi affidarti a librerie esterne ti devi creare un meccanismo che vada a scaricare (in modo asincrono) l'immagine e la vada a posizionare in qualche modo all'interno della view. Nel caso di una GridView non si tratta di una cosa particolarmente semplice, perché devi tenere in considerazione che l'utente può effettuare uno scroll mentre tu stai ancora scaricando l'immagine, per cui non è detto che la view rimanga visibile per tutta la durata del download. Inoltre dovrai prevedere dei meccanismi di cache, altrimenti ogni volta che l'utente effettua uno scroll dovrai andare a scaricare l'immagine di ogni cella.
In sostanza ti consiglio di usare la libreria ;)
LogCat is the way!
Hai trovato utile una risposta? Clicca su

Offline MattiaP

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • mattia-panerotti
    • Mostra profilo
    • Panerotti Mattia
  • Dispositivo Android:
    Note N7000
  • Play Store ID:
    mattia panerotti
  • Sistema operativo:
    OS X Mavericks
Re:Array json
« Risposta #2 il: 10 Novembre 2014, 17:23:26 CET »
0
Ciao,
per la mia app ho provato a farmi un sistema di caricamento asincrono, mi è riuscito ma aveva qualche difetto.. A un certo punto mi sono lanciato alla ricerca di una libreria.
Ho trovato molto molto interessante la seguente: https://github.com/thest1/LazyList

Il tutto consiste nel copiarsi nel proprio progetto il package: LazyList / src / com / fedorvlasov / lazylist /

Nel momento opportuno, cioè nell'adapter della grid view inserire la seguente riga:

Codice (Java): [Seleziona]
ImageLoader imageLoader=new ImageLoader(context);
imageLoader.DisplayImage(url, imageView);

Offline dellaz

  • Nuovo arrivato
  • *
  • Post: 38
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 7 (2012)
  • Sistema operativo:
    Win 8, Ubuntu 14.10, Mac OS X 10.10 (Yosemite)
Re:Array json
« Risposta #3 il: 10 Novembre 2014, 17:41:14 CET »
0
Ciao, ho avuto modo di provare anche io la lazy list, ma ho notato un po' di "scattosità" nello scrolling. A mio avviso la Android Universal Image Library è, invece, perfetta sotto questo punto di vista! :-)
LogCat is the way!
Hai trovato utile una risposta? Clicca su

Offline Aaaaabbbb

  • Utente junior
  • **
  • Post: 55
  • Respect: +3
    • Google+
    • pietmau
    • Mostra profilo
  • Dispositivo Android:
    Nexus 7, Samsung GT-S5830i, LG Optimus, Galaxy Tab 3
  • Play Store ID:
    aaaaaaaaaaaa
  • Sistema operativo:
    Win, Ubuntu
Re:Array json
« Risposta #4 il: 10 Novembre 2014, 19:08:25 CET »
0
Assolutamete UIL senza dubbi di sorta!