在Parse Table中更新数组类型列中的值

时间:2014-06-25 06:57:58

标签: android arrays parse-platform

我是新来解析来自parse.com的数据。我正在尝试更新列。解析表中的列是数组类型。我正在尝试在array中添加一个值。例如:

它在数据浏览器中显示如下:

["Ado", "Wassja", "Cristi_3"]

我想添加" ABC"这个数组中的值以编程方式如下:

["Ado", "Wassja", "Cristi_3","ABC"]

我已经搜索了这个,并且知道首先我需要获取我必须更新的特定行的所有数据,然后将数据放入数组中我已成功获取该特定行的数据,如下所示:

ParseQuery<ParseObject> query = ParseQuery.getQuery("UserMaster");
    query.whereEqualTo("userName",str_uname2);
    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> userList, ParseException e) {
            dlg.dismiss();

             if (e == null) {
                 if (userList.size()>0) {

                 for (int i = 0; i < userList.size(); i++) {
                     ParseObject p = userList.get(i);
                     str_dbpassword  = p.getString("password");
                     String email = p.getString("email");
                     List<ParseObject> mfollowers = p.getList("followers");
                     List<ParseObject> mfollowing =       p.getList("following");
                     ParseFile pp = (ParseFile)p.get("photo");

                     str_dbuname = p.getString("userName");

                 } 
                 Log.d("password", "Retrieved " +str_dbpassword +"<uname>"+str_dbuname);

                    }

                }
             else {

                    Alert.alertOneBtn(LoginActivity.this,"Something went wrong!");
                }   
        }
    });

现在我必须更新

中的数据
List<ParseObject> mfollowers = p.getList("followers"); 

并且

List<ParseObject> mfollowing =  p.getList("following");

我不知道该怎么做。请帮助我。你的小线索将会非常有帮助。

2 个答案:

答案 0 :(得分:4)

根据文档:http://parse.com/docs/android/api/com/parse/ParseObject.html

您可以使用addaddUniqueaddAlladdAllUnique向Parse对象上的数组添加元素:

someParseObject.add("arrayColumn", "ABC");
someParseObject.saveEventually();

答案 1 :(得分:2)

扩展Fosco的答案:

do

确保YOURCLASS的安全设置可以让您自动创建列,或者您为列设置了正确的类型。

我希望完成Fosco的回答。