![](/img/trans.png)
[英]How to send a bitmap from Android Studio to WebService (asp.net api controller)
[英]How to send a json to asp.net api Controller from android studio app?
我寫了一個應用程序,用戶必須用名稱,年齡等信息來填充一些文本字段。當他單擊按鈕時,數據將被發送到我的api控制器,在那里put方法將數據保存在數據庫中。
這是一種工作方式,我不知道如何將json發送到我的控制器。(我研究了幾天,但沒有任何效果)所以我現在要做的是用數據寫一個url符合字符串,以便在我的控制器中,我從字符串中讀出了我需要知道的內容。 這是一個非常糟糕的解決方案!(我不能做空格或斜杠等等。)
要發送我的UserData,我需要構建一個AsyncTask(當我沒有得到Exeption時)
class SendUserTask extends AsyncTask<String, Void, String>{
public AsyncResponse delegate = null;
User user;
@TargetApi(Build.VERSION_CODES.KITKAT)
protected String doInBackground(String... urls) {
try {
String r = sendUser("name" + user.getName() + "street" + user.getStreet());
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public void setUser(User u){user = u;}
public static String sendUser(String userData) throws Exception {
URL url = new URL("http://my-address:port/api/users/"+ userData);
HttpURLConnection c =(HttpURLConnection) url.openConnection();
c.setRequestMethod("PUT");
BufferedReader in = new BufferedReader(new InputStreamReader(
c.getInputStream()));
String inputLine;
String result = "";
while ((inputLine = in.readLine()) != null)
result = inputLine;
in.close();
return result;
}
}
當我只想發送一個id或得到一些東西時,此方法可以正常工作!
我的控制器是默認的api控制器,這是我的put方法:
public String Put(string id, [FromBody]string value){
//stuff
}
請任何人幫忙!?!
嘗試考慮這篇文章。 它描述了如何使用改造將對象或實體發送到服務器。 我也找到了描述如何在服務器端檢索json數據的主題 。
創建將向服務器發送數據的簡單界面。 接下來考慮:
public interface UserApi { @PUT("/api/users/") Call<Object> sendData(@Body FooRequest body); }
獲取適配器結束發送請求
Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://my-address:port") .build(); UserApi service = retrofit.create(UserApi.class) service.sendData(new FooRequest());
嘗試像這樣創建apicontroller(我不確定)
public class UtilityController : ApiController { [HttpPut] public string Put(FooRequest fooRequest) { return "bla"; } }
希望對您有所幫助!
這是我的測試項目
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.