获取未读短信计数的更快方法?
Posted
技术标签:
【中文标题】获取未读短信计数的更快方法?【英文标题】:A faster way of getting unread SMS count? 【发布时间】:2012-02-09 19:24:07 【问题描述】:String address = 0123456789;
Cursor unreadcountcursor = getContentResolver().query(Uri.parse("content://sms/inbox"),
new String[], "read = 0 and address='"+address+"'", null, null);
int count = unreadcountcursor.getCount();
没有更快的获取方式吗?因为当您必须对许多数字进行计数时,此代码执行起来非常繁重,因此加载需要很长时间。有没有另一种方法,假设这段代码将在一个while循环中。我知道在适配器中使用它更快且可行,但适配器的问题是我必须滚动列表并返回计数以获取更新,并且 notifyDataSetChanged() 对此没有任何作用。
最好的解决方案是什么?
谢谢。
【问题讨论】:
【参考方案1】:我不确定这是否会节省很多设备时间,但您的时间 - 肯定是:
Cursor countCursor = getContentResolver().query(CONTENT_URI,
"count(*) AS count",
null,
null,
null);
countCursor.moveToFirst();
int count = countCursor.getInt(0);
引用自here
【讨论】:
不,这个问题听起来很有趣,我确信可能有计数的查询,我真的在网上找到了。就是这样。以上是关于获取未读短信计数的更快方法?的主要内容,如果未能解决你的问题,请参考以下文章