나는 ActivityB로 경로를 그리고 ActivityA로 돌아 가면 클리핑 된 사진을 얻을 수있는 "그리기와 같은"프로젝트를 수행하고 있습니다. 다음 번에 다시 편집 할 수 있도록 저장할 수 있습니다.액티비티간에 Point 배열을 전달하고 SQLite에 저장하는 가장 좋은 방법
사용자가 가져 오는 가장 중요한 정보는 (x, y) 점이 전달/저장되어야합니다. 두 개의 float 배열을 사용하여 값을 저장하고이를 ActivityA에 추가로 전달합니다.
intent.putExtra("EXTRA_X", xPoints);
intent.putExtra("EXTRA_Y", yPoints);
SQLite는에 저장 I SQLite는 배열 저장을 지원하지 않기 때문에, 플로트 []로 변환 두 문자열을 저장 (플로트 []의 양이 500 제한된 크기를 갖는다).
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: Pass List<GeoPoint> to another Activity)?
내가 아는 한 'Serializable'은 JAVA에서는 표준이지만 효율 때문에 안드로이드에 적합하지 않다. – tddian
[객체 직렬화 대신 Parcelable 사용의 이점] (http://stackoverflow.com/a/5551155/1390612) – tddian
@tiddan 동일한 링크에서 인용 : "Parcelable은 활동에 전달 될 의도가 없습니다." –