我想要实现一个应用程序,它将显示路线编号,骑手已登陆谷歌地图。因此,要查找路由号,我需要一些有关路由的信息,这些信息在JSON文件中定义。 JSON文件中的信息将从应用程序中脱机处理和解析。它也应该与应用程序一起安装和卸载。 JSON文件包含100多个route_direction。它看起来像下面的代码。我可以在哪个文件夹中存储JSON文件到我的Android项目中?这样存储数据的最佳方法是什么?
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}
}
}
},........
]
}

答案 0 :(得分:12)
也许您可以使用SharedPreferences保存它们。您可以通过执行以下操作来存储json对象/数组:
将json保存到SharedPreferences:
PreferenceManager.getDefaultSharedPreferences(context).edit()
.putString("theJson",jsonObject.toString()).apply();
获取存储的json:
JsonObject jsonObject = PreferenceManager.
getDefaultSharedPreferences(this).getString("theJson","");
答案 1 :(得分:2)
基本上,有两个地方可以存储原始内容: assets / 和 res / raw / (原始资源)。这些已经讨论了很多,例如,请参阅链接:
The reason for Assets and Raw Resources in Android
http://thedevelopersinfo.com/2009/11/27/using-files-as-raw-resources-in-android/
http://www.41post.com/3985/programming/android-loading-files-from-the-assets-and-raw-folders
答案 2 :(得分:0)
您可以在资产文件夹
中存储您希望与应用程序打包的abitrary文件https://developer.android.com/tools/projects/index.html
main / assets /
这是空的。您可以使用它来存储原始资产文件。 您在此处保存的文件将按原样编译为.apk文件,并且 原始文件名被保留。您可以在中导航此目录 与使用URI和读取文件的典型文件系统相同的方式 使用AssetManager的字节流。例如,这是一个很好的 纹理和游戏数据的位置。