如何在android中使用个人资料图片注册parse.com
我想注册parse.com用户,我尝试先注册parsefile(profilePicture),但我得到了异常“java.lag.illegalStateException:无法对未保存的parsefile进行编码”的代码如何在android中使用个人资料图片注册parse.com,android,parse-platform,Android,Parse Platform,我想注册parse.com用户,我尝试先注册parsefile(profilePicture),但我得到了异常“java.lag.illegalStateException:无法对未保存的parsefile进行编码”的代码 final ParseUser UserObject = new ParseUser(); UserObject.setUsername(userModel.getUsername()); UserObject.setEmail(userModel.getEmail());
final ParseUser UserObject = new ParseUser();
UserObject.setUsername(userModel.getUsername());
UserObject.setEmail(userModel.getEmail());
UserObject.setPassword(userModel.getPassword());
UserObject.put("Mobile_Number",userModel.getMobile_Number());
UserObject.put("Name",userModel.getName());
if(Mem_photobitmap!=null){
UserObject.put("ProfilePicture",profilepicFile);
}
UserObject.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException ex) {
// TODO Auto-generated method stub
dismissProgressdialog();
if (ex == null) {
application.saveUser_UserName(userModel.getUsername());
application.saveUser_Name(userModel.getName());
application.savePassword(userModel.getPassword());
application.saveUserEmail(userModel.getEmail());
Toast.makeText(getApplicationContext(), "Signed Up Successfully", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
});
我搜索并得到了链接
我再次尝试了这段代码,首先上传了profilepicture,然后使用ProgressCallback()尝试注册,但这段代码也出现了同样的异常
//first save profile pic to parse
if(Mem_photobitmap !=null){
profilepicFile = userModel.getProfilePicture();
profilepicFile.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if(e!=null){
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new ProgressCallback() {
@Override
public void done(Integer arg0) {
// TODO Auto-generated method stub
// PrepareParseUser();
final ParseUser UserObject = new ParseUser();
UserObject.setUsername(userModel.getUsername());
UserObject.setEmail(userModel.getEmail());
UserObject.setPassword(userModel.getPassword());
UserObject.put("Mobile_Number",userModel.getMobile_Number());
UserObject.put("Name",userModel.getName());
if(Mem_photobitmap!=null){
UserObject.put("ProfilePicture",profilepicFile);
}
UserObject.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException ex) {
// TODO Auto-generated method stub
dismissProgressdialog();
if (ex == null) {
application.saveUser_UserName(userModel.getUsername());
application.saveUser_Name(userModel.getName());
application.savePassword(userModel.getPassword());
application.saveUserEmail(userModel.getEmail());
Toast.makeText(getApplicationContext(), "Signed Up Successfully", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
});
}
});
有什么帮助吗?我得到了答案
我注册了parse.com,但没有配置文件图片,然后在完成使用配置文件图片更新用户之后
showProgressdialog();
final ParseUser UserObject = new ParseUser();
UserObject.setUsername(userModel.getUsername());
UserObject.setEmail(userModel.getEmail());
UserObject.setPassword(userModel.getPassword());
UserObject.put("Mobile_Number",userModel.getMobile_Number());
UserObject.put("Name",userModel.getName());
UserObject.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException ex) {
// TODO Auto-generated method stub
if (ex == null) {
if(Mem_photobitmap!=null){
application.saveUser_UserName(userModel.getUsername());
application.saveUser_Name(userModel.getName());
application.savePassword(userModel.getPassword());
application.saveUserEmail(userModel.getEmail());
UserObject.put("ProfilePicture", userModel.getProfilePicture());
UserObject.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException ex) {
// TODO Auto-generated method stub
dismissProgressdialog();
if (ex == null) {
Toast.makeText(getApplicationContext(), "Signed Up Successfully", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
});
}else{
dismissProgressdialog();
Toast.makeText(getApplicationContext(), "Signed Up Successfully", Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
dismissProgressdialog();
}
}
});