Autore Topic: [facile-medio] Importare dati da una sorgente JSON  (Letto 20352 volte)

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
[facile-medio] Importare dati da una sorgente JSON
« il: 24 Gennaio 2011, 15:01:34 CET »
+5
Livello di difficoltà: facile-medio
Target SDK: indifferente (testato su 2.1-update1)
SDK minimo: indifferente

Conoscenze richieste: (Java) cos'è una classe, cos'è un ArrayList, cos'è un InputStream.

Cosa imparo seguendo questo tutorial: analisi e pratica su cos'è una sorgente di dati JSON e come importare dati da un file JSON.

- scritto da uno studioso per altri studiosi :)

Indice
1. Cos'è una sorgente di dati JSON
2. Quali strumenti utilizzare per interfacciarsi ad una sorgente di dati JSON
3. Come importare dati dal formato JSON
4. Esempio "live"

0. (extra) Perché JSON e magari non {xyz}
JSON è nato come contenitore dati per JavaScript: i suoi punti di forza sono la sua leggerezza e quindi velocità di parsing (cosa fondamentale per browser web). Dal mio personale punto di vista è migliore anche per la sua leggibilità: mentre XML o altri formati rendono la vita dello sviluppatore semplice, ma difficile se li si vuole leggere a mano, JSON riesce a creare una struttura dati facilmente leggibile sia dai computer che dagli uomini.

1. Cos'è una sorgente di dati JSON
Solitamente si parla di file JSON. Più in generale possiamo dire che JSON è un modo, simile all'XML, per trasportare dati. Quindi il concetto si può estendere anche a sorgenti dinamiche, come file PHP o output da riga di comando.

- Qualsiasi sorgente JSON inizia e termina con delle parentesi graffe, che indicano un "oggetto" JSON, oppure con parentesi quadre, nel qual caso è un JSON Array (di seguito si vede come gestire entrambi i tipi).
- Le variabili sono definite tra virgolette, seguite da un ":" ed infine dal loro valore. Se questo è un intero non c'è bisogno delle virgolette, altrimenti sì (es. "intero":25, "stringa":"valore").
- JSON permette inoltre di avere delle array di valori. In questo caso gli array vengono racchiusi in parentesi quadre ed ogni elemento di array è un oggetto JSON.
- Le variabili sono sempre separate da una virgola.

Codice: [Seleziona]
{
        "laMiaVariabile":"valore",
        "laMiaVariabileIntera":25,
        "ilMioArrayVuoto": [],
        "ilMioArrayPieno": [
                {
                        "miaVar1":"mioVal",
                        "miaVar2":"mioVal",
                        "mioArray": []
                },
                {
                        "miaVar1":"mioVal",
                        "miaVar2":"mioVal",
                        "mioArray": [
                                {
                                        "var":"val1"
                                },
                                {
                                        "var":"val2"
                                }
                        ]
                }
        ],
        "altraVar":"altroVal"
}

2. Quali strumenti utilizzare per interfacciarsi ad una sorgente di dati JSON
Esistono alcune librerie che effettuano il parsing del formato JSON, io mi son trovato bene con la prima che ho trovato: Google Gson. Per utilizzarlo è sufficiente scaricare il file .jar (attualmente disponibile la versione 1.6 sotto forma di archivio in bundle con docs ed altro) e, dipendentemente se si vuole rendere il progetto indipendente dalle dipendenze o meno, includerlo nel progetto. In ogni caso bisogna andare nelle opzioni del progetto ed aggiungerlo tra le path di compilazione (vedi immagine allegata).

3. Come importare dati dal formato JSON
Prendendo per assunto che si voglia utilizzare la libreria Gson, come da punto 2, una volta deciso cosa importare, bisogna creare una classe in Java che "vesta" perfettamente i dati in ingresso. Prendiamo come esempio quello del punto 1 (eliminando ilMioArrayVuoto perché essendo tale è inutile allo scopo del tutorial). Avremo bisogno di una classe, chiamata come si vuole, con queste variabili (e relativi metodi get/(set)):
Codice (Java): [Seleziona]
String laMiaVariabile;
Integer laMiaVariabileIntera;
ArrayList<miaSecondaClasse> ilMioArrayPieno;
String altraVar;

