应用所有对php服务器的http请求,在5.1下正常,在4.4、4.0下不正常。
测试过3台手机和模拟器确认是系统版本问题,与机型无关。
比如在服务器返回福建省份的成绩名单时,5.1机型接收到的内容是:(PC上返回的也是这个结果)
{"num":"9","city":{"1":"厦门","2":"泉州","3":"福州","4":"南平","5":"宁德","6":"漳州","7":"三明","8":"龙岩","9":"莆田"}}
而4.4、4.1接收到的内容则是:
{"num":"0","city":{}}
后来我让服务端输出数据库查询记录集的行数$numcount。一样的服务端代码,5.1收到的是正确的行数,和数据库里一致,4.4收到的则是0。百思不得其解啊!!
客户端的代码都是类似的,都是在进程中执行然后handler接收消息,照这个现象看不是handler的问题。或许可能是客户端代码问题?请各位帮忙看一看。
Thread thread = new Thread(){
@Override
public void run(){
try{
String link = "http://example.com/search_item.php");
link = link + "&item=" + item;
URL url = new URL(link);
HttpURLConnection conn= (HttpURLConnection)url.openConnection(); conn.connect();
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String info = null;
info = reader.readLine();
Message msg = Message.obtain();
msg.obj = info;
handler.sendMessage(msg);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
thread.start();