android example - Was macht ein SQLiteCursor, wenn eine Spalte null ist?




bewegen column (3)

Ich möchte eine Ganzzahl aus einem Cursor abrufen, die von einer SQLite-Abfrage zurückgegeben wird, aber ich weiß, dass die ganze Zahl Null sein kann. Leider kann ich keine Cursormethode finden, die mir erlaubt, dies zu überprüfen.

Der Code wird sein

mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));

Ich würde einen möglichen Nullwert erwarten, und dies ist tatsächlich aus verschiedenen Gründen wünschenswert - das Feld bezieht sich auf die Zeit, in der eine zweite Tabelle geändert wurde, und die erste Tabelle kann vor der zweiten Tabelle ausgefüllt werden. Unglücklicherweise sagt die Dokumentation für Cursor, dass, ob eine Ausnahme ausgelöst wird oder ein Fehlerwert zurückgegeben wird oder ein anderes Verhalten, der Implementierung überlassen bleibt, und die SQLiteCursor-Dokumentation sagt nichts.

Was macht dieser Code, wenn das Feld null ist? Gibt es eine Möglichkeit, dies vor dem Aufruf von getInt () zu überprüfen?


Answers

Es gibt eine isNull() -Methode, benutzen Sie einfach, wenn Sie vorher Null-Werte erkennen. Denken Sie daran: Es ist durchaus üblich, dass Methoden, die einen Booleschen isX() mit dem Namen isX() anstelle von getX() , eine Quelle der Verwirrung sein können :)


Aus meiner Erfahrung gibt es 0 zurück. Wenn 0 keine mögliche Antwort ist, dann können Sie nur nach 0 suchen. Wenn es eine mögliche Antwort ist, dann müssen Sie tun, wie pgsandstrom vorgeschlagen.


dpi -

  • Punkte pro Zoll
  • Messung der Pixeldichte des Bildschirms.

px - pixel

  • Für die Zuordnung von Bildschirmpixeln

pt - Punkte

  • Ungefähr 1/72 Zoll in Bezug auf die physikalische Bildschirmgröße.

Zoll - in Bezug auf die physikalische Bildschirmgröße (1 Zoll = 2,54 cm).

mm-Millimeter - in Bezug auf die physikalische Bildschirmgröße.

sp - maßstabsunabhängiges Pixel.

  • Basierend auf der Einstellung der Schriftgröße des Benutzers.
  • Schriftart sollte in 'sp' sein.

Dip -

  • dip == dp
  • Dichte unabhängiges Pixel.
  • Sie variiert je nach Bildschirmdichte.
  • In einem 160-dpi-Bildschirm ist 1 dp = 1 Pixel.
  • Verwenden Sie dp mit Ausnahme der Schriftgröße.

In Standard werden dp und sp verwendet. sp für Schriftgröße und dp für alles andere.

Formel für die Umrechnung von Einheiten:

px = dp * (dpi / 160);

Density Bucket -> Screen Display => Physical Size        => Pixel Size                   

ldpi         -> 120 dpi          => 0.5 x 0.5 in         => 0.5 in * 120 dpi = 60x60 px   

mdpi         -> 160 dpi          => 0.5 x 0.5 in         => 0.5 in * 160 dpi = 80x80 px   

hdpi         -> 240 dpi          => 0.5 x 0.5 in         => 0.5 in * 240 dpi = 120x120 px  

xhdpi        -> 320 dpi          => 0.5 x 0.5 in         => 0.5 in * 320 dpi = 160x160 px  

xxhdpi       -> 480 dpi          => 0.5 x 0.5 in         => 0.5 in * 480 dpi = 240x240 px 

xxxhdpi      -> 640 dpi          => 0.5 x 0.5 in         => 0.5 in * 640 dpi = 320x320 px  






android sqlite cursor