我正在做一个“类似绘图”的项目,它使用户能够在 ActivityB 中绘制路径,然后在返回 ActivityA 时获取剪辑的照片,他们可以在其中选择保存以供下次再次编辑。
应该传递/保存的最重要和唯一的信息是用户绘制的 (x,y) 点。我使用两个浮点数组来存储值,并将它们作为额外的值传递给 ActivityA。(float[] 的大小都是有限的,500。)
intent.putExtra("EXTRA_X", xPoints);
intent.putExtra("EXTRA_Y", yPoints);
保存到 SQLite 时,我保存了从 float[] 转换的两个字符串,因为 SQLite 不支持保存数组。
private String floatArrToStr(float[] arr) {
StringBuilder s = new StringBuilder();
for (int i = 0 ; i < length ; i++) {
s.append(arr[i]);
s.append(",");
}
return s.toString();
}
我的问题是,这是传递和保存积分的最佳方式吗?使用 Parcelables 会更好(Android:将 List<GeoPoint> 传递给另一个 Activity)吗?