首页 > 解决方案 > 在Java(Android Studio)中将解析对象转换为自定义对象数组

问题描述

我正在学习用 Java 编程,但我真的很沮丧,因为我找不到将下载的 parse.com 对象转换为服装类的方法。

我在做什么:

      public void downloadInformation() {
    usuario = ParseUser.getCurrentUser();

      ParseQuery<ParseObject> query = ParseQuery.getQuery("Glucosa");
      query.whereEqualTo("usuario", usuario);
      query.orderByDescending("createdAt");

      query.findInBackground(new FindCallback<ParseObject>() {
            @Override
          public void done(List<ParseObject> objects, ParseException e) {
              if (e == null && objects.size() > 0) {
                  Log.d("score", "Objects Retrived");
                  int i = 0;
                  for (ParseObject object : objects) {

                      dataArray = new MyData[objects.size()];

                    dataArray[i] = new MyData(object.getInt("glucosa"), object.getInt("insulina"), object.getDate("fecha"), object.getInt("Alimentos"), object.getString("Comentarios"));

                    i++;


                  }

                for (int j=0; j <= dataArray.length; j++){
                  Log.i("Working?", dataArray[j].comentarios);
                }




              } else {
                  Log.d("score", "error");

              }

          }


      });
}

MyData 的代码是:

public class MyData {

    Integer gluc;
    Integer insulinaV;
    Date fec;
    Integer alimento;
    String comentarios;

    public MyData(Integer gluc, Integer insulinaV, Date fec, Integer alimento, String comentarios) {
        this.gluc = gluc;
        this.insulinaV = insulinaV;
        this.fec = fec;
        this.alimento = alimento;
        this.comentarios = comentarios;
    }

    public Integer getGluc() {
        return gluc;
    }

    public Integer getInsulinaV() {
        return insulinaV;
    }

    public Date getFec() {
        return fec;
    }

    public Integer getAlimento() {
        return alimento;
    }

    public String getComentarios() {
        return comentarios;
    }
}

但不管我试图恢复什么,dataArray 总是空的。即使我尝试打印dataArray.length它也会崩溃。

我在做什么错?,存储这样的对象的正确方法是什么?一个几乎是主题问题,有没有最简单的方法来做到这一点?例如,在 SWIFT 中,我使用带有 objects.map 的结构,但我还没有找到可以做到这一点的方法。

谢谢!!

编辑: objects中有 22 个元素,但数组dataArray始终为空。

我得到的错误信息是:

java.lang.NullPointerException:尝试从空对象引用上的字段“java.lang.String com.parse.starter.MyData.commentarios”读取

即使我只是尝试获取 dataArray 的大小,也会出现空对象引用。

标签: javaarrays

解决方案


推荐阅读