我有一臺休息服務器,我需要使用畢加索的下載圖像。 我需要傳遞一個json參數來休息服務器方法。那其餘服務器的方法是什麼爲:帶有畢加索和Json參數的Android圖片
REST服務器的方法:
public Bitmap GetServerBitmap(Jsonobject param){
Bitmap bitmap=get_bitmap();
return bitmap;
}
Android客戶端的方法: 在這裏,我需要的代碼的例子,呼籲其餘服務器法以行「MyGetServerBitmap」。
private void downloadimage(final int nr) {
String url = Common.getServerURL() + "\"GetServerBitmap\"";
JSONArray ja = new JSONArray();
ja.put(nr);
JSONObject jsonBody = new JSONObject();
try {
jsonBody.put("_parameters", ja);
} catch (JSONException e) {
e.printStackTrace();
}
//will return a bitmap from rest server
Bitmap mybitmap=MyGetServerBitmap(url, jsonBody); I need a code using picasso to do it
}
我該如何編碼這個「MyGetServerBitmap」方法?
我已經試了下:
private Bitmap MyGetServerBitmap(String url, JsonObject jsonBody){
Bitmap bmp;
//Where I pass json parameter in picasso?
Picasso.with(this)
.load(url)
.error(R.drawable.image_name)
.into(bmp);
return bmp;
}
,但我看不到任何選項傳遞JSON參數。
問候,路易斯
謝謝。這是一個很好的答案。但我失去了如何用畢加索的json paremeters做自定義下載。我在網上搜索,但沒有與畢加索樣本。 –
其餘服務器不是我的,有下一個要求。例如,如果serverf函數是(在delphi中的代碼):function TServerMethods1.EchoAttribute(Key:String; Obj:TJSONObject):String;服務器需求說:「如果你想在請求內容中傳遞多個參數值,那麼你需要按照正確的順序將它們放入一個JSON數組中,並且使該數組成爲JSON對象的值,鍵「_parameters」。生成的JSON對象應該被表示爲一個字符串並設置爲請求的內容,如下所示: {「_parameters」:[「Param1」,「Param2」]} –
請求示例: POST/datasnap/rest/TServerMethods1/EchoAttribute/Attr1 HTTP/1.1 .... *附加標題* ... Accept:application/json Content-Type:text/plain; charset = UTF-8 {「 Attr1「:」ValueToReturn「} –