2016-08-29 3 views
2

Вот мой кодКак загрузить изображение из галереи в Parse Server в android ..?

общественного класса TestingActivity расширяет AppCompatActivity {

Button btn_testing; 
ProgressDialog pDialog; 
ImageView iv_image; 
Bitmap bMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.testing); 
    btn_testing = (Button)findViewById(R.id.btn_testing); 
    iv_image = (ImageView)findViewById(R.id.iv_imagetesting); 

    FileInputStream in; 
    BufferedInputStream buf; 


    try 
    { 
     in = new FileInputStream("/storage/emulated/0/Pictures/InstaTag_Edit_20160427_131230-346274175.jpg"); 
     buf = new BufferedInputStream(in,1070); 
     System.out.println("1.................."+buf); 
     byte[] bMapArray= new byte[buf.available()]; 
     buf.read(bMapArray); 
     bMap = BitmapFactory.decodeByteArray(bMapArray, 0, bMapArray.length); 
     iv_image.setImageBitmap(bMap); 
     if (in != null) 
     { 
      in.close(); 
     } 
     if (buf != null) 
     { 
      buf.close(); 
     } 

    } 
    catch (Exception e) { 
     Log.e("Error reading file", e.toString()); 
    } 
    btn_testing.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      pDialog = new ProgressDialog(TestingActivity.this); 
      pDialog.setMessage("Loading..."); 
      pDialog.show(); 


      Bitmap bitmap = ((BitmapDrawable)iv_image.getDrawable()).getBitmap(); 
      ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
      // Compress image to lower quality scale 1 - 100 
      bMap.compress(Bitmap.CompressFormat.PNG, 100, stream); 
      byte[] image = stream.toByteArray(); 

      ParseFile file = new ParseFile("androidbegin.png", image,"image/png"); 
      file.saveInBackground(new SaveCallback() { 
       @Override 
       public void done(ParseException e) { 
        try { 
         pDialog.dismiss(); 
        } catch (Exception e1) { 
        } 
        if (e == null) { 
         Toast.makeText(TestingActivity.this, "Image saved", Toast.LENGTH_LONG).show(); 
        } else { 
         e.printStackTrace(); 
         Toast.makeText(TestingActivity.this, "Image not saved", Toast.LENGTH_LONG).show(); 
        } 
       } 
      }); 
     } 
    }); 



} 

}

Вот мой Вход Ответ:

08-29 19: 23: 28,569 7072 -7072/com.appcentricsoftware.bumbysdigital W/System.err: com.parse.ParseRequest $ ParseRequestException: плохой ответ json 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at com.parse.ParseRequest.newTemporaryException (ParseRequest.java:290) 08-29 19: 23: 28.570 7072-7072 /com.appcentricsoftware.bumbysdigital W/System.err: at com.parse.ParseRESTCommand.onResponseAsync (ParseRESTCommand.java:308) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err : at com.parse.ParseRequest $ 3.then (ParseRequest.java:137) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at com.parse.ParseRequest $ 3.then (ParseRequest.java:133) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах. Задача $ 15.run (Task.java:917) 08-29 19 : 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах.BoltsExecutors $ ImmediateExecutor.execute (BoltsExecuto rs.java:105) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at bolts.Task.completeAfterTask (Task.java:908) 08-29 19:23 : 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах. Task.continueWithTask (Task.java:715) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at bolts.Task.continueWithTask (Task.java:726) 08-29 19: 23: 28.570 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах. Задайте $ 13. then (Задача .java: 818) 08-29 19: 23: 28.571 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах. Задача $ 13.then (Task.java:806) 08-29 19:23 : 28.571 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: на болтах. Задача $ 15.run (Task.java:917) 08-29 19: 23: 28.571 7072-7072 /com.appcentricsoftware.bumbysdigital W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113) 08-29 19: 23: 28.571 7072-7072/com.appcentricsoftware.bumbysdigital W/System .err: at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:588) 08-29 19: 23: 28.571 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at java.lang .Thread.run (Thread.java:818) 08-29 19: 23: 28.571 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: вызвано: org.json.JSONException: значение типа java.lang .String не может быть преобразован в JSONObject 08-29 19: 23: 28.578 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at org.json.JSON.typeMismatch (JSON.java:111) 08-29 19: 23: 28.579 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at org.json.JSONObject. (JSONObj ect.java:160) 08-29 19: 23: 28.579 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at org.json.JSONObject. (JSONObject.java:173) 08-29 19: 23: 28.579 7072-7072/com.appcentricsoftware.bumbysdigital W/System.err: at com.parse.ParseRESTCommand.onResponseAsync (ParseRESTCommand.java:298) 08-29 19: 23: 28.579 7072-7072/com.appcentricsoftware. bumbysdigital W/System.err: ...более 13

+0

'Строка не может быть преобразован в JSONObject' ... Я не вижу JSONObject в коде здесь –

+0

Я просто использую saveInBackground() с новым вызовом сохранения, чтобы сохранить ParseFile и получить эту проблему. – Puri

ответ

0

Изменить эту строку из

ParseFile file = new ParseFile("androidbegin.png", image,"image/png"); 

в

ParseFile file = new ParseFile("androidbegin.png", image); 

И вы добавили эти строки,

  ParseObject photo = new ParseObject("Photo"); 
      photo.put("fileFull", imgfile); 
      photo.put("User", ParseUser.getCurrentUser()); 
      photo.saveInBackground(); 
+0

У меня нет конкретной таблицы для фотографий. И мне нужно сохранить это изображение вместе с некоторыми другими параметрами в другой таблице. Если я использую без сохранения файла синтаксического анализа, он показывает, что он не может кодировать несохраненный файл синтаксического анализа. – Puri

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