Android模拟器,Web浏览器都能得到json,真机调试出错
目前在做一个项目,需要获取天气json并解析,我选用的是聚合数据和百度车联网的API,但是真机调试时都显示没有这个城市!?
而模拟器和在Web浏览器上是可以获得Json的,我想一定是城市编码出了问题,比如聚合数据的天气API大致是这样的
http://op.juhe.cn/onebox/weather/query?cityname=北京&key=YOUR_KEY
问题就出在北京上面,需要用URLCode进行UTF-8编码
String newcityName = URLEncoder.encode(cityName,"utf-8");
值得注意的是,仅仅用UTF-8字符串的方式编码是无效的,必须使用上述的方法。