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();}
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? –
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. –
Gracias ... funcionó – Noman