你如何从光标中获取类型?

SBe*_*413 3 java sqlite android cursor

javadocs表明android.database.Cursor有一个getType(int)方法.但是,当我尝试调用此方法时,Eclipse会给出一个错误,指出不存在任何方法.是什么赋予了?

Squ*_*onk 6

您定位的是什么版本的Android?该getType()方法仅适用于v3.0及更高版本.

编辑:假设您的目标是Android的v3.0之前的版本,那么发现表中每列的类型可能是"hack",即查询sqlite_master表以查找CREATE数据.

SELECT sql FROM sqlite_master
Run Code Online (Sandbox Code Playgroud)

它非常讨厌,但如果你真的需要找到类型,那么你可以扩展SQLiteCursor并添加自己的getType(int columnIndex)方法.

sqlite_master当光标首次访问表时,您可以对表执行一次性查询,然后CREATEsql列中解析语句并将"类型"存储在表中int[].

getType(int columnIndex)您只需将回报您的价值int[]基础columnindex.

正如我所说,有点黑客但它会起作用.