2014-01-07 35 views
3

我需要從android手機中獲取聯繫人。所以我正在使用此代碼:光標查詢中的行數限制

Cursor phones = getActivity().getContentResolver().query(Phone.CONTENT_URI, 
    new String[] { Phone.NUMBER, Phone.TYPE }, 
    " DISPLAY_NAME = ?", new String[] { displayName }, null); 
while (phones.moveToNext()) { 
    //do work here 
} 

我想告訴遊標將響應限制爲50,例如「LIMIT 50」。我在哪裏將該信息傳遞給光標?請複製並粘貼我的代碼並在那裏編輯。

+0

你試過我的回答嗎? – flx

回答

0

訂購ID DESC限制1:

db.query("table", null, "column=?", new String[]{"value"}, null, null, "id DESC", "50"); 
+0

請您複製並粘貼我的代碼並在那裏編輯,以便我可以看到如何操作? – user3093402

1

有一個在Android的API沒有限制,但你可以在你的代碼中應用它是這樣的:

Cursor phones = getActivity().getContentResolver().query(Phone.CONTENT_URI, 
    new String[] { Phone.NUMBER, Phone.TYPE }, 
    " DISPLAY_NAME = ?", new String[] { displayName }, null); 
for (int i = 0; i < 50 && phones.moveToNext(); ++i) { 
    // do work here 
} 
phones.close(); 
0

如果你有DB和您可以使用該表名稱,但內容提供者在其查詢語句中沒有限制參數。

mDb = new DBHelper (this); 

Cursor c = mDB.getReadableDatase().query(
     <Phone_Table_Name>, 
     new String[] { Phone.NUMBER, Phone.TYPE }, 
     "DISPLAY_NAME = ?", 
     new String[] { displayName }, null), 
     null, 
     null, 
     null, 
     "50");