光标界面

时间:2017-10-30 09:51:54

标签: java android

我是Android和java的新手。我知道在界面中,每个方法都没有可靠的实现代码,因为这些方法都是抽象的。但是,我发现我们可以使用Cursor接口中的方法来获取特定的列号,获取索引和许多其他值。我的问题是,当Cursor类中的这些方法没有实现时,它是如何实现的?

1 个答案:

答案 0 :(得分:0)

正如official documentation所述:

  

实现应该是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());