angel angel - 2 months ago 12
Android Question

Android Cursor? how to read object data?

i know a

Cursor
has method for get
String, Int
, etc
but isn't there somethings as

mycursor.GetObject(index)


I want to create a dynamic method which returns an object and I only cast it.

or is it possible use
mycursor.GetString(index)
for any type?
String,Float,Double,Long,Short, Blob,Int
,etc

and I can use for example for a
Float
or a
Int
or any type and cast it?

for example

(Blob) newblob=mycursor.GetString(i_return_BloB);
(Int) newint=mycursor.GetString(i_return_Int);
(Float) newfloat=mycursor.GetString(i_return_Float);
(Double) newdouble=mycursor.GetString(i_return_Double);
(Long) newlong=mycursor.GetString(i_return_long);
(Short) newshort=mycursor.GetString(i_return_short);


would it work?
could i use
mycursor.GetString()
for any type?

dst dst
Answer

You can get the type of a column, and then call the appropiate method from a switch statement (and build the method you're asking for by yourself).

Using getString for different types is not safe, as the docs specify:

The result and whether this method throws an exception when the column value is null or the column type is not a string type is implementation-defined.