Si vede quindi che per ogni stringa c'è l'equivalente con lo stesso nome,  così come per gli interi e... per gli array. Nel nostro esempio abbiamo un array (ilMioArrayPieno) composto da due oggetti non meglio specificati, composti a loro volta da due stringhe ed un'array, composto da una serie di oggetti ad un valore (sì, è stupido, ma è così ^^). Per ogni array bisognerà creare delle classi come abbiamo fatto per la prima. ad esempio miaSecondaClasse avrà le seguenti variabili:
Codice (Java): [Seleziona]
String miaVar1;
String miaVar2;
ArrayList<miaTerzaClasse> mioArray;
e così via.

A questo punto, ora che abbiamo definito le nostre classi-tipo, dobbiamo richiamare pochi e semplici comandi dalla libreria Gson per importare effettivamente i dati nel nostro programma:
Codice (Java): [Seleziona]
Gson gson = new Gson();
Reader r = new InputStreamReader(mioInputStream);
laMiaPrimaClasse dati = new laMiaPrimaClasse();
try {
        dati = gson.fromJson(r, laMiaPrimaClasse.class);
} catch (Exception e) {
        Log.e("JSON_Parser",e.toString());
}

mioInputStream è un InputStream contenente i dati del sorgente JSON (che può essere un file letto in locale, da internet o da una stringa)
laMiaPrimaClasse è la classe sopra citata, il "contenitore madre". Ora se avete dichiarato in modo corretto tutte le variabili della classe ed eventualmente delle sotto-classi, avrete un oggetto "dati" pieno di informazioni. Essendo comunque il parsing un'azione che richiede molti cicli (molti di più rispetto alla semplice lettura da RAM), vi consiglio di salvare i dati ricevuti magari nella classe che invoca questi comandi.

4. Esempio "live"
Infine vi lascio con un esempio reale, ossia i sorgenti del mio ROM Updater :)
Classe che gestisce i file JSON: https://github.com/elegos/ROM-Updater/blob/master/src/org/elegosproject/romupdater/JSONParser.java
Classi-tipo usati nel progetto: https://github.com/elegos/ROM-Updater/tree/master/src/org/elegosproject/romupdater/types
Classe che invoca JSONParser: https://github.com/elegos/ROM-Updater/blob/master/src/org/elegosproject/romupdater/VersionsList.java
« Ultima modifica: 24 Gennaio 2011, 21:30:52 CET da elegos »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #1 il: 24 Gennaio 2011, 17:34:49 CET »
+1
bel tutorial, ma una precisazione:
Citazione
- Qualsiasi sorgente JSON inizia e termina con delle parentesi graffe, che indicano un "oggetto" JSON.
SBAGLIATO. Un sorgente JSON può iniziare e terminare anche con parentesi quadre, in quanto il primo elemento può essere un JSONObject OPPURE un JSONArray
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #2 il: 24 Gennaio 2011, 21:31:29 CET »
0
Corretto, grazie Nicola_D. Come detto, è fatto da studioso per studiosi, qualche lacuna ci può essere :)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re: [facile-medio] Importare dati da una sorgente JSON
« Risposta #3 il: 24 Gennaio 2011, 22:52:29 CET »
0
No problem,era una precisazione doverosa perché è un fatto importante!

Sent from my HTC Hero using Tapatalk
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #4 il: 05 Maggio 2011, 00:18:05 CEST »
0
Volevo chiederti, ho un db, tramite php faccio la query e poi questa devo trasformarla o in xml o in json....posso scegliere, chiaramente sceglierò la strada più facile che però nn so qual'è :)

I risultati della queru saran tante righe ognuna cn 4 campi, 2 stringhe un double e un blob, ovvero nel mio db ho salvato un immagine png o jpg o ico nn so bene. I campi blob sn riconosciuti e gestiti anche loro dalla libreria sopra in questione?

