2012-04-12 11 views
0

アンドロイドエミュレータから別のアンドロイドエミュレータにCursorオブジェクトを渡す必要があります。しかし、私はそれをシリアル化しようとすると、 "NotSerialiableException:android.database.sqlite.SQLiteCursor"エラーが発生しています。AndroidでカーソルNotSerializableExceptionが発生する

これを処理する方法の1つは、シリアライズ可能なクラスに分割することです。&シリアライズ(1つのエミュレータで)、逆シリアル化&(別のエミュレータで)Cursorオブジェクトを再構築します。

これを行う方法は他にありますか?私はパーセルブルを見ていて、これが私の望むものなのかどうかは分かりません。すべてのポインタは非常に高く評価されます!

答えて

2

地獄で働くチャンスはありません。カーソルは基本的にデータベースの内容を表示します。

正確に何をしようとしていますか?どのようにエミュレータ間でデータを渡そうとしていますか?おそらく、カーソルからのデータを地図のようなシリアライズ可能なものに入れたいと思うでしょう。

+0

私は分散ハッシュテーブルを実装する必要があります。そのため、私が保存しなければならないキーと値のペアは、複数のアンドロイドデバイスに分散されています。そして私は特定のキーのためのデバイスを照会することができるはずです。 私は、デバイス2からデバイス1にCursorを渡すことを計画していました。しかし、CursorはSerializableではなく(どちらもCrossProcessCursorWrapperではありません)。データはTCPソケットを介して渡されます。だから私は立ち往生している。 – Neo

+0

私は、キーと値のペアのリスト/マップを持ち、カーソルを渡そうとするのではなくそのオブジェクトを渡す唯一の方法だと思います。 – Neo

+0

私は、CursorがメモリからDBから読み込み、実際のDBコンテンツ自体から切り離されたオブジェクトであるという印象を受けました。それで、私はCursorオブジェクトを回すことができると思ったのです。しかし、私は間違っているかもしれません。 – Neo

関連する問題