将照片添加到新的ParseUser

时间:2015-04-26 09:32:36

标签: android parse-platform photo

我正在使用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。 感谢

2 个答案:

答案 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");

                                }