Android cursor, как получить нулевые значения из столбцов

Я сохраняю все данные в базе данных как объекты (например, вместо int я использую Integer), чтобы сохранить нулевые значения.

При сохранении данных в базу данных SQLite, если Object null, я использую:

statement.bindNull(index);

Когда я смотрю на свою базу данных с помощью aSQLiteManager, кажется, что значения правильно сохранены (пустое поле для длинного столбца с нулевым значением).

Однако как читать значение из курсора, сохраняющего нулевую информацию?

Если я использую:

cursor.getLong(7)

для столбца, где у меня есть null, вместо null я получаю 0. Это не удивительно, поскольку getLong возвращает длинное значение типа, а не Long. Однако я не могу найти какую-либо функцию, возвращающую Long. Любая помощь? Конечно, мне также нужны функции, сохраняющие нулевые значения для других объектов (Integer, String и т.д.).

Ответ 1

Вам нужно проверить, не ли он нул.

Long l = null;
if (!cursor.isNull(7))
    l = cursor.getLong(7);