程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 版本-安卓功能5.1下正常 4.0下異常

版本-安卓功能5.1下正常 4.0下異常

編輯:編程解疑
安卓功能5.1下正常 4.0下異常

應用所有對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();

最佳回答:


可以試試從三個方向考慮
1)Server,在發送代碼執行的最後一步打印一下發送的內容,確認確實是在所有的情況下都把數據發送出去了。
而且沒有對UE版本進行檢查。

2)傳輸過程中,如果有模擬器的話可以試試在本機抓一下wireshark log,看看傳輸過程中是不是有什麼問題。

3)Client端,如果針對不同版本,接收不到內容,可以試試在不好用的Client端去請求一下不同server的別的內容,看看是不是好用。
如果同樣的代碼,針對別的內容好用,那問題大概還是出在Server端。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved