首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编辑或更新Firebase数据库中的值- android

如何编辑或更新Firebase数据库中的值- android
EN

Stack Overflow用户
提问于 2017-05-12 06:28:21
回答 2查看 2.2K关注 0票数 0

我有这样的结构:

代码语言:javascript
运行
复制
"Posts":
      key:
        numberx: 1
        numbery: 2

我想要编辑或更新数字x的值

我试过了,但不起作用

代码语言:javascript
运行
复制
 getPostRef.child("Posts").child("key").child("numberx").runTransaction(new Transaction.Handler() {
                                    @Override
                                    public Transaction.Result doTransaction(MutableData mutableData) {
                                        long num = mutableData.getValue(Long.class);
                                        mutableData.setValue(num + 1);


                                        return Transaction.success(mutableData);

                                    }
EN

回答 2

Stack Overflow用户

发布于 2017-05-12 14:43:30

要解决此问题,请使用以下代码:

代码语言:javascript
运行
复制
@Override
public Transaction.Result doTransaction(final MutableData mutableData) {
    if (mutableData.getValue() == null) {
        mutableData.setValue("0");
    } else {
        String numberXString = (String) mutableData.getValue();
        int numberx = Integer.parseInt(numberXString);
        int increasedNumberX = numberx + 1;
        mutableData.setValue(String.valueOf(increasedNumberX));
    }
    return Transaction.success(mutableData);
}

希望能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2017-05-12 13:28:22

当没有值时,您需要处理案例。我想你需要这样的东西

代码语言:javascript
运行
复制
public Transaction.Result doTransaction(MutableData mutableData) {
long value = 0;
if(mutableData.getValue() != null) {
    String num = (String) mutableData.getValue();
    value = Long.parseLong(num);
}
value++;
mutableData.setValue(value);
return Transaction.success(mutableData);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43926574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档