Android 如何使用ContentQueryMap类缓存游标值?

Android 如何使用ContentQueryMap类缓存游标值?,android,caching,cursor,Android,Caching,Cursor,我读到ContentQueryMap可以用来访问游标值,而不是每次都访问db 但是,如何使用它呢? Android官方帮助是hermetic…ContentQueryMap mQueryMap=newcontentquerymap(游标,BaseColumns.\u ID,true,null); ContentQueryMap mQueryMap = new ContentQueryMap(cursor, BaseColumns._ID, true, null);

我读到ContentQueryMap可以用来访问游标值,而不是每次都访问db

但是,如何使用它呢? Android官方帮助是hermetic…

ContentQueryMap mQueryMap=newcontentquerymap(游标,BaseColumns.\u ID,true,null);
       ContentQueryMap mQueryMap = new ContentQueryMap(cursor, BaseColumns._ID, true, null);

        Comparator<Long> numberAmaxB = new Comparator<Long>() {
            @Override public int compare(Long s1, Long s2) {
                if (s1<s2)
                    return 1;
                else if (s1>s2)
                    return -1;
                else
                    return 0;
            }           
        };
        SortedMap<Long, String> mySortedMap = new TreeMap<Long, String>(numberAmaxB);

        for (Map.Entry<String, ContentValues> row : mQueryMap.getRows().entrySet()) {

            Long _ID = Long.valueOf(row.getKey());
            String data= row.getValue().getAsString("data_column");
         conversationsSortedMap.put(_ID, data);
        }
比较器numberAmaxB=新比较器(){ @覆盖公共整数比较(长s1、长s2){ 如果(s1s2) 返回-1; 其他的 返回0; } }; SortedMap mySortedMap=新树映射(numberAmaxB); 对于(Map.Entry行:mQueryMap.getRows().entrySet()){ Long _ID=Long.valueOf(row.getKey()); 字符串数据=row.getValue().getAsString(“数据列”); conversationsSortedMap.put(_ID,data); }
提交答案时,应写下评论。我不明白你的答案。@omidnazifi我不同意。本例中的代码片段已经足够了,因为它清楚地提供了questionDear@Bostone所述的示例,我也不同意您的观点。因为如果一个初学者想要使用这个代码,他/她就不能。问题没有得到充分解释。@omidnazifi我同意,是的。。。但如果初学者是我的祖母:-P