我的sqlite数据库上有一些数据,但我在这篇博客中读到(http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/)表格必须有一行叫做_id,所以android可以绑定字段(不知道这意味着什么)但我发现这很麻烦,因为它有点复杂的数据库,所以我想知道我是否真的需要修改我的数据库,或者有另一种方法来解决这个问题。
答案 0 :(得分:1)
如果您使用的是CursorAdapter
或其任何子类,则Cursor
必须包含_id
整数列,最好是一列唯一。
您的选择是:
将_id
(例如,AUTOINCREMENT
列)添加到您的表格中并将其包含在您的查询中
在查询的表格中重命名某些列,例如SQLite的ROWID
(例如SELECT ROWID AS _id, ... FROM table WHERE ...
),因为重要的是Cursor
尝试返回_id
的固定值(例如SELECT _id=0, ... FROM table WHERE ...
),但我从未尝试过此操作并且不知道它是否有效
请勿使用CursorAdapter
或其任何子类
答案 1 :(得分:0)
不,你绝对可以继续使用你的数据库。
对于“_id”字段,它在许多适配器中用于它们以找到放置项目的正确位置(例如在列表和旋转器中),但是也有缺点的解决方法,它们就是只需访问您的数据就可以了。
缺少_id的常见解决方案,btw是使用以下查询重命名行的索引(如果它存在且不称为“_id”):
SELECT index AS _id IN table;
希望这有帮助。