2014-01-07 2 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 
} 

나는 "LIMIT 50"과 같은 것으로 응답을 50으로 제한하려고 커서를 말하고 싶습니다. 커서에 해당 정보를 전달하려면? 제 코드를 복사해서 붙여넣고 거기서 편집하십시오.

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

내 대답을 시도 했습니까? – flx

답변

0

주문 사용할 수있는 테이블 이름이지만 콘텐츠 공급자는 쿼리 문에 제한 인수가 없습니다.

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"); 
+0

내 코드를 복사하여 붙여넣고 거기에서 편집하십시오. 어떻게 할 수 있습니까? – user3093402

1

안드로이드 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하고있는 경우 아이디 DESC 제한 (1)에 의해