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.

  • Obtener datos de mysql a android con php
  • Diferencias entre las API de REST y JSON
  • ¿Cómo puede Retrofit 2.0 analizar objeto JSON anidado?
  • Transmisión de una matriz JSON entre actividades por intención
  • Lectura de un Json Array en android
  • Servicio web SOAP y JSON responce en android
  • Quiero google play store como scrollview
  • Json a clases de datos kotlin
  • Error org.json.JSONException: No hay valor para PROJECT_NAME Este es mi json
  • Obtener el objeto JSON desde URL utilizando HTTPURLConnection en android
  • Android: crear JSON Array y JSON Object
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.