数据未保存到Parse Cloud Android

时间:2016-01-11 21:50:02

标签: android parse-platform

我一直在尝试将Parse添加到我的Android应用中。设置一切都很好。将某些数据添加到云和用户等。我正在尝试从发送params的类ArrayList中添加数据。 arraylist中的Class Collection很好,称为Tasks。它有正确的信息。我设置了一个新类,它扩展了ParseObject,它位于下面,应填写Tasks类以将数据输入到Parse Cloud。

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");
}
}

我要做的是使用类Tasks的集合循环遍历arraylist。 ArrayList的

这是我的代码,但它没有保存到Parse

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();
    }

}

我不太确定我做错了什么,因为我没有收到任何错误或任何错误。 ParseTask关于通过罚款吗?有人能告诉我为什么它不会通过请。非常感谢您阅读长篇文章和任何帮助:)

1 个答案:

答案 0 :(得分:0)

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

通过解析,您应该自己添加一系列数据。就像我在顶部尝试过!使用saveAllInBackground()方法就是你应该使用的方法。

你需要拥有的是ParseObjects列表并将它们传递给saveAllInBackground(list,callbackmethod),就像这样。然后我添加了一个带有params的构造函数,并使用构造函数作为新实例将其保存到云中。

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