SQLiteクエリから返されたカーソルから整数を取得したいのですが、整数がnullである可能性があることはわかっています。残念ながら、これを確認できるCursorメソッドが見つかりません。
コードは
mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));
Null値の可能性があると思いますが、これは実際にはさまざまな理由で望ましいものです。このフィールドは2番目のテーブルが変更された時刻を示し、最初のテーブルは2番目のテーブルよりも先に入力できます。残念ながら、Cursorのドキュメントには、例外がスローされるか、エラー値が返されるか、またはその他の動作が実装に任されていると記載されており、SQLiteCursorのドキュメントには何も記載されていません。
フィールドがnullの場合、このコードは何をしますか? getInt()を呼び出す前にこれを確認する方法はありますか?
isNull()
-メソッドがあります。事前に使用して、null値を検出してください。覚えておいてください:ブール値を返すメソッドがisX()
ではなくgetX()
と名付けられることはよくあります。これは混乱の元になる可能性があります:)
私の経験から、それは0を返します。0が可能な答えでない場合は、0をチェックするだけです。それが可能な答えである場合は、pgsandstromが提案したように行う必要があります。