[英]Android ContentResolver query giving wrong output
我的應用程序無法從People.CONTENT_URI獲取任何內容。 插入成功,結果為:“ URI = content:// contacts / people / 15”光標打印為:
"cursor=>>>>> Dumping cursor android.content.ContentResolver$CursorWrapperInner@d1caa72
<<<<<
position=-1
查詢和結果日志顯示后,我嘗試使用游標moveToFirst:
cursor=>>>>> Dumping cursor android.content.ContentResolver$CursorWrapperInner@d1caa72
<<<<<
position=0
程式碼片段:
import android.provider.Contacts.People;
final ContentResolver mResolver = mContext.getContentResolver();
mResolver.delete(People.CONTENT_URI, null, null);
final ContentValues valuse = new ContentValues();
valuse.put(People._ID, "1");
valuse.put(People.NAME, "name");
Uri uri = mResolver.insert(People.CONTENT_URI, valuse);
Log.d("MyApp","preparePeople: URI=" +uri);
private final String[] mPROJECTION = new String[] {
People._ID, People.NAME
};
final Cursor c = mContext.getContentResolver().query(People.CONTENT_URI, mPROJECTION, null, null, null);
Log.i("MyApp","cursor=" + DatabaseUtils.dumpCursorToString(c) + " position=" + c.getPosition());
請讓我知道我的代碼段出了什么問題。 光標輸出未顯示任何插入的值。
您正在從游標中獲取數據,但是沒有告訴游標從哪個位置獲取數據,默認情況下游標指向-1位置。
因此,您必須使用
c.moveToFirst();
獲取游標后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.