2012-04-12 3 views
0

하나의 안드로이드 에뮬레이터에서 다른 커서에 Cursor 객체를 전달해야합니다. 그러나 그것을 직렬화하려고하면 "NotSerialiableException : android.database.sqlite.SQLiteCursor"오류가 발생합니다.커서 안드로이드에서 NotSerializableException

이것을 처리하는 한 가지 방법은 일련 화 가능 클래스 &을 직렬화 (하나의 에뮬레이터에서 직렬화)하고 역 직렬화 & (다른 에뮬레이터에서) 커서 개체를 다시 작성하는 것입니다.

다른 방법이 있습니까? 나는 Parcelable을보고 있었고, 이것이 내가 원하는 것이라면 그렇게 확신 할 수 없다. 모든 포인터는 크게 감사하겠습니다!

답변

2

지옥에서 작동 할 가능성은 없습니다. 커서는 기본적으로 데이터베이스의 내용을 표시합니다.

정확히 무엇을하려합니까? 에뮬레이터간에 데이터를 어떻게 전달하려고합니까? 커서와 같은 데이터를지도처럼 직렬화 할 수있는 무언가에 넣기를 원할 것입니다.

+0

분산 된 해시 테이블을 구현해야합니다. 따라서 저장해야하는 키 - 값 쌍이 여러 Android 기기에 분산되어 있습니다. 그리고 특정 키에 대해 장치를 쿼리 할 수 ​​있어야합니다. 그래서 커서를 장치 2에서 장치 1로 전달할 계획이었습니다. 그러나 커서는 Serializable이 아니며 CrossProcessCursorWrapper도 아닙니다. 데이터는 TCP 소켓을 통해 전달됩니다. 그래서 나는 붙어있다. – Neo

+0

그럼 키/값 쌍 목록/맵을 가지고 커서를 전달하는 대신 해당 객체를 전달하는 것이 유일한 방법이라고 생각합니다. – Neo

+0

나는 Cursor가 DB에서 읽는 메모리의 객체이기 때문에 실제 DB 내용 자체에서 분리되었다는 인상을 받았다. 그래서 Cursor 객체를 전달할 수 있다고 생각했습니다. 그러나 나는 틀릴지도 모른다. – Neo

관련 문제