如何在android中使用SQLiteCursor类?

如何在android中使用SQLiteCursor类?,android,sqlite,cursor,Android,Sqlite,Cursor,我想使用SQLiteCursor类来获取数据(不使用Cursor类)。这是因为我需要访问isBoolean或isInteger等方法。它们继承自AbstractWindowedCursor,并由这个类实现,而Cursor则不是这样 我是针对API 7编写的,不能切换到API 11或更高版本来使用getType方法(这不是我的项目,这是要求) 问题是我不能像普通游标那样创建这个类的实例。怎么做的?我试过铸造它: SQLiteCursor cursor = (SQLiteCursor)mDbHelp

我想使用SQLiteCursor类来获取数据(不使用Cursor类)。这是因为我需要访问isBoolean或isInteger等方法。它们继承自AbstractWindowedCursor,并由这个类实现,而Cursor则不是这样

我是针对API 7编写的,不能切换到API 11或更高版本来使用getType方法(这不是我的项目,这是要求)

问题是我不能像普通游标那样创建这个类的实例。怎么做的?我试过铸造它:

SQLiteCursor cursor = (SQLiteCursor)mDbHelper.getWritableDatabase().rawQuery(query,null);
但我得到的只是一个ClassCastException。文档说明SQLiteCursor是“一个游标实现,它公开SQLiteDatabase上查询的结果”。所以,如果sqlitequery和query方法都返回不能强制转换的游标,我怎么能得到它呢

我真的需要以某种方式获取列中的数据类型,这样我就知道如何转换它们(我从来都不知道它们,因为所有的表都是非常通用的)。有没有一个简单的方法来使用这种方法,或者我应该做一些变通

谢谢你的建议, kajman

尝试使用下面的方法

 SQLiteDatabase myDB = this.openOrCreateDatabase("dbname", SQLiteDatabase.OPEN_READWRITE, null);
Cursor c = myDB.rawQuery("select Name from contacts ", null); 
试着像下面这样使用

 SQLiteDatabase myDB = this.openOrCreateDatabase("dbname", SQLiteDatabase.OPEN_READWRITE, null);
Cursor c = myDB.rawQuery("select Name from contacts ", null); 

这给了我游标实例,而不是SQLiteCursor。在我的主题的第一句话中,我试图说明Cursor类不能满足我的要求。我需要SQLiteCursor在获取数据之前获取列类型,或者通过其他方式获取数据,而不使用SQLiteCursor类。通过此链接感谢@Vamshi,这看起来已经足够好了。目前我正在使用变通方法(将所有数据视为字符串),但在将来的某个时候我肯定会需要它。接受答案时,我认为上面的@Vamshi注释比他的答案更有用:)这给了我游标实例,而不是SQLiteCursor。在我的主题的第一句话中,我试图说明Cursor类不能满足我的要求。我需要SQLiteCursor在获取数据之前获取列类型,或者通过其他方式获取数据,而不使用SQLiteCursor类。通过此链接感谢@Vamshi,这看起来已经足够好了。目前我正在使用变通方法(将所有数据视为字符串),但在将来的某个时候我肯定会需要这种方法。接受答案时,我认为上面的@Vamshi注释比他的答案更有用:)