从房间dao更新/删除时触发自定义事件

时间:2017-07-31 22:11:08

标签: android android-sqlite android-room

我想知道在调用房间dao上的方法时是否可以触发自定义事件。在我的特定情况下,我想删除引用该文件的实体后删除文件。我有一个名为Picture的实体,它拥有磁盘上实际文件的路径。当从数据库中删除Picture的实体时,我需要删除该文件,如果它是由app /在app目录中保存的。经过一番研究后,我发现任何不符合我需求的东西。提前致谢

2 个答案:

答案 0 :(得分:2)

  

我想知道当调用房间dao上的方法时是否可以触发自定义事件

不,抱歉。

  

当从数据库中删除Picture的实体时,我需要删除该文件,如果它是由app /在app目录中保存的

无论你的代码是什么,DAO上的String value = "" + childDataSnapshot.getValue();方法都有责任删除文件。

答案 1 :(得分:0)

在室内使用@Delete注释在你的dao中注释的任何方法都将返回“int”0如果没有删除项目或返回删除的行总数。

你可以做这样的事情。

if(yourDB.getYourDao.delete()>0){

    //Do task you want to perform on deletion.
}