網絡訪問
>網絡圖片查看器
定義圖片路徑
得到的圖片的url路徑
URL url=new URL(path);
`(HTTPURLConnecion)url.openconnection();`//通過url打開連接
conn.getcontenttype();獲取內容的類型
conn.getResponseCode()獲取相應的狀態碼 200表示OK 404表示資源找不到,503 服務器內部錯誤
通過流獲取數據
>ANR application not Response應用程序無響應
安卓下的消息機制
子線程不可以修改UI線程(主線程)
只有主線程菜開修改ui
如果子線程想更新uI就必須利用消息機制處理
Handler消息處理器 可以發送給主線程的消息隊列
Message Queue 消息隊列 主線程裏面的一個消息隊列
looper 輪詢器 檢查消息隊列裏面是否有消息 HandMessage()
消息機制的流程:
首先 創建handler
1.創建消息 Message.obtain可以節約內存
原理:如果是舊消息,就使用原來的,如果新消息,就創建一個新的message對象
定義msg.what可以設置不同的消息
2.發送消息
3.處理消息
在處理消息中寫入處理消息的邏輯
總結:
1首先開啓一個子線程在其中複寫run方法
2在run方法中
第一,獲取url對象
第二,從url打開一個http連接 conn
第三.獲取conn的狀態碼 根據狀態碼判斷連接是否生效
如果狀態碼等於200 表示連接成功
3 連接成功後 進行數據的獲取
>首先從conn獲取輸入流
>對其進行解析(圖片/文本)
>通過Message.obtain()創建一個消息對象
>設置消息的種類msg.what,作用可以區分不同的消息
>設置消息的內容
>然後由handler發送消息 handler.sendmessage
>關閉流
>在MainActivity中創建出handler對象 複寫handlemessage方法 執行消息處理邏輯