2011-07-29 14 views
7

Czy Android Cursor może zwracać wartość boolowską? Sprawdziłem dokumenty i nie było żadnych informacji na ten temat?android, wartość binarna zwracająca kursor?

Jeśli nie - czy istnieje alternatywny sposób uzyskania wartości logicznej z tabeli SQLite?

+0

użycie int ... jak w C ... 0 oznacza fałszywe inne oznacza prawdziwe – Selvin

Odpowiedz

19

Android implementacja SQLite3 nie obsługuje poprawnie wartości boolowskich. Będziesz musiał użyć liczb całkowitych ustawionych na 0 lub 1 i napisać jakiś kod, aby przekonwertować go na wartość boolowską, np.

int x = cursor.getInt(...); 
return x == 1; 
1

Zastosowanie typ enum z „Y” wartości i „N” do reprezentowania wartości Boolean

1

Innym sposobem jest po prostu przejść jak String zamiast boolean a następnie analizować je z powrotem do wartości logicznej:

int index = cursor.getColumnIndex(<key>); 
String str = cursor.getString(index); 
boolean bool = Boolean.parseBoolean(str); 
Powiązane problemy