Android: ¿cuál es la mejor manera de almacenar los datos de JSON sin conexión para la aplicación en android?

Quiero implementar una aplicación, que mostrará el número de ruta, el jinete ha abordado en google map. Así que para encontrar el número de ruta necesito alguna información sobre las rutas, que se definen en el archivo JSON. La información del archivo JSON se procesará y analizará sin conexión desde la aplicación. Se debe instalar y desinstalar con la aplicación también. El archivo JSON contiene más de 100 route_direction. Se verá algo como el código de abajo. ¿En qué carpeta puedo almacenar el archivo JSON en mi proyecto de Android? ¿Y cuál es la mejor manera de almacenar datos como este?

Archivo JSON:

{"route_direction":[ { 1_ab:{ { stopsName_arrivalTime:{"abc":{"mon-fri":[05:33,06:00,06:30,...], "sat":[], "son":[] } }, stops_loca:{lat:53.337994, long:10.600423} , }, { stopsName_arrivalTime:{"def":{"mon-fri":[], "sat":[], "son":[] } }, stops_loca:{lat:53.740624, long:10.101322} }, { stopsName_arrivalTime:{"hgk":{"mon-fri":[], "sat":[], "son":[] } }, stops_loca:{lat:53.644834, long:10.203372} } } }, {1_ba:{ { stopsName_arrivalTime:{"hgk":{"mon-fri":[05:33,06:00,06:30], "sat":[], "son":[] } }, stops_loca:{lat:53.437994, long:10.400423} , }, { stopsName_arrivalTime:{"def":{"mon-fri":[], "sat":[], "son":[] } }, stops_loca:{lat:53.540624, long:10.601322} }, { stopsName_arrivalTime:{"abc":{"mon-fri":[], "sat":[], "son":[] } }, stops_loca:{lat:53.244834, long:10.703372} } } },........ ] } 

Tal vez usted puede guardarlos usando SharedPreferences . Puede almacenar un objeto / array json haciendo:

Guardar json en SharedPreferences:

  PreferenceManager.getDefaultSharedPreferences(context).edit() .putString("theJson",jsonObject.toString()).apply(); 

Obtener el json almacenado:

 JsonObject jsonObject = PreferenceManager. getDefaultSharedPreferences(this).getString("theJson",""); 

Básicamente, hay dos lugares donde se pueden almacenar materias primas: assets / y res / raw / (raw resources). Estos han sido discutidos mucho, por ejemplo, ver los enlaces:

La razón de los activos y recursos crudos en Android

http://thedevelopersinfo.com/2009/11/27/using-files-as-raw-resources-in-android/

http://www.41post.com/3985/programming/android-load-files-from-the-assets-and-raw-folders

Almacena archivos abultados que desea empaquetar con su aplicación en la carpeta de activos

https://developer.android.com/tools/projects/index.html

Principal / activos /

Esto está vacío. Puede utilizarlo para almacenar archivos de activos sin procesar. Los archivos que guarda aquí se compilan en un archivo .apk tal cual, y se conserva el nombre de archivo original. Puede navegar por este directorio de la misma manera que un sistema de archivos típico usando URIs y leer archivos como un flujo de bytes usando AssetManager. Por ejemplo, esta es una buena ubicación para texturas y datos de juegos.

Vea esta pregunta sobre cómo leer de los activos.

  • Parse simple JSON Array sin clave
  • Que es mejor en términos de análisis de rendimiento en Android, XML o JSON?
  • Android JNI - devuelve el rendimiento de la cadena json
  • Cómo actualizar el PNR Capcha añadido en el Indian Railways Site
  • Android studio no puede resolver import org.json.JSONObject
  • Java.lang.ClassCastException: org.json.simple.JSONArray no se puede convertir en org.json.JSONArray
  • Problema: "Extracción" de JSON usando ascensor-json en una aplicación Android (Scala)
  • Google Plus SignIn / oAuth2 - lanzamiento del lado del servidor TokenResponseException: 401 no autorizado
  • Android Volley varias solicitudes
  • Cómo crear datos JSON con cierta complejidad?
  • Cómo configurar gson para excluir 0 valores enteros
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.