首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不推荐使用的ManagedQuery()问题

不推荐使用的ManagedQuery()问题
EN

Stack Overflow用户
提问于 2012-10-04 02:36:41
回答 3查看 86.6K关注 0票数 114

我有这个方法:

public String getRealPathFromURI(Uri contentUri) {
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(contentUri, proj, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

不幸的是,编译器向我显示了一个问题:

Cursor cursor = managedQuery(contentUri, proj, null, null, null);

因为managedQuery()已被弃用。

在不使用managedQuery()的情况下如何重写此方法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-04 02:45:17

您可以将其替换为context.getContentResolver().queryLoaderManager (您需要使用兼容包来支持API11之前的设备)。

但是,看起来您只使用了一次查询:您可能根本不需要它。也许这能行得通?

public String getRealPathFromURI(Uri contentUri) {
    String res = null;
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
    if(cursor.moveToFirst()){;
       int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
       res = cursor.getString(column_index);
    }
    cursor.close();
    return res;
}
票数 262
EN

Stack Overflow用户

发布于 2013-08-19 20:55:53

public void getBrowserHist(Context context) {
        Cursor mCur = context.getContentResolver().query(Browser.BOOKMARKS_URI,
                Browser.HISTORY_PROJECTION, null, null, null);
        mCur.moveToFirst();
        if (mCur != null && mCur.moveToFirst() && mCur.getCount() > 0) {
            while (mCur.isAfterLast() == false) {
                Log.e("hist_titleIdx",
                        mCur.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX));
                Log.e("hist_urlIdx",
                        mCur.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
                mCur.moveToNext();
            }
        }
    }
票数 3
EN

Stack Overflow用户

发布于 2014-04-01 16:04:59

您需要初始化游标,因为它将在方法开始前或其他位置关闭

cursor = null;
public void method(){
// do your stuff here 
cursor.close();
}
票数 -8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12714701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档