在android中是否有任何执行查询并返回游标的直接方法?

时间:2011-02-21 05:30:05

标签: android

在android中有任何执行查询并返回游标的直接方法吗?

像在java中一样,有statement.getCursor() android中有没有等效的方法?

2 个答案:

答案 0 :(得分:2)

你可以这样执行查询

Cursor cursor;

String select = "Select * from contactTable";

try {

  cursor = myDataBase.rawQuery(select, null);

  for (int i = 0; i < cursor.getCount(); i++) {
    cursor.moveToNext();
    // your code
  }      
  cursor.close();

} catch (Exception e) {
        e.printStackTrace();
}finally{
        myDataBase.close();
        SQLiteDatabase.releaseMemory();
}

答案 1 :(得分:1)

我发现在android中与数据库接口的最佳方法是使用DatabaseAdapter类。 这是一个加载了方法的类,可以执行您想要对数据库执行的所有操作。对此有一些好的解读here。请查看清单4.

此外,请确保将SQLiteOpenHelper与数据库适配器结合使用。如果一个数据库不存在,这将自动创建一个数据库,并自动处理升级。但请注意:SQLiteOpenHelper只会帮助您自动为每个数据库创建一个表,我通过创建多个数据库来解决这个问题。由于SQLite不支持外键,所以我并没有真正看到它的缺点。查看SQLiteOpenHelper的示例代码here