是否有必要修改我的SQLite数据库以在Android应用程序中使用?

时间:2013-03-25 19:57:04

标签: android sqlite

我的sqlite数据库上有一些数据,但我在这篇博客中读到(http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/)表格必须有一行叫做_id,所以android可以绑定字段(不知道这意味着什么)但我发现这很麻烦,因为它有点复杂的数据库,所以我想知道我是否真的需要修改我的数据库,或者有另一种方法来解决这个问题。

2 个答案:

答案 0 :(得分:1)

如果您使用的是CursorAdapter或其任何子类,则Cursor必须包含_id整数列,最好是一列唯一。

您的选择是:

  1. _id(例如,AUTOINCREMENT列)添加到您的表格中并将其包含在您的查询中

  2. 在查询的表格中重命名某些列,例如SQLite的ROWID(例如SELECT ROWID AS _id, ... FROM table WHERE ...),因为重要的是Cursor

  3. 尝试返回_id的固定值(例如SELECT _id=0, ... FROM table WHERE ...),但我从未尝试过此操作并且不知道它是否有效

  4. 请勿使用CursorAdapter或其任何子类

答案 1 :(得分:0)

不,你绝对可以继续使用你的数据库。

对于“_id”字段,它在许多适配器中用于它们以找到放置项目的正确位置(例如在列表和旋转器中),但是也有缺点的解决方法,它们就是只需访问您的数据就可以了。

缺少_id的常见解决方案,btw是使用以下查询重命名行的索引(如果它存在且不称为“_id”):

SELECT index AS _id IN table;

希望这有帮助。