我尝试开发“预订”应用程序。 这意味着:当用户点击“预约”按钮时,它将数据库添加为总预订的“+1”。但是当同一个用户单击“取消保留”时,它会从数据库中减去“-1”。但问题是只有在打开互联网连接时它才能正常工作。
在第二种情况下,当互联网关闭并且用户点击“预约”时,它在数据库中显示“1”(在开启互联网之后) - >这意味着它不会为数据库增加价值,而只是替换为“1”。
所以:
(在线)
数据库:“9” - >点击“预约”值增加“+1”
“预约”后的数据库:“10”
“Unreserve”之后的数据库:“9”。
当用户尝试在互联网关闭时保留,它看起来像:
(离线)
数据库:“9” - >点击“保留”值替换为“+1” 开启互联网后的数据库“预约”:“1” “Unreserve”后的数据库:“ - 1”
要以正确的方式解决这种情况,我应该设置“按钮”仅在互联网连接打开时有效吗?这是解决此问题的最简单方法吗?
我读到了onDisconnect()方法,但我没有看到任何情况如何设置firebase只能在用户没有任何
的情况下工作如果有人能给我一个小费,我会很感激,我应该采取什么措施来解决这个问题。
答案 0 :(得分:-1)
reserveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(Utils.isNetworkAvailable) {
//process reservation
} else {
Toast.makeText(getApplicationContext(), "Your device is not connected to internet!", Toast.LENGTH_SHORT).show();
}
}
});
假设您正在使用评论中的isNetworkAvailable
方法。这应该工作。不要禁用该按钮。