Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析更新和删除不工作的android_Android_Database_Parse Platform - Fatal编程技术网

解析更新和删除不工作的android

解析更新和删除不工作的android,android,database,parse-platform,Android,Database,Parse Platform,我正在使用android API,根据这一点,我完全按照指示完成了相同的工作。这是我的密码 Update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ParseQuery<ParseObject> query = ParseQuery

我正在使用android API,根据这一点,我完全按照指示完成了相同的工作。这是我的密码

Update.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        ParseQuery<ParseObject> query = ParseQuery
                .getQuery("GameScore");
        query.whereEqualTo("playerName", user.getText().toString());
        query.findInBackground(new FindCallback<ParseObject>() {

            @Override
            public void done(List<ParseObject> arg0, ParseException arg1) {
                // TODO Auto-generated method stub
                if (arg1 == null) {
                    if(arg0.size()!=0)
                    {
                    final ParseObject delo = arg0.get(0);
                    Toast.makeText(getApplicationContext(),
                            "got something : " + arg0.size() + "  " + delo.getObjectId(),
                            Toast.LENGTH_SHORT).show();

                    String objid = delo.getObjectId();
                    ParseQuery<ParseObject> newquery = ParseQuery.getQuery("GameScore");
                    newquery.getInBackground(objid, new GetCallback<ParseObject>() {

                        @Override
                        public void done(ParseObject arg0, ParseException arg1) {
                            // TODO Auto-generated method stub
                            if(arg1==null)
                            {
                            Toast.makeText(getApplicationContext(), "no error", Toast.LENGTH_SHORT).show();
                            String scor = score.getText().toString();
                            int iscore = Integer.parseInt(scor);  
                            arg0.put("score", iscore);
                            Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show();
                            arg0.saveInBackground();
                            }else
                            {
                                Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });

                    }
                    else{
                        Toast.makeText(getApplicationContext(),
                                "nothing to show",
                                Toast.LENGTH_SHORT).show();
                    }

                } else {
                    Toast.makeText(getApplicationContext(),
                            "We got Crashed" + arg0.size(),
                            Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
});
Update.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
ParseQuery=ParseQuery
.getQuery(“游戏分数”);
query.whereEqualTo(“playerName”,user.getText().toString());
findInBackground(新的FindCallback(){
@凌驾
公共作废完成(列表arg0,解析异常arg1){
//TODO自动生成的方法存根
如果(arg1==null){
如果(arg0.size()!=0)
{
最终ParseObject delo=arg0.get(0);
Toast.makeText(getApplicationContext(),
找到了:“+arg0.size()+”+delo.getObjectId(),
吐司。长度(短)。show();
字符串objid=delo.getObjectId();
ParseQuery newquery=ParseQuery.getQuery(“游戏分数”);
getInBackground(objid,newgetCallback(){
@凌驾
公共无效完成(ParseObject arg0,ParseException arg1){
//TODO自动生成的方法存根
如果(arg1==null)
{
Toast.makeText(getApplicationContext(),“无错误”,Toast.LENGTH\u SHORT.show();
字符串scor=score.getText().toString();
int iscore=Integer.parseInt(scor);
arg0.put(“分数”,iscore);
Toast.makeText(getApplicationContext(),“Updated”,Toast.LENGTH_SHORT.show();
arg0.saveInBackground();
}否则
{
Toast.makeText(getApplicationContext(),“Error”,Toast.LENGTH_SHORT.show();
}
}
});
}
否则{
Toast.makeText(getApplicationContext(),
“没什么可展示的”,
吐司。长度(短)。show();
}
}否则{
Toast.makeText(getApplicationContext(),
“我们崩溃了”+arg0.size(),
吐司。长度(短)。show();
}
}
});
}
});
数据库中没有任何更改

我认为这可能是由于许可问题,因此我添加了以下内容:

defaultACL.setPublicWriteAccess(true)

但仍然没有任何变化,所以我非常简单地写了以下内容:

ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
query.getInBackground("a26WaZg8MJ", new GetCallback<ParseObject>() {

    @Override
    public void done(ParseObject arg0, ParseException arg1) {
        // TODO Auto-generated method stub
        if(arg1==null){
        arg0.put("playerName", "cheated");
        arg0.saveInBackground();
        System.out.println("Saved");
        }
    }
});
ParseQuery query=ParseQuery.getQuery(“游戏分数”);
getInBackground(“a26WaZg8MJ”,新的GetCallback(){
@凌驾
公共无效完成(ParseObject arg0,ParseException arg1){
//TODO自动生成的方法存根
如果(arg1==null){
arg0.put(“playerName”、“欺骗”);
arg0.saveInBackground();
System.out.println(“已保存”);
}
}
});
还是什么都没发生请帮帮我


此外,我还面临删除一行的问题。因此,我尝试了这个方法,但效果并不理想。

我最终得到了它。权限是为单个对象设置的,而不是为整个类设置的,这就是为什么我无法写入(更新)或删除,但我在添加ACLpermission代码后创建的权限工作得非常好。

1)ParseObject的id是否正确?2) 如果
playerName
是尚未创建的列,则需要在
saveInBackground()
完成后刷新浏览器以显示新列。是的,我知道id是正确的,因为我能够正确保存和获取信息,并且获取的id也与实际id匹配。