 <p>As alternative you can use <em>Retrofit</em>.</p> <p>You can specify a call like this:</p> <pre><code>@Multipart @POST("/user/photo") Call&lt;User&gt; updateUser(@Part("photo") RequestBody photo, @Part("description") RequestBody description); </code></pre> <p>then create it like this:</p> <pre><code>Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com") .build(); GitHubService service = retrofit.create(GitHubService.class); </code></pre> <p>and finally execute it like this:</p> <p><code>service.updateUser(Photo, description).enqueue()</code> --> <strong>asynchronous</strong></p> <p><code>service.updateUser(Photo, description).execute()</code> --> <strong>synchronous</strong></p> <p>See the documentation <a href="http://square.github.io/retrofit/" rel="nofollow">here</a></p>