南邮Android实验报告二:安卓网络编程
實驗二 安卓網絡編程
一、目的要求
1、理解安卓應用開發中調用web服務的過程和方法。
2、學習在應用開發中使用第三方開發包的過程和方法。
3、掌握json數據的解析方法。
二、實驗環境
1、硬件配置:Intel Core i5及以上CPU、內存8G、固態硬盤容量200G以上。
2、軟件環境:windows 7及后續版本;JDK 8;Android Studio 3.x及以上版本。
三、實驗內容
1、了解下列天氣預報相關web服務的有關知識:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
2、在安卓應用中,使用此web服務獲取天氣預報相關信息
3、獲取到的天氣信息請在界面中顯示出來
四、實驗步驟
1.在項目libs文件夾下導入jar包:ksoap2-android-assembly-2.5.2-jar-with-dependencies。
同時在項目的build.gradle中添加:
implementation 'com.squareup.okhttp:okhttp:2.4.0'2.在網站下載天氣示意圖,并將其導入工程drawable文件夾中,如圖1所示。
圖1 將圖片文件下載并導入工程3.觀察天氣預報相關web服務返回的xml文件數據格式,如圖2所示。
圖2 觀察天氣web服務xml文件數據格式4.編寫解析xml文件的工具類XmlParser.java,如圖3所示。
圖3 解析xml文件代碼5.編寫天氣信息實體類Weather.java,如圖4所示。
圖4 信息實體類代碼6.編寫查詢天氣服務類WeatherRemoteService.java,關鍵代碼如圖5所示。
圖5 查詢天氣服務類關鍵代碼7.主Activity中關鍵代碼,如圖6所示。
圖6 主Activity關鍵代碼五、實驗結果與分析
打開APP,其主界面的部分截圖如圖7所示。
圖7 主界面部分截圖分別查詢南京和淮安的天氣,查詢結果分別如圖8和圖9所示。
圖8 查詢南京天氣 圖9 查詢淮安天氣由圖8和圖9可知,其xml返回的所選圖片文件有兩個,但里面可能會有所重復。因此需要編寫額外的函數來處理這種狀況,以顯示不同的圖片個數,如圖10所示。
圖10 根據xml返回數據的特點編寫相應的處理函數六、 實驗總結
本次實驗使我理解了安卓應用開發中調用web服務的過程和方法,學習了在應用開發中使用第三方開發包的過程和方法。
整體來說邏輯是比較明確的,先從官方給出的調用方法獲取數據,再編寫相關代碼解析網站返回的數據并顯示在APP中。值得注意的是,我們需根據網站返回數據的格式編寫相對應的處理代碼。雖然開發過程多次報錯,但只要堅信自己的道路是正確的,理論方法無誤,一定能成功將APP開發出。
七、思考題
1、應用之間的接口數據除了采用json描述以外,主要還有哪種方式?可以借助什么工具進行解析?
答:還有xml和txt方式。
xml可以借助DOM或SAX解析。DOM解析把整個xml文檔加載到內存中,封裝形成一棵dom樹。其優點是可以增、刪、改,缺點是可能內存溢出。SAX解析是逐行讀取,事件驅動型解析。其優點是速度快,可以讀取大xml文檔,缺點是復雜,不能增、刪、改。常用的解析工具包有:jaxp,jsoup,jdom,dom4j。
txt可以借助java相關的文件流式操作工具來進行解析。
2、安卓應用開發中進行HTTP編程時,主要會使用哪兩類jar包,使用方式有何區別?
答:有OkHttp和HttpClient兩種。
(1)OkHttp使用方式:新建OkHttpClient對象,創建請求對象Request,然后向請求對象中設置請求頭、請求體等參數,通過OkHttpClient發送請求后得到響應對象Response。
(2)HttpClient使用方式:新建HttpClient對象,然后由請求類型創建請求對象,例如HttpGet(Get請求)和HttpPost(Post請求),在請求對象中設置請求頭、請求體等參數,通過HttpClient發送請求后得到響應對象HttpResponse。
總結
以上是生活随笔為你收集整理的南邮Android实验报告二:安卓网络编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人云服务器部署leanote(蚂蚁笔记
- 下一篇: 如何快速创建一个“2010 年自动交易锦