你好!

我的以下代码出错:

AVObject object = new AVObject("PUserInfo");
object.put("username", "Jack");

AVObject newWork = new AVObject("PWork");
newWork.put("designerInfo", object);

newWork.saveInBackground(new SaveCallback(){

@Override
public void done(AVException e) {
	if(e == null){
		Toast.makeText(SubmitWorkActivity.this, "作品已提交.", Toast.LENGTH_LONG ).show();
	}else{
		Toast.makeText(SubmitWorkActivity.this, "作品提交失败."+e.getMessage(), Toast.LENGTH_LONG ).show();
		Log.v("SubmitWorkActivity", e.getMessage());
	}

}
});

错误信息:
Invalid key name. Keys are case-sensitive and 'a-zA-Z0-9_' are the only valid characters. The illegal key is '$ref'.

因为非常简单,所以没找到错在哪里。麻烦帮忙看看。

另:
1. 所有关联的jar包,用的都是你们提供的版本。
2.即使PUserInfo是个已存在的对象,仍会报同样的错误。
3.使用AVFile,仍会报同样的错误。

是不是 designerInfo 这个列现在的类型是 object 列?请删除这个列,重新执行这段代码。

是这个问题,删除该列后,执行成功,自动创建的designerInfo列的类型是POINTER。

非常感谢!你的回答节省了我不少时间。:)