我正在使用Parse for Android。我想将照片添加到新创建的ParseUser
。以下是示例代码:
if(company.getBackgroundImage()!=null) {
Bitmap bitmap = BitmapFactory.decodeResource(c.getResources(),R.drawable.launcher);
// Convert it to byte
ByteArrayOutputStream stream = new ByteArrayOutputStream();
// Compress image to lower quality scale 1 - 100
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] image = stream.toByteArray();
// Create the ParseFile
final ParseFile file = new ParseFile("androidbegin.png", image);
user.put("alfa1",file);
}
user.signUpInBackground(new SignUpCallback(){
@Override
public void done(ParseException arg0) {
if (arg0 == null) {
Log.i("LOG_OUTPUT", "Data saved in sever");
} else {
Log.e("LOG_OUTPUT", arg0.getCode() + "Data not saved in server");
}
}
});
该文件尚未上传!
没有上传,错误代码为-1;
我正在进行注册阶段,我不了解如何使用他的照片创建新用户。我已经转换了文件,实际上myImage是byte[]
,它适用于简单的ParseObject
。
感谢
答案 0 :(得分:0)
我不相信注册会添加数据。
如果您这样做会发生什么:
user.signUpInBackground(new SignUpCallback(){
@Override
public void done(ParseException arg0) {
if (arg0 == null) {
user.put("alfa1",file);
user.saveInBackground(new SaveCallback(ParseException e) {
if (e != null) {
Log.e("LOG_OUTPUT", "error saving user", e);
return;
}
Log.i("LOG_OUTPUT", "Data saved in sever");
});
} else {
Log.e("LOG_OUTPUT", "error signing up user", e);
}
}
如果用户此时已在您的代码中登录,则应省略signUpInBackground。
答案 1 :(得分:0)
这是正确的方法:
background.saveInBackground(new SaveCallback() {
public void done(ParseException e) {
// If successful add file to user and signUpInBackground
if(e == null) {
Log.d("Sono qui image: ", "sono qui");
user.put("Background", background);
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(com.parse.ParseException e) {
if (e == null) {
//ok registrazione
Log.d("Ok: ", "Registration ok");
}