カテゴリー別アーカイブ: SQLite

Android SQLite フェッチ系の処理

public class Database extends SQLiteOpenHelper {
    //....

    //例えばすべてのレコードを取得するメソッド
    public List<Map<String, String>> fetchAll() {
        List<Map<String, String>> results = new ArrayList<Map<String, String>>();
        String[] columns = {"id"};
       Cursor cursor = this.getReadableDatabase().query("tablename", columns, null, null, null, null, "created_at DESC");

       //カーソルを先頭に移動させる必要あり !!
      if (cursor.moveToFirst()) {
           while (!cursor.isLast()) {
                //現在のカーソル位置のレコードを取得する処理

                cursor.moveToNext();
          }
      }

      //....

ポイントは, cursor.moveToFirst()でカーソルを先頭に移動させておくことです.