Android:如何创建自己的游标类?

Mar*_*tin 6 database sqlite android cursor extend

我在Android中使用Sqlite并从数据库中获取值,我使用这样的东西:

Cursor cursor = sqliteDatabase.rawQuery("select title,category from table", null);

int columnIndexTitle = cursor.getColumnIndex("title");
iny columnIndexCategory = cursor.getColumnIndex("category");

cursor.moveToFirst();
while (cursor.moveToNext()) {
    String title = cursor.getString(columnIndexTitle);  
    String category = cursor.getString(columnIndexCategory);    
}
cursor.close();
Run Code Online (Sandbox Code Playgroud)

我想创建自己的光标,这样我可以做的getColumnIndex(),并getString()用一个方法.像这样的东西:

String title = cursor.getString("title");
Run Code Online (Sandbox Code Playgroud)

我想创建自己的类来扩展我得到的光标sqliteDatabase.rawQuery,但我不知道如何实现这一点.我应该扩展SQLiteCursor还是应该如何做?它甚至可能是一个好主意吗?

idb*_*rii 3

创建您自己的 getString 将导致每次调用都进行映射查找,而不仅仅是 getColumnIndex。

这是SQLiteCursor.getColumnIndex和AbstractCursor.getColumnIndex的代码。如果有很多行,减少对此函数的调用将防止不必要的字符串处理和映射查找。