E se si quando creo la mia classe che modella la struttura della query, ovvero una classe cn due campi stringhe un double ecc.....che tipo di campo devo usare x salvarci dentro il blob????

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #5 il: 05 Maggio 2011, 10:06:33 CEST »
0
Beh, immagino che tu possa trattare il tutto come una stringa, la quale viene poi codificata in immagine. Il BLOB dopotutto è una stringa molto lunga. Magari per sicurezza fai un bin2hex e vice versa, così eviti eventuali caratteri illegali.

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #6 il: 05 Maggio 2011, 10:47:09 CEST »
0
Ciao potesti aiutarmi x un ultima cosa. Come tradurresti in file json i seguente risultaato di una query a un db che ha molte applicazioni salvate (il risultato in realtà sarà composto da ben più di 2 app). Non ho esperienza cn i json e è importaante che lo strutturi bene. Sto prendendo spunto da qui http://www.yourinspirationweb.com/2010/03/12/vuoi-utilizzare-json-ma-non-sai-da-dove-iniziare/
Nn riesco a capire se dovrei tradurre con un array di oggetti o cn oggetti nidificati
QUesto è l'xml da tradurre in json:
Codice (XML): [Seleziona]
<!--
- Database: 'marketmddb'
-->
<marketmddb>
  <!-- Tabella applicazione -->
    <applicazione>
        <APPLICAZIONE_ID>1</APPLICAZIONE_ID>
        <APPLICAZIONE_NOME>Applicazione1</APPLICAZIONE_NOME>
        <APPLICAZIONE_ICONA_PATH>D:\EasyPHP5.2.10\www\icone\search1.png</APPLICAZIONE_ICONA_PATH>
        <APPLICAZIONE_PREZZO>4.5</APPLICAZIONE_PREZZO>
        <APPLICAZIONE_VALUTAZIONE>4</APPLICAZIONE_VALUTAZIONE>
    </applicazione>
    <applicazione>
        <APPLICAZIONE_ID>2</APPLICAZIONE_ID>
        <APPLICAZIONE_NOME>Applicazione2</APPLICAZIONE_NOME>
        <APPLICAZIONE_ICONA_PATH>D:\EasyPHP5.2.10\www\icone\search1.png</APPLICAZIONE_ICONA_PATH>
        <APPLICAZIONE_PREZZO>4.1</APPLICAZIONE_PREZZO>
        <APPLICAZIONE_VALUTAZIONE>2.4</APPLICAZIONE_VALUTAZIONE>
    </applicazione>
</marketmddb>

e questo è quello che pensavo ma sarà sicuramente sbaglito:

Codice: [Seleziona]
[
    {
              "applicazione_id":1,
              "applicazione_nome":"applicazione1",
              "applicazione_iconapath":"c:\icone\icona.png",
              "applicazione_prezzo":"4.3"
    }
    {
              "applicazione_id":2,
              "applicazione_nome":"applicazione2",
              "applicazione_iconapath":"c:\icone\icona.png",
              "applicazione_prezzo":"4.1"
    }
]
Ma mi chiedo inziando e finendo il file cn quadre e nn graffe quanto visto sopra funziona, è giusta a traduzione?
oppure con qualcosa che mi sembra più incasinato tipo oggetti nidificati
Codice: [Seleziona]
var applicazioni = {
   "1"  : {
              "applicazione_nome":"applicazione1",
              "applicazione_iconapath":"c:\icone\icona.png",
              "applicazione_prezzo":"4.3"
              },
   "2"  : {
              "applicazione_nome":"applicazione2",
              "applicazione_iconapath":"c:\icone\icona.png",
              "applicazione_prezzo":"4.1"
              }
  }

Tu come lo tradurresti affinche funzioni cn quanto è stato illustrato?

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #7 il: 05 Maggio 2011, 10:59:14 CEST »
0
Codice: [Seleziona]
[
    {
        "applicazione_id": 1,
        "applicazione_nome": "applicazione1",
        "applicazione_iconapath": "c:\\icone\\icona.png",
        "applicazione_prezzo": "4.3"
    },
    {
        "applicazione_id": 2,
        "applicazione_nome": "applicazione2",
        "applicazione_iconapath": "c:\\icone\\icona.png",
        "applicazione_prezzo": "4.1"
    }
]

