Этот вопрос и выбранный ответ были полезны для меня, чтобы понять, как просто и быстро проверить, выходит ли запись. Тем не менее, я видел много мест, которые рекомендуют не использовать rawQuery
из-за возможности внедрения SQL. (Например, rawQuery Vs. database.query )
Итак, вот что я решил:
public boolean Exists(String searchItem) {
String[] columns = { COLUMN_NAME };
String selection = COLUMN_NAME + " =?";
String[] selectionArgs = { searchItem };
String limit = "1";
Cursor cursor = db.query(TABLE_NAME, columns, selection, selectionArgs, null, null, null, limit);
boolean exists = (cursor.getCount() > 0);
cursor.close();
return exists;
}
Я не знаю, так ли быстро, как выбранный ответ или нет, но после изучения этого он, похоже, больше соответствует рекомендуемым соглашениям Android.
Обновление
Теперь я рекомендую ответ @ yuku, но пока не буду удалять свой, потому что все еще хочу увести людей от использования необработанных запросов.