【问题标题】:onSuccessListener for storing SQLite DataonSuccessListener 用于存储 SQLite 数据
【发布时间】:2018-12-14 09:24:28
【问题描述】:

与 firebase 一样,有一个 onsuccesslistener 用于添加数据,以便您可以在任务成功时执行某些操作。有没有办法知道也可以在 sqlite 中存储数据?

SQLiteDatabase db = mHelper.getWritableDatabase();
                        ContentValues contentValues = new ContentValues();
                        contentValues.put(KEY_SENDER, "Other");

long returnVariable11 = db11.insert(TABLE_CHAT_DATA, null, contentValues);
           if (returnVariable11 == -1) {
                 Toast.makeText(getApplicationContext(), "NO", Toast.LENGTH_SHORT).show();
           } else {
                 Toast.makeText(getApplicationContext(), "Yes", Toast.LENGTH_SHORT).show();
           }

此特定代码位于 firebaserecycleradapter 中,因此如果适配器正在侦听此数据,则会继续添加多次。所以我想我可以通过添加一个 onSuccessListener 来停止,以便在添加一次后停止,但我不确定如何做到这一点。那么谁能建议我能做些什么来阻止它一次又一次地向sqlite添加数据?

【问题讨论】:

  • 可以添加你正在使用的firebase代码

标签: java android sql sqlite firebase


【解决方案1】:

您可以使用try{} catch{} 块并通过侦听器处理您的事务

【讨论】:

  • 究竟如何?对不起,我还是个业余爱好者
  • @LaylaMcKenzy this 可以帮助您解决问题
【解决方案2】:

将第一行添加到本地数据库后,您可以使用adapter.stopListening() 停止侦听器。

【讨论】:

  • 问题是我不想调用停止侦听,因为新数据将被添加到表中。我只想停止添加相同的数据
  • 比较本地保存的数据和接收的数据,创建一个从数据库中读取的方法,并将返回的数据与populateViewHolder方法的数据进行比较
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-08
  • 2021-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多