小豬的Android入門之路 Day 8 part 2
本節引言:
在part 1中我們學習了網路互動中用得較多的xml檔案的相關概念,以及在Android中常用的
解析XML三種不同形式,分別SAX,DOM,Pull三種不同的解析方式;而在part 2中我們將會
講解我們的應用如何去擷取網路上的資源,分別是圖片,HTML代碼,XML代碼和JSON資料;
好了,廢話就這麼多,開始本節的課程吧!從這part開始我們就需要使用到tomcat搭建伺服器了
就是建立自己的web程式,可以使用eclipse直接建立或者另外下載一個myeclipse建立web程式
還有,使用官網提供的那個封裝好的Android IDE是建立不了Web程式的,切記!
寫給看本文的初學者:
看到這裡證明你已經學習了Android的大半知識了,先恭喜下你!不過學到這裡也遇到一個問題!
說了是網路,那麼必然會涉及到伺服器和用戶端的互動,對於初學者來說,更多的問題是服務端
的搭建問題,畢竟很多朋友都沒有接觸過服務端的,或者說伺服器的編程!筆者再這裡也糾結了
幾天,不知道該如何去闡述;鑒於很多朋友都沒學過Jsp和Servlet或其他服務端程式設計語言,更別提
SSH那些架構了,這裡給出一個最低的基礎:要掌握擷取與解析伺服器反饋的資料的能力,
而不用去關心服務端的實現,其實在很多的公司都是有專門的人來負責伺服器這塊的!當然如果
你對自己要求高的話,也可以自學下簡單的jsp和servlet,當然也可以深入的學習下J2EE或者其他
服務端的語言!
由於篇幅有限,可能本文闡述得不夠完整,對本文一些內容,筆者可能有些不理解,但是請自己手動敲一遍,
看不懂的敲一遍,敲的過程中去理解,一遍不懂敲兩遍,慢慢滴你就會有所收穫的了!直接把本文後面
提供的web工程載入到tomcat上就可以了,另外,ip要改哦!在開始菜單輸入cmd,輸入指令ipconfig
找到IPV4那個IP就是了!
另外提供一些參考資料(有興趣的可以下載看看):
本文參考書籍:《Android 4.0網路編程》: http://pan.baidu.com/s/1o6siI6I
參考視頻:http://pan.baidu.com/s/1jGiN3gE
ps:4.0版本以後,Android的網路訪問操作不能在子線程中進行!需要建立一個線程哦!
另外訪問網路操作的話,其實更推薦使用Vollery架構,有興趣的話自己瞭解下把!
本節學習路線圖:
本文:
HTML協議的流程圖:
流程圖解析:
1)使用者在瀏覽器中輸入百度的網域名稱,點擊訪問後,網域名稱先發送到DNS,解析網域名稱,得到ip後連結到伺服器對應的
連接埠號碼上(該連接埠通常是用於監聽用戶端串連伺服器的)!
2)從瀏覽器到服務區連接埠使用了最簡單的TCP/IP協議,使用Socket來完成
3)從服務端返回的資料有三種形式,HTML,XML或JSON,另外使用者上傳或下載檔案就用到JavaSE的IO技術了
獲得網路上的圖片
:
代碼解析:
獲得網路上的網頁代碼
:
ps:除了支援HTML外,其他的php,.net都可以讀取
代碼解析:
解析伺服器返回的XML資料
:
要先搭建好服務端平台,搭建好後運行tomcat出現資訊:
訪問此連結後出現下面的xml內容說明服務端已經搭建完畢了!
接著編寫用戶端,實現後的如下:
代碼解析:
解析伺服器返回的JSON資料
:
要先搭建好服務端平台,搭建好後運行tomcat出現資訊:
訪問此連結後出現下面的xml內容說明服務端已經搭建完畢了!
接著編寫用戶端,實現後的如下:
代碼解析:
參考代碼下載:
①獲得互連網上的圖片:http://pan.baidu.com/s/1eQ1SyA2
②擷取互連網上的網頁代碼:http://pan.baidu.com/s/1sjJgYPB
③擷取伺服器返回的xml資料:http://pan.baidu.com/s/1mgwW4sC
④擷取伺服器返回的JSON資料:http://pan.baidu.com/s/1pJyms0j
⑤Web工程(服務端):http://pan.baidu.com/s/1hqGb5eW