2015-04-26 2 views
1

Я использую Parse для Android. Я хочу добавить фотографию к вновь созданному ParseUser. Вот пример кода:Добавить фото в новый 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.

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

           } 
+0

Значит, вы не загрузили изображение, не так ли? – async

Смежные вопросы