点击Android应用中的 like 按钮时,我想将项目 l 增加1。
我知道的唯一方法是首先通过 ValueEventListener 检索 l 的值,然后递增该值(来自app)并更新 l 在数据库中达到该值。
我认为当2个或更多用户同时尝试同时增加相同值时,可能会出现许多问题。
所以,请给我一个正确的解决方案来做到这一点,没有错误。
答案 0 :(得分:0)
您的担忧称为并发或并行(取决于您对该术语的准确程度)。
你必须使用一个事务,一个事务是一种方法,它将创建一种带有要修改的数据的 bridge ,这个通信将一直保留到计算为止完成。
因此,您获取数据然后添加一个数据,然后修改数据。由于这是实时的,不止一个用户同时这样做很可能没有负面影响(严重的实时数据库是在不到几毫秒的时间内计算出来的,延迟是因为互联网的速度)。
这是documentation。对于任何数据交换,事务听起来像通用名称,但不是,是一种方法。
还有一件事值得一提,如果您需要在UI上执行某些操作或使用界面回调,则必须使用onComplete
方法执行此操作。
答案 1 :(得分:0)