我不知道你的类如何,但一般来说,你可以做这样的事情:
在相关项目:
接收列表创建一个监听你从想要数据库,让我们说onDBRequest
:
public interface onDBRequest {
public List<Integer> onIDRequest();
}
然后,在你的类,你证明他通知您可以这样做:
public class ClassThatShowsNotifications {
private OnDBRequest mDbListener;
public onDBRequest getDblistener();
public void setDblistener();
...
} 当你需要的ID进行比较的列表,你可以致电:
getDbListener().onIDrequest(); //will return the list of IDs you need to compare
在应用项目:
让你的DAO实现onDBRequest
和实施onIDRequest
返回清单,你需要稍后比较:
public class YourDAO implements onDBRequest{
...
public List<Integer> onIDRequest(){
List<Integer> IDs;
//do your stuff to return the IDs
return IDs;
} }
现在,您唯一需要做的就是在显示通知的类上设置您想要的侦听器。例如:
在YourDAO类
ClassThatShowsNotification notifications = new ClassThatShowsNotifications();
notifications.setDBListener(this);
编辑
如果你的类是基于服务类,你可以做几乎相同。当你启动这个服务时,你可以传递你的单身作为监听器。您可以使用bindService()
或从您的服务中创建一个单身人士。
public class YourService extends Service{
private static YourService sInstance;
public static YourService getInstance(){
return sInstance;
}
onCreate(){
sInstance = this;
}
}
然后,当你启动服务
YourService.getInstance().setDBListener((onDBRequest)YourDAOSingleton.getInstance());
这将很好地工作,因为你有一个本地服务,但你也可以看看Broadcast Receivers
好吧,我觉得我得到了一个想法如何去做。 如果ClassThatShowsNotification是服务类型类,该怎么办?从我所收集的内容来看,服务的监听器实现看起来有点不同。 –
请检查编辑的答案 – vinitius