未保存数据以分析云Android

未保存数据以分析云Android,android,parse-platform,Android,Parse Platform,我一直在尝试将解析添加到我的android应用程序中。一切都很好。向云和用户等添加某些数据。我试图从发送参数的classes ArrayList添加数据。arraylist中的类集合很好,称为Tasks。它有正确的信息。我建立了一个新的类,它扩展了下面的ParseObject,它应该填充Tasks类,以便将数据输入到解析云 package beans; import com.parse.ParseClassName; import com.parse.ParseObject; import c

我一直在尝试将解析添加到我的android应用程序中。一切都很好。向云和用户等添加某些数据。我试图从发送参数的classes ArrayList添加数据。arraylist中的类集合很好,称为Tasks。它有正确的信息。我建立了一个新的类,它扩展了下面的ParseObject,它应该填充Tasks类,以便将数据输入到解析云

package beans;

import com.parse.ParseClassName;
import com.parse.ParseObject;
import com.parse.ParseUser;

import java.util.ArrayList;

/**
* Created by KieranMcc on 11/01/2016.
*/
@ParseClassName("Tasks")
public class ParseTasks extends ParseObject {
private int id; //_id
private int task_id; //task_id
private String task; //task_name
private boolean completed; //_isCompleted

public ParseTasks(){
    super();
}

public ParseTasks(Tasks tasks){
    super();
}


public int getId() {
    return getInt("_id");
}

public void setId(int id) {
    put("_id", id);
}

public int getTask_id() {
    return getInt("task_id");
}

public void setTask_id(int task_id) {
    put("task_id", task_id);
}

public String getTask() {
    return getString("task_name");
}

public void setTask(String task) {
    put("task_name", task);
}

public boolean isCompleted() {
    return getBoolean("_isCompleted");
}

public void setCompleted(boolean completed) {
    put("_isCompleted", completed);
}

public void setUser(ParseUser user){
    put("tasks_user", user);
}

public ParseUser getUser(){
    return getParseUser("task_user");
}
}
我要做的是在arraylist中循环一个类任务集合。ArrayList

这是我的代码,但没有保存以进行解析

protected void uploadToCloud(Task task){

    ParseTask taskParse = new ParseTask();
    taskParse.setUser(ParseUser.getCurrentUser());
    taskParse.setId(task.getId());
    taskParse.setName(task.getName());
    taskParse.setNumOfTasks(task.getNumOfTasks());
    taskParse.setNumOfTasksCompleted(task.getNumOfTasksCompleted());

    taskParse.saveInBackground();

    // add task to cloud
    // loop through tasks and add one by one to cloud
    ParseTasks tasksParse= new ParseTasks();
    for(int i = 0; i < task.getTasks().size(); i++){
        tasksParse.setId(task.getTasks().get(i).getId());
        tasksParse.setTask(task.getTasks().get(i).getTask());
        tasksParse.setTask_id(task.getTasks().get(i).getTaskId());
        tasksParse.setCompleted(false);
        tasksParse.setUser(ParseUser.getCurrentUser());
        tasksParse.saveInBackground();
    }

}
protectedvoid上传到云(任务){
ParseTask taskParse=新建ParseTask();
taskParse.setUser(ParseUser.getCurrentUser());
taskParse.setId(task.getId());
taskParse.setName(task.getName());
taskParse.setNumOfTasks(task.getNumOfTasks());
taskParse.setNumOfTasksCompleted(task.getNumOfTasksCompleted());
taskParse.saveInBackground();
//向云添加任务
//循环完成任务并逐个添加到云
ParseTasks sparse=新的ParseTasks();
for(int i=0;i

我不太确定我做错了什么,因为我没有收到错误或任何东西。这项任务顺利完成了吗?有人能告诉我为什么不能通过吗。非常感谢您阅读这篇长篇文章并提供帮助:)

我设法找到了问题所在。所以我想把我学到的东西分享给将来有这个问题的人:)

使用parse,您应该自己在一个系列中添加多个数据。就像我在顶端试过的一样!应该使用saveAllInBackground()方法

您需要的是一个ParseObject列表,并将它们传递到saveAllInBackground(List,callbackmethod),如下所示。然后,我添加了一个带有params的构造函数,并将该构造函数作为新实例保存到云中


希望它能在将来帮助一些人:)

Kmc你想在parse类中存储多个数据吗?同时也会收到“在后台保存”线程的回调,因为您收到了错误。嘿,Hardik!最后我设法使它工作起来:)!不需要做的只是将一个类列表上传到云中。需要以某种方式使用saveAllInBackground方法,他们都保存到:)。感谢您的检查:)