删除会议室数据库中的所有记录

时间:2019-10-27 23:28:55

标签: android

我无法使用这两个查询来擦除房间db中所有过去的记录,我尝试了其他方法,但似乎对我没有用,这是我的代码

这是我存储了json响应中的日期以供以后比较的服务类

   //// storing the date from json response

   SharedPreferences sharedPreferences = getSharedPreferences("prefs", 
   MODE_PRIVATE);
   SharedPreferences.Editor editor = sharedPreferences.edit();
   editor.putString("date", datetime);
   editor.apply();

   SharedPreferences sharedPreferences1 = getSharedPreferences("prefs", 
   MODE_PRIVATE);
  String getDate = sharedPreferences1.getString("date", null);

        ///this is the method which is supposed to delete the data 

        DeleteOld(getDate);

这是我用来比较日期的一段代码,如果相差等于2天,请删除所有数据


 @SuppressLint("SimpleDateFormat")
    public void DeleteOld(String dataDate) {

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd 
         HH:mm:ss");


        try {
            Date pasTime = simpleDateFormat.parse(dataDate);
            Date nowTime = new Date();

            long difference = nowTime.getTime() - pasTime.getTime();

            long day = TimeUnit.MILLISECONDS.toDays(difference);

            if (day == 2) {
                new Thread(() -> {
                    AppDataBase appDataBase = 
              DbClient.getInstance(getApplicationContext()).getDataBase();
                    appDataBase.liveModelDao().deleteAllData(new LiveModel());
                }).start();
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

并且我使用这些查询来删除数据,但我不知道它们是问题还是其他问题

 @Query("DELETE FROM livetable")
    void deleteAll();

    @Delete
    void deleteAllData(LiveModel model);

作为此代码的结果,我想在2天后实际上删除我的房间db的所有数据,并执行此操作以获取json api日期,对其进行存储和格式化,然后尝试从现在开始减去它来获取差异从毫秒转换为天,然后比较如果两天的差等于2,则删除数据,希望这是清楚的人,谢谢您提前提供帮助

0 个答案:

没有答案