Рассмотрим таблицу базы данных sqlite DRINK
со столбцами: Name
(String), Description
(String), ResourceID
(int).
Теперь, после того, как я получаю Cursor cur
каждый раз, когда я хочу получить что-то из определенного ряда, мне нужно будет сделать что-то вроде:
cur = db.query(...);
String name = cur.getString(0);
String desc = cur.getString(1);
int desc = cur.getInt(0);
Но это logi c зависит от моего знания схемы таблиц базы данных, и я бы хотел этого избежать. Я хотел бы сделать что-то вроде этого:
Object x = cur.getObject(0); //not available
, но, как отмечено, getObject
недоступен для курсора
, но при этом мне также требуется типы данных также сохраняются, то есть 1
, хранящийся как integer
в столбце ResourceID
, не дает 1 instanceOf String=true
, он должен давать 1 instanceOf int=true
.
, так зачем мне сделать это? Если я могу это сделать, то я могу получить значения из базы данных в виде, подобном a для l oop, не беспокоясь о том, что находится в схеме, и предоставляя только ее длину.
Какими способами этого можно достичь или, по крайней мере, добиться аналогичного поведения.