हल किया गया!
तो SQLiteQueryBuilder विधियां जो एक कर्सर लौटाती हैं, बूलियन . की अनुमति नहीं देती हैं सीधे पैरामीटर।
हालांकि कक्षा के नोट्स पढ़ने के बाद मैंने setDistinct . विधि पर ध्यान दिया और इसे SQLiteQueryBuilder पर लागू किया।
अब यह काम करता है और मुझे प्रत्येक राज्य के लिए सिर्फ एक अनूठी प्रविष्टि देता है, जो मैं करने की कोशिश कर रहा था। मुझे अन्य स्तंभों को हटाने और केवल राज्य पर ध्यान केंद्रित करने की आवश्यकता थी, लेकिन यह एक और मुद्दा/समाधान इस प्रश्न से संबंधित नहीं है। यह कहने के लिए पर्याप्त है कि मुझे केवल कॉलम स्थिति पर ध्यान केंद्रित करना था और setDistinct . लागू करना था केवल वांछित परिणाम प्राप्त करने के लिए उस कॉलम में।
यह रहा पूरा कोड:
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;
}