課程
/移動開發
/Android
/Android-Volley詳解
第二次用post報錯,說key錯誤,,可是明明是對的啊,,???
2015-08-13
源自:Android-Volley詳解 2-2
正在回答
Map<String,String>?map=new?HashMap<String,String>();
????????map.put("token",?"AbCdEfGh123456");
????????JSONObject?params=new?JSONObject(map);
?????????
????????RequestQueue?queue?=?Volley.newRequestQueue(this);
????????String?url?=?"http://m.weather.com.cn/data/101201401.html";
????????JsonObjectRequest?objRequest?=?new?JsonObjectRequest(url,?params,
????????????????new?Response.Listener<JSONObject>()?{
????????????????????@Override
????????????????????public?void?onResponse(JSONObject?obj)?{
????????????????????????System.out.println("----------:"?+?obj);
????????????????????}
????????????????},?new?Response.ErrorListener()?{
????????????????????public?void?onErrorResponse(VolleyError?error)?{
????????????????????????error.getMessage();
?
????????????????});
? ?
Nonyawei 提問者
我也是這樣 的問題~~~用StringRequest 就可以~~~可是JsonObjectRequest本身的問題吧~~
當使用JsonObjectRequest發送post請求附加查詢參數的時候,參數的格式是{“phone”:“134XXXX”,“key”:“xxxxxxx”},我個人感覺是聚合網的查詢手機歸屬地服務根本不支持這種格式的請求參數。所以,在使用volley,如果是為了得到一個JSONObject格式的服務器返回值的話,最好不要使用volley原生的JsonObjectRequest來發起請求,而是要對Request抽象類進行擴展,以正常的Map格式提交參數,對服務器返回的數據進行二次封裝為JSONObject即可。具體可以參考這個人的blog:http://blog.csdn.net/gaolu/article/details/38439375
Alex_wsc
以JsonObject傳參數的時候,phone是int的,要求傳電話號碼的前7位 JsonObject jsonObject = new JsonObject(); ?jsonObject.put("phone",1354421); jsonObject.put("key","your key"); ?這樣是沒問題的,還有一點 ,從api中拿到的信息只是號碼一段的的位置信息即前7位 ?至于后面4位有還是沒有得到的信息都是一樣的。
請仔細檢查哦
舉報
最熱門網絡框架~快速入門大法,還等什么,快來學習吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-23
Map<String,String>?map=new?HashMap<String,String>();
????????map.put("token",?"AbCdEfGh123456");
????????JSONObject?params=new?JSONObject(map);
?????????
????????RequestQueue?queue?=?Volley.newRequestQueue(this);
????????String?url?=?"http://m.weather.com.cn/data/101201401.html";
????????JsonObjectRequest?objRequest?=?new?JsonObjectRequest(url,?params,
????????????????new?Response.Listener<JSONObject>()?{
????????????????????@Override
????????????????????public?void?onResponse(JSONObject?obj)?{
????????????????????????System.out.println("----------:"?+?obj);
????????????????????}
????????????????},?new?Response.ErrorListener()?{
????????????????????@Override
????????????????????public?void?onErrorResponse(VolleyError?error)?{
????????????????????????error.getMessage();
????????????????????}
?
????????????????});
? ?
2015-11-08
我也是這樣 的問題~~~用StringRequest 就可以~~~可是JsonObjectRequest本身的問題吧~~
2015-08-30
當使用JsonObjectRequest發送post請求附加查詢參數的時候,參數的格式是{“phone”:“134XXXX”,“key”:“xxxxxxx”},我個人感覺是聚合網的查詢手機歸屬地服務根本不支持這種格式的請求參數。所以,在使用volley,如果是為了得到一個JSONObject格式的服務器返回值的話,最好不要使用volley原生的JsonObjectRequest來發起請求,而是要對Request抽象類進行擴展,以正常的Map格式提交參數,對服務器返回的數據進行二次封裝為JSONObject即可。具體可以參考這個人的blog:http://blog.csdn.net/gaolu/article/details/38439375
2015-08-25
以JsonObject傳參數的時候,phone是int的,要求傳電話號碼的前7位 JsonObject jsonObject = new JsonObject(); ?jsonObject.put("phone",1354421); jsonObject.put("key","your key"); ?這樣是沒問題的,還有一點 ,從api中拿到的信息只是號碼一段的的位置信息即前7位 ?至于后面4位有還是沒有得到的信息都是一樣的。
2015-08-23
請仔細檢查哦