Вы пропустили
mcursor.moveToFirst();
public void count(){
SQLiteDatabase db = table.getWritableDatabase();
String count = "SELECT count(*) FROM table";
Cursor mcursor = db.rawQuery(count, null);
mcursor.moveToFirst();
int icount = mcursor.getInt(0);
System.out.println("NUMBER IN DB: " + icount);
}
Но вы должны использовать более эффективные методы для этой задачи, такие как встроенные помощники DatabaseUtils
например
public long count() {
return DatabaseUtils.queryNumEntries(db,'tablename');
}
Может оказаться полезным использовать DatabaseUtils.longForQuery()
, чтобы получить значение для первого столбца, когда у вас есть запрос на общее количество. Это проще, и вам не нужна эта куча работы с курсором.