【发布时间】:2016-01-03 17:14:10
【问题描述】:
您好,我正在使用谷歌地图制作一个应用程序,我希望能够保存一个列表,以便用户稍后打开它可以使用。 在网站上搜索了一下后,我发现人们建议使用gson,但我无法让它工作。我愿意使用它,但我无法让它工作。这是我的代码:
private void loadPoints() throws IOException, ClassNotFoundException {
Reader isReader = new InputStreamReader(new FileInputStream(file));
List<LatLng> list = Collections.synchronizedList(new ArrayList<LatLng>());
Type listOfLatLng = new TypeToken<List<LatLng>>() {
}.getType();
String s = gson.toJson(list, listOfLatLng);
List<LatLng> RetreivedPoints = gson.fromJson(s, listOfLatLng);
isReader.close();
System.out.println(RetreivedPoints.get(0) );
if (RetreivedPoints != null) {
String joined = TextUtils.join(", ", RetreivedPoints);
tvCoords.setText(joined);
}
}
private void savePoints(List<LatLng> l) throws IOException {
gson = new Gson();
Writer osWriter = new OutputStreamWriter(new FileOutputStream((file)));
List<LatLng> list = Collections.synchronizedList(new ArrayList<LatLng>());
list.add(new LatLng(29, 49));
gson.toJson(list, osWriter);
Toast.makeText(MapsActivity.this, "Saved data!", Toast.LENGTH_SHORT).show();
}
我在 savePoints(); 时没有收到任何错误但是当我 loadPoints();检索点为空。
如果您认为有更好的方法,如果您能发表评论,我将不胜感激!
【问题讨论】:
标签: java android geolocation