ROZWIĄZANE!
Tak więc metody SQLiteQueryBuilder, które zwracają kursor, nie pozwalają na wartość logiczną parametr bezpośrednio.
Jednak po przeczytaniu notatek z zajęć zauważyłem metodę setDistinct i zastosował go do SQLiteQueryBuilder.
Teraz działa i daje mi tylko jeden unikalny wpis dla każdego stanu, dokładnie to, co próbowałem zrobić. Musiałem usunąć inne kolumny i po prostu skupić się na stanie, ale to kolejny problem / rozwiązanie niezwiązane z tym pytaniem. Wystarczy powiedzieć, że musiałem skupić się tylko na stanie kolumny i zastosować setDistinct do tej kolumny tylko w celu uzyskania pożądanego wyniku.
Oto kompletny kod:
public Cursor getData(){
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String [] sqlSelect = {"0 _id", "state"};
String sqlTables = "Reefs";
qb.setTables(sqlTables);
qb.setDistinct(true);
Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);
c.moveToFirst();
return c;
}