पहले सभी बंद बहाना मेरी गरीब अंग्रेजी! मैं, जावा/एंड्रॉयड के लिए नया हूँ 4.2.1 के साथ शुरू किया और उस के साथ लड़ाई भी लगभग 2 दिन, तो मैं कुछ और जानकारी SQLiteQueryBuilder के बारे में query हिस्सा काफी है कि क्या यू की तलाश कर रहे है पढ़ना शुरू;)
यह है:
public Cursor query (SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder)
सामग्री प्रदाता की क्वेरी "समारोह" सिर्फ तुम देता है:
query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder)
यहाँ
यू के आसपास चाल कर सकते हैं, मैं तुम्हें पोस्ट करेंगे मेरी कोड स्निप:
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
final SQLiteDatabase db = mOpenHelper.getReadableDatabase();
/* a String is a Object, so it can be null!*/
String groupBy = null;
String having = null;
switch (sUriMatcher.match(uri)) {
...
...
...
case EPISODES_NEXT:
groupBy = "ShowID";
queryBuilder.setTables(EpisodenTable.TableName);
break;
default:
throw new IllegalArgumentException("Unknown URI " + uri);
}
Cursor c = queryBuilder.query(db, projection, selection, selectionArgs,
groupBy, having, sortOrder);
c.setNotificationUri(getContext().getContentResolver(), uri);
return c;
}
अपने thats!
यहाँ
कोड मैं निष्पादित करने के लिए उपयोग करें:
Cursor showsc = getContext().getContentResolver().query(
WhatsOnTVProvider.CONTENT_EPISODES_NEXT_URI,
EpisodenTable.allColums_inclCount,
String.valueOf(Calendar.getInstance().getTimeInMillis()/1000)
+ " < date", null, null);
सामग्री प्रदाता समूह के आधार पर यहां लागू किया गया है: https://github.com/novoda/SQLiteProvider – Blundell