Como fazer upload de uma imagem no servidor de análise usando parse api no android

Eu quero fazer upload de uma imagem no servidor de nuvem de análise no android. Mas eu sou incapaz de fazer isso.

Eu tentei o seguinte código:

    Drawable drawable = getResources().getDrawable(R.drawable.profilepic) ;
    Bitmap bitmap = (Bitmap)(Bitmap)drawable()
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] data = stream.toByteArray();                

    ParseFile imageFile = new ParseFile("image.png", data);
    imageFile.saveInBackground();

Por favor, deixe-me saber como posso fazer isso.

Eu adicionei uma recompensa para encontrar omelhor código definitivo para este problema comum

questionAnswers(6)

yourAnswerToTheQuestion