2011-12-14 30 views

Respuesta

17

Primero leer el archivo desde la tarjeta SD y luego analizar ese archivo

Paso-1 recuperar los datos de archivo desde la tarjeta SD. ver tutorial

Paso-2 Analizar los datos. Ver How to parse JSON String

Código de ejemplo

try { 

      File dir = Environment.getExternalStorageDirectory(); 
      File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext"); 
      FileInputStream stream = new FileInputStream(yourFile); 
      String jString = null; 
      try { 
       FileChannel fc = stream.getChannel(); 
       MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size()); 
       /* Instead of using default, pass in a decoder. */ 
       jString = Charset.defaultCharset().decode(bb).toString(); 
       } 
       finally { 
       stream.close(); 
       } 


        JSONObject jObject = new JSONObject(jString); 



     } catch (Exception e) {e.printStackTrace();} 
+0

De acuerdo con los documentos de Android, se establece que getChannel() es la memoria costosa sabia. ¿Hay alguna manera de hacer esto sin usar canales? –

+0

Aunque la configuración de los archivos asignados puede ser costosa, la ganancia general (en velocidad) en comparación con la E/S de transmisión es significativa. –

+0

Gracias ... funcionó – Noman

Cuestiones relacionadas