Gli array vengono divisi sempre da virgole (come tutti gli elementi) -> }, {
\ è l'escape character, quindi se vuoi usarlo devi "evaderlo": \ -> \\

EDIT: questo può aiutarti ^^ JSONLint - The JSON Validator.

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #8 il: 05 Maggio 2011, 14:24:25 CEST »
0
Grazie mille, mi sn finalmente dato alla sperimentazione ma sn ore che nn capisco doc'è il problema anche se ho seguito passo a passo la tua guida: se mi sai illuminare:
File.json finale validato dalla tua pagina
Codice: [Seleziona]
{
    "applicazione":
        [
        {
            "applicazione_id": 1,
            "applicazione_nome": "applicazione1",
            "applicazione_icona_path": "c:\\icone\\icona.png",
            "applicazione_prezzo": 4.3,
                        "applicazione_valutazione": 4.1       
        },
        {
            "applicazione_id": 2,
            "applicazione_nome": "applicazione2",
            "applicazione_icona_path": "c:\\icone\\icona.png",
            "applicazione_prezzo": 4.1,
                        "applicazione_valutazione": 4.8
        }
    ]
}

La classe Applicazione che modella la struttura più interna:
Codice (Java): [Seleziona]
public class Applicazione
{
        int applicazione_id;
        String applicazione_nome;
        String applicazione_icona_path;
        double applicazione_prezzo;
        double applicazione_valutazione;
       
        public Applicazione() {
                super();
        }
        public int getApplicazione_id()
        {
                return applicazione_id;
        }
        public void setApplicazione_id(int applicazione_id)
        {
                this.applicazione_id = applicazione_id;
        }
        public String getApplicazione_nome()
        {
                return applicazione_nome;
        }
        public void setApplicazione_nome(String applicazione_nome)
        {
                this.applicazione_nome = applicazione_nome;
        }
        public String getApplicazione_icona_path()
        {
                return applicazione_icona_path;
        }
        public void setApplicazione_icona_path(String applicazione_icona_path)
        {
                this.applicazione_icona_path = applicazione_icona_path;
        }
        public double getApplicazione_prezzo()
        {
                return applicazione_prezzo;
        }
        public void setApplicazione_prezzo(double applicazione_prezzo)
        {
                this.applicazione_prezzo = applicazione_prezzo;
        }
        public double getApplicazione_valutazione()
        {
                return applicazione_valutazione;
        }
        public void setApplicazione_valutazione(double applicazione_valutazione)
        {
                this.applicazione_valutazione = applicazione_valutazione;
        }
}

La classe applicazioni per gestire la struttura interna:
Codice (Java): [Seleziona]
import java.util.ArrayList;

public class Applicazioni
{
        public Applicazioni() {
                super();
        }

        ArrayList<Applicazione> applicazione;

        public ArrayList<Applicazione> getApplicazione() {
                return applicazione;
        }

        public void setApplicazione(ArrayList<Applicazione> applicazione) {
                this.applicazione = applicazione;
        }
}

e infine la classe che dovrebbe fare il parsing maa mi da errori in compiazione......ho provato mille modifiche ma niente:
Codice (Java): [Seleziona]
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;

import android.util.Log;

import com.google.gson.Gson;

public class JSONparser
{
        Gson gson = new Gson();
        File miofile = new File("C:\\Users\\mio.nome.tolto\\Desktop\file.json");
        InputStream in = new BufferedInputStream(new FileInputStream(miofile));
        Reader r = new InputStreamReader(in);
        Applicazione d = new Applicazione();
        Applicazioni dati = new Applicazioni();
        try
        {
            dati = gson.fromJson(r, Applicazioni.class);
        }
        catch (Exception e)
        {
        Log.e("JSON_Parser",e.toString());

        }
}

Mi da errore a questaa linea Applicazioni dati = new Applicazioni();
Syntax error on token ";", { expected after this token

e sulla parentresi graffa finale......ho provato di tutto, a nn costruire l'oggetto e mettere null, a fare tutto dentro il try........niente

mi sfugge qualcosa?????

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #9 il: 05 Maggio 2011, 14:43:59 CEST »
0
Sn un demente probabilmente, la mia classe nn aaveva un metodo :) ho aggiustato,
quest è la classe parser scritta nn x android ma x java classico cn un main x testare che i campi sian stati letti giusti, lo posto, così dopo tutto il casino che ho fatto magari qualcuno potrà trarre giovamento dal mio esempio
Codice (Java): [Seleziona]
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;



import com.google.gson.Gson;

public class MyParser
{
        public void doParse() throws FileNotFoundException
        {
                System.out.println("entrato nel metodo parse");
                Gson gson = new Gson();
                File miofile = new File("C:\\Users\\luca.pellerei\\Desktop\\file.json");
                FileInputStream is= new FileInputStream(miofile);
                InputStream in = new BufferedInputStream(is);
                Reader r = new InputStreamReader(in);
                Applicazioni dati = new Applicazioni();
                try
                {
                    dati = gson.fromJson(r, Applicazioni.class);
                    System.out.println(dati.applicazione.get(0).toString());
                    System.out.println(dati.applicazione.get(1).toString());
                }
                catch (Exception e)
                {
                        System.out.println("fallito");
               
                }
        }



        public static void main(String[] args)
        {
                MyParser p = new MyParser();
                try {
                        p.doParse();
                        System.out.println("riuscito dentro la clsse prinvipale");
                       
                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        System.out.println("fallito nella classe principale");
                }

        }

}
« Ultima modifica: 05 Maggio 2011, 15:27:19 CEST da sgotenks »

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #10 il: 05 Maggio 2011, 15:51:51 CEST »
0
hai fatto bene a postare una soluzione.

Domanda: perchè doParse() non lo fai statico, così non c'è bisogno di allocare l'oggetto?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #11 il: 05 Maggio 2011, 17:30:36 CEST »
0
Si l'ho fatto al volo giusto x testarlo.........chiaramente come dici tu era meglio. Ora ho unito questo a quanto scritto nel tutorial sulle list view e il simple adaptor x creare una lista di view cn dati presi da file JSON.

Ho un ultimo problema. Nella mia applicazione java il file JSON stava sul desktop, ora che sn passato ad android dove dovrei mettere il mio file.json

Se lascio così nn funziona File miofile = new File("C:\\Users\\luca.pellerei\\Desktop\\file.json");

nel log mi dice file not found e cercandolo in /C:/Users/luca.pellerei/Desktop/file.json
ovvero inverte gli slash e ne mette uno davanti a C.

A intuizione direi che devo metterlo in qualche cartella della mia app, dargli un id e poi recuperaarlo, se è così però in quale cartella? Ho provato a creare un'altra sotto cartella di RES e inportarlo li ma mi da errore sulla cartella......ho provato a metterlo in RES-VALUES ma mi da errorexchè penso che li voglia solo .xml............con che percorso lo richiamo e meglio in che cartella o piazzo così starà tutto li poi?

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #12 il: 05 Maggio 2011, 17:50:41 CEST »
0
I file ovviamente li può prendere via socket (i.e. HTTP) oppure da file locale. Ovviamente nel cellulare non esiste la path /C/blablabla, ma probabilmente esiste /sdcard/blablabla/miofile.json

Offline sgotenks

  • Utente junior
  • **
  • Post: 57
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Geeksphone zero
  • Sistema operativo:
    Windows
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #13 il: 05 Maggio 2011, 17:57:06 CEST »
0
Effettivamente è logico che nn esista c:\ bla bla bla

In un futuro questo file json giungerà da internet e ho visto che ci sn le librerie x lo storage di file ma x ora che è li bello pronto e voglio solo provare l'app, manualemente (non da codice)

dove devo posizionarlo affinchè sia vito e posso richiamarlo?
E poi come vi faccio riferimento, ovvero cosa metterò al posto del percorso qua? File miofile = new File("C:\\Users\\luca.pellerei\\Desktop\\file.json");

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:[facile-medio] Importare dati da una sorgente JSON
« Risposta #14 il: 05 Maggio 2011, 18:04:20 CEST »
0
/sdcard/mia_cartella/miofile.json :)

Il file ovviamente è nella microSD / spazio dedicato allo scambio USB (se non c'è la microSD)