0
我正在與android apis一起工作,並按照我所做的完全相同的指示。這是我的代碼解析更新和刪除不工作android
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();
}
}
});
}
});
數據庫中沒有任何更改。
我認爲這可能是問題由於權限,所以我加入此:
defaultACL.setPublicWriteAccess(真);
,仍然沒有改變,所以我去了很基本的,寫這個:
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");
}
}
});
,仍然沒有任何反應,請幫助我。
我還面臨刪除單行的問題。所以我嘗試了這一點,那也不行。
1)「ParseObject」的ID是否正確? 2)如果'playerName'是一個尚未創建的列,則需要在'saveInBackground()'完成後刷新瀏覽器以顯示新列。 – Emmanuel
是的,我知道id是正確的,因爲我能夠正確保存和獲取信息,並且獲取的id也與實際的id匹配。 – user3439988