あなたのコメントは、あなたがすでにあなたの問題に答えたことを示しています。ORMLiteを使用して、「_id」という名前の列を作成できます。
@DatabaseField(generatedId = true)
private int _id;
また
@DatabaseField(generatedId = true, columnName = "_id")
private int id;
Cursor
sを使用している場合は、クラスのメソッドlast()
とmoveAbsolute(...)
メソッドを確認することをお勧めします。DatabaseResults
また、AndroidDatabaseResults
(キャストできる)には、基になるオブジェクトgetRawCursor()
を返すメソッドと、追加のメソッドとメソッドがあります。Cursor
getCount()
getPosition()
ORMLiteとCursor
sに関する詳細情報は次のとおりです。
CursorAdapterで使用するORMLiteを搭載したAndroidカーソル
Cursor
次のようなものを使用してアクセスできます。
// build your query
QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
qb.where()...;
// when you are done, prepare your query and build an iterator
CloseableIterator<Foo> iterator = dao.iterator(qb.prepare());
try {
// get the raw results which can be cast under Android
AndroidDatabaseResults results =
(AndroidDatabaseResults)iterator.getRawResults();
Cursor cursor = results.getRawCursor();
...
} finally {
iterator.closeQuietly();
}