最近在學習《第一行代碼》(第一版)過程中,在10.2下面的使用HttpURLConnection時出現了以下問題:
- 按照書中代碼編寫點擊按鈕之后無法出現書中描述的HTML代碼;
- 無法使用HttpClient
針對以上問題給出解決辦法以及合理的解釋。
1.首先第一個問題,代碼本身是沒有問題的,但是由于百度的網址全部換成了https,這才導致無法讀取HTML代碼,將代碼改寫成如下方式即可以解決:
URL url = new URL("https://www.baidu.com");
或者是
將HttpURLConnection全部替換為HttpsURLConnection
2.針對第二個問題,是由于官方不再推薦使用HttpClient而是推薦使用HttpUrlConnection,簡單的原因是DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具體的實現類,它們都擁有眾多的API,而且實現比較穩定,bug數量也很少。 但同時也由于HttpClient的API數量過多,使得我們很難在不破壞兼容性的情況下對它進行升級和擴展,所以目前Android團隊在提升和優化HttpClient方面的工作態度并不積極。
以上。