【问题标题】:Add photo to new ParseUser将照片添加到新的 ParseUser
【发布时间】:2015-04-26 09:32:36
【问题描述】:

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

【问题讨论】:

  • 更改标题、添加标签、问题格式。

标签: android parse-platform photo


【解决方案1】:

我不相信注册会增加数据。

如果你这样做会发生什么:

        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。

【讨论】:

    【解决方案2】:

    这里是正确的方法:

    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");
    
                                    }
    

    【讨论】:

    • 所以你没有上传图片,是吗?
    猜你喜欢
    • 1970-01-01
    • 2016-11-28
    • 2015-10-31
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2011-05-12
    • 2012-10-09
    • 1970-01-01
    相关资源
    最近更新 更多