Android内容解析器查询占位符整数

Android内容解析器查询占位符整数,第1张

概述我正在尝试在android浏览器内容提供程序上运行一个简单的查询.书签与历史记录项混合在一起,因此要获取书签,只需选择“Browser.BookmarkColumns.BOOKMARK=1”即可.使用StringmSelectionClause=Browser.BookmarkColumns.BOOKMARK+"=1";与Cursorcursor=getContent

我正在尝试在android浏览器内容提供程序上运行一个简单的查询.书签与历史记录项混合在一起,因此要获取书签,只需选择“ browser.BookmarkColumns.BOOKMARK = 1”即可.使用

String mSelectionClause = browser.BookmarkColumns.BOOKMARK + " = 1";

Cursor cursor = getContentResolver().query(browser.BOOKMARKS_URI, null, mSelectionClause, null, null);

工作正常.但是我用占位符获得相同结果的所有尝试都失败了:

String mSelectionClause = browser.BookmarkColumns.BOOKMARK + " = ?";

查询:

Cursor cursor = getContentResolver().query(browser.BOOKMARKS_URI, null, mSelectionClause, mSelectinArgs, null);

在所有这些情况下,返回一个空的Cursor:

mSelectionArgs[0] = "1"mSelectionArgs[0] = '1'mSelectionArgs[0] = String.valueOf(1)mSelectionArgs[0] = Integer.toString(1)mSelectionArgs[0] = 1 + "" (IDea picked up on this site)

我是在做错什么,还是应该放弃使用占位符的希望?

干杯.

解决方法:

AndroID数据库API是为字符串而不是整数设计的.有人说这是API设计中的错误.

无论如何,在您的示例字符串mSelectionClause = browser.BookmarkColumns.BOOKMARK“ = 1”;您使用的是整数(= 1).这是处理整数的最佳且唯一的方法.这样做也是安全的.如果要使用字符串,则第二种解决方案将是最安全的.

总结

以上是内存溢出为你收集整理的Android内容解析器查询占位符整数全部内容,希望文章能够帮你解决Android内容解析器查询占位符整数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存