В андроиде есть какой-нибудь прямой метод, который выполняет запрос и возвращает курсор?

В Android есть какой-либо прямой метод, который выполняет запрос и возвращает курсор??

как и в java, есть statement.getCursor(), есть ли эквивалентный метод в android?


person Prachi    schedule 21.02.2011    source источник


Ответы (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();
}
person krunal shah    schedule 21.02.2011

Я считаю, что лучший способ взаимодействия с базой данных в Android — использовать класс DatabaseAdapter. Это класс, загруженный методами, которые делают все, что вы могли бы сделать с базой данных. Полезную информацию об этом можно найти здесь. Просто посмотрите листинг 4.

Кроме того, обязательно используйте SQLiteOpenHelper вместе с адаптером базы данных. Это автоматически создаст базу данных, если она не существует, а также автоматически обработает обновления. Однако будьте осторожны: SQLiteOpenHelper поможет вам автоматически создать только одну таблицу для каждой базы данных, я обхожу это, просто создавая несколько баз данных. Поскольку SQLite не поддерживает внешние ключи, я не вижу в этом недостатка. Ознакомьтесь с примером кода здесь для SQLiteOpenHelper.

person reader1    schedule 21.02.2011