我该怎么做才能让我的内容提供商返回带有记录数的_count列?文档说这是自动的,但也许它只涉及一些内置的内容提供者.对数据库运行查询似乎不会返回它.
如果您正在使用contentProvider,那么您必须这样做count(*) AS count
.
如果使用cursor.getCount()
,那将不如上述方法有效.随着cursor.getCount()
你获取所有记录只是为了获得计数.整个代码应如下所示 -
Cursor countCursor = getContentResolver().query(CONTENT_URI, new String[] {"count(*) AS count"}, null, null, null); countCursor.moveToFirst(); int count = countCursor.getInt(0);
这有效的原因是因为android需要定义列名.
如果您使用ContentProvider.query()
的Cursor
是退货.调用Cursor.getCount()
以获取返回游标中的记录数.