我是Android和java的新手。我知道在界面中,每个方法都没有可靠的实现代码,因为这些方法都是抽象的。但是,我发现我们可以使用Cursor接口中的方法来获取特定的列号,获取索引和许多其他值。我的问题是,当Cursor类中的这些方法没有实现时,它是如何实现的?
答案 0 :(得分:0)
实现应该是AbstractCursor的子类。
subclass
的{{1}}是SQLiteCursor,它实现了上述所有方法。
所以基本上当你使用如下所示的行来获得AbstractCursor
Cursor
时
SQLiteDatabase
您获得的Cursor cursor = sqLiteDatabase.rawQuery(query, null);
对象是cursor
接口的实现类,很可能是Cursor
类,它实现了所有必需的方法。
您可以通过调试或在SQLiteCursor
中打印cursor
来检查logcat
对象的实际(运行时)类。
Log.d("SOME_TAG", "Cursor implementation class is: " + cursor.getClass().getName());