hackish yol:
String sortOrder = "ROWID LIMIT 5"
ORDER BY ROWID LIMIT 5
sonuçlanacaktır. ROWID
, SQLite'nin devam ettiği örtük satır kimlikleriyle sıralar - bir sıralama belirtmezseniz ne olacağına çok yakındır. Bu, sağlanan parametrenin yalnızca geçerli bir sipariş türü olup olmadığını sipariş parametresinin kontrol etmediği gerçeğini kötüye kullanmak değil. Bir çeşit tampon taşma saldırısı.
Uri
parametrelerini tanımlamanın daha iyi bir yolu olacaktır. ContentProvider
sınırlamak için yukarıdaki deneme ile uyumlu olup olmadığını
// query code
Uri queryUri = Uri.parse("content://what/ever/items");
queryUri = queryUri.buildUpon().appendQueryParameter("limit", "5").build();
// in ContentProvider
String limit = queryUri.getQueryParameter("limit");
Her iki yaklaşım çalışacaktır. Aslında ContentProvider
'dan belirli verileri sınırlamak veya seçmek için iyi tanımlanmış bir yol yoktur. Her bir ContentProvider
, kendi sözleşmesiyle birlikte gelir, bu nedenle her sağlayıcıyla çalışmaz. buna son yol segmenti içindeki Sonra
Uri.withAppendedPath("uri" "/" + limitNumber);
kullanma gibi