2012-04-12 16 views
0

我需要将一个Cursor对象从一个Android模拟器传递给另一个。但是当我尝试序列化它时,我得到一个“NotSerialiableException:android.database.sqlite.SQLiteCursor”错误。我知道解决这个问题的一种方法是拆分为可序列化类&序列化(在一个仿真器上),解序列化&重建Cursor对象(在另一个仿真器上)。Android中的Cursor NotSerializableException

有没有其他方法可以做到这一点?我在看Parcelable,我不确定这是否是我想要的。任何指针将不胜感激!

回答

2

地狱里没有机会这样做。游标基本上是数据库内容的视图。

你想要做什么?你如何试图在模拟器之间传递数据?您可能想要将光标中的数据放入可序列化的内容中,如地图。

+0

我需要实现分布式散列表。所以我需要存储的键值对分布在几个Android设备中。我应该能够查询某个设备的特定密钥。 所以我打算将光标从设备2传递到设备1.但光标不是可序列化的(并且都不是CrossProcessCursorWrapper)。数据通过TCP套接字传递。所以我被卡住了。 – Neo 2012-04-12 22:09:57

+0

我猜想唯一的办法是有一个键/值对的列表/地图,并传递该对象而不是尝试传递一个光标。 – Neo 2012-04-12 22:11:06

+0

我的印象是,Cursor是内存中的一个对象,它从DB中读取数据,因此现在已从实际的DB内容中分离出来。这就是为什么我认为我可以传递一个Cursor对象。但我可能是错的。 – Neo 2012-04-12 22:12:28