簡體   English   中英

Android ContentResolver查詢給出錯誤的輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM