我在应用程序中需要实现一个在本地数据库中自动删除过时的记录,并且在推出应用程序后也具有监听功能。求问实现过程及方法,能详细点更好!
OK,看来我是写得太多了点,
应用程序能随时接受到服务端的消息。这个相信你可以做到的,我觉得这个也帮不了你什么。
自动删除昨天的数据,不知道你的应用程序是怎么的,无论如何这都只是对数据库进行操作。这个不能用上面的方式来进行。本来监听时间的变化
ACTION_DATE_CHANGED就可以了,但是很多人反映这个不能正常工作。所以都推荐用AlarmManager ([url]http://stackoverflow.com/questions/4500442/how-to-receive-broadcastrecevier-when-devices-date-automaticaly-change[/url])
但是这个我也是熟,所以不能提供更多帮助了。
虽然打了两次都因为浏览器无响应面报废了,但哥门我够坚强,又站起来了。
这上问题不知道你是不是这个问题哈。
先看使用的代码:
下面是我们在做未接来电时的代码:
mResolver.registerContentObserver(CallLog.Calls.CONTENT_URI, true,
missedCallObserver)
这个CallLog.Calls.CONTENT_URI是在数据库中提供支持的。
而missedCallObserver继承了ContentObserver在CallLog.Calls.CONTENT_URI监听的内容发生变化是就会调用missedCallObserver的onChange方法。
如何实现的对URI的支持。
看源码CallLogProvider.java
有如下方法:
protected void notifyChange() {
getContext().getContentResolver().notifyChange(CallLog.CONTENT_URI, null,
false /* wake up sync adapters */);
}
这里告知CallLog.CONTENT_URI,有数据变化。
再一个notifyChange在哪些地方被调用呢。
不用看想也应该想在是在对数据库进行增,删,改的时候。
事实也是如此.