【问题标题】:Android/JSON Using retrieve and add element to a listAndroid/JSON 使用检索并将元素添加到列表
【发布时间】:2016-07-06 15:19:23
【问题描述】:

我正在为 5 个预定义用户构建一个应用程序,以便学习 android studio, 我不知道如何使用 JSON 文件,因为我只需要在我的 firebase 中将数据放入其中 所以这是问题,你可以看到有 5 个用户,每个主题都有一个列表,用户可以将元素放入其中,其他用户可以检查这些元素或不检查(布尔变量) 问题是我不知道如何访问我的数据以将元素添加到列表中并从我的 java 类等中修改布尔变量。

{
  "His data" : {
    "password" : "something",
    "username" : "someone",
    "list":[{
      "element": null,
      "Boolean":false
    } ]
  },
  "His data" : {
    "password" : "something",
    "username" : "someone",
    "list":[{
      "element": null,
      "Boolean":false
    }  ]
  },
  "her data" : {
    "password" : "something",
    "username" : "someone",
    "list":[ {
      "element": null,
      "Boolean":false
    } ]
  },
  "My data" : {
    "password" : "something",
    "username" : "someone",
    "list":[ {
      "element": null,
      "Boolean":false
    } ]
  },
  "her data" : {
    "password" : "something",
    "username" : "someone",
    "list":[{
      "element": null,
      "Boolean":false
    }  ]
  }
}

【问题讨论】:

    标签: java android json database list


    【解决方案1】:

    JSON 非常适合与 API 或其他东西传输数据,但在使用 Java 时并不是您真正想要的。你会想要定义普通的 Java 对象 (POJO) 来传递你的应用程序。然后使用像 GSON 这样的库来为您转换 JSON 格式。

    【讨论】:

      【解决方案2】:

      如果您使用的是 Firebase,您实际上可以使用普通 Java 对象 (POJO) 读取和写入数据库,而无需任何库将 JSON 转换为 Java 对象,反之亦然。

      这是 Firebase 文档中的一个示例。如果您有用户 POJO:

      @IgnoreExtraProperties
      public class User {
      
          public String username;
          public String email;
      
          public User() {
              // Default constructor required for calls to DataSnapshot.getValue(User.class)
          }
      
          public User(String username, String email) {
              this.username = username;
              this.email = email;
          }
      }
      

      您可以使用以下代码添加新用户:

      private void writeNewUser(String userId, String name, String email) {
          User user = new User(name, email);
      
          mDatabase.child("users").child(userId).setValue(user);
      }
      

      因此,您基本上是将整个 User 对象保存到数据库中。它使代码更简洁,因为您不需要将任何 JSON 或 POJO 转换为其对应项,并且它允许您在代码中使用对象而不是 JSON。

      如果您需要更多详细信息,请参阅official Firebase documentation

      【讨论】:

      • 谢谢大卫,我已经尝试过这种方式来使用数据,但是当我向我的列表中添加一个新元素时,我去火力基地没有添加任何元素我不明白为什么以及何时我想要你使用这个元素我可以毫无问题地使用它你能解释一下吗?感谢您的帮助 =)
      猜你喜欢
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多