【发布时间】:2015-06-18 19:48:45
【问题描述】:
我想实现一个应用程序,它会显示路线号,骑手已经登上了谷歌地图。因此,要查找路线编号,我需要一些有关路线的信息,这些信息在 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}
}
}
},........
]
}
【问题讨论】:
-
您应该将其转换为对象并存储在 sqlite 数据库中。如果您仍想将其存储为文件,请使用 assets 文件夹。
-
@Jorge Campos:如何将 JSON 文件转换为对象?
-
看看这个帖子:stackoverflow.com/questions/6079505/… 请注意,提到 GSon 的答案是使用谷歌的外部库。
-
@Jorge 将数据存储在 sqlite 中的优势是什么?所以我的意思是在将其转换为对象后,我认为我可以从那里访问数据而无需再次存储?
-
优点是可以存储更简洁的数据。这样,如果您需要从该数据中获取特定信息,您可以使用 sql 代码来执行此操作。从中,您可以使您的应用程序对报告数据等更具响应性。但是,当然,如果您的要求只是存储它并检索它,那么只有考虑应用程序的可伸缩性,资产上的一个简单文件就可以完成这项工作很好。