android async http post json,android – 通过AsyncHttpClient将JSON作为POST请求发送到服务器...

我想使用LoopJ的AsndroidAsyncHttpt将

JSON作为POST发送到我的localhost服务器.我正在使用这种方法:

public void post(Context context,String url,HttpEntity entity,String contentType,AsyncHttpResponseHandler responseHandler)

在我的代码中,但它不起作用.这是我的代码:

private void loginUser() throws JSONException, UnsupportedEncodingException {

String login = textLogin.getText().toString();

String password = textPassword.getText().toString();

JSONObject jsonObject = new JSONObject();

if(Utility.isNotNull(login) && Utility.isNotNull(password)) {

jsonObject.put("username", login);

jsonObject.put("password", password);

invokeWS(jsonObject);

}

else{

Toast.makeText(getApplicationContext(), "Proszę wypełnić wszystkie pola!", Toast.LENGTH_LONG).show();

}

}

private void invokeWS(JSONObject jsonObject) throws UnsupportedEncodingException {

StringEntity entity = new StringEntity(jsonObject.toString());

AsyncHttpClient client = new AsyncHttpClient();

Log.i("SER", "http://" + Constants.address + ":" + Constants.port + "/silownia_java/rest/login/auth" + entity);

Log.i("SER", "http://" + Constants.address + ":" + Constants.port + "/silownia_java/rest/login/auth" + jsonObject);

client.post(getApplicationContext(), "http://" + Constants.address + ":" + Constants.port + "/silownia_java/rest/login/auth", entity, "application/json", new JsonHttpResponseHandler() {

@Override

public void onSuccess(int statusCode, Header[] headers, JSONObject obj) {

try {

Log.i("SER", "HERE!");

String login = obj.getString("login");

int ID = obj.getInt("id");

//user.setUserId(obj.getInt("userid"));

} catch (JSONException e) {

// TODO Auto-generated catch block

Toast.makeText(getApplicationContext(), "Error Occured [Server's JSON response might be invalid]!", Toast.LENGTH_LONG).show();

e.printStackTrace();

}

}

@Override

public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {

if (statusCode == 404) {

Toast.makeText(getApplicationContext(), "404 - Nie odnaleziono serwera!", Toast.LENGTH_LONG).show();

} else if (statusCode == 500) {

Toast.makeText(getApplicationContext(), "500 - Coś poszło nie tak po stronie serwera!", Toast.LENGTH_LONG).show();

} else if (statusCode == 403) {

Toast.makeText(getApplicationContext(), "Podano niepoprawne dane!", Toast.LENGTH_LONG).show();

} else {

Toast.makeText(getApplicationContext(), throwable.toString(), Toast.LENGTH_LONG).show();

}

}

});

}

我的日志看起来不错:

http://MY_IP_ADDRESS:8080/silownia_java/rest/login/authorg.apache.http.entity.StringEntity@384d6a6d

http://MY_IP_ADDRESS:8080/silownia_java/rest/login/auth{"username":"barni","password":"12345"}

但我得到这样的错误:

org.apache.http.client.HttpResponseException: Unsupported Media Type

另外,我知道服务器没有得到任何请求.那么,原因可能是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值