




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Android物聯(lián)網(wǎng)應(yīng)用程序開發(fā)資源轉(zhuǎn)化系統(tǒng)教材遼寧輕工職業(yè)學(xué)院遼寧輕工職業(yè)學(xué)院任務(wù)實現(xiàn)知識準(zhǔn)備任務(wù)目標(biāo)目 錄遼寧輕工職業(yè)學(xué)院通過網(wǎng)絡(luò)通信以及WebView組件時時讀取遠(yuǎn)程攝像頭所拍攝到的信息讀取至服務(wù)器端。 遼寧輕工職業(yè)學(xué)院任務(wù)2 終端遠(yuǎn)程控制攝像頭項目8 數(shù)據(jù)傳輸?shù)膶崿F(xiàn)遼寧輕工職業(yè)學(xué)院【任務(wù)目標(biāo)】1. 掌握Android中URL的基本知識2. 掌握URL讀取網(wǎng)絡(luò)資源的方法3. 掌握HTTP方式訪問網(wǎng)絡(luò)的方法4. 掌握HttpURLConnection與HttpClient接口的用法5. 掌握WebView組件的用法 遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】URL(Uniform Resource Lo
2、cator)對象代表統(tǒng)一資源定位器,它是指向互聯(lián)網(wǎng)”資源”的指針。資源可以是簡單的文件或目錄,也可以是對更復(fù)雜的對象的引用,例如對數(shù)據(jù)庫或搜索引擎的查詢。通常情況而言,URL可以由協(xié)議名、主機、端口和資源組成。格式:protocal:/host:port/resourceName;URL類提供了一些構(gòu)造器用于創(chuàng)建URL對象,一旦獲得URL對象之后,可以調(diào)用如下常用方法來訪問這些URL對應(yīng)的資源。URL請求的類別分為二類,GET與POST請求。二者的區(qū)別在于:get請求可以獲取靜態(tài)頁面,也可以把參數(shù)放在URL字串后面,傳遞給servlet。post與get的不同之處在于post的參數(shù)不是放在UR
3、L字串里面,而是放在http請求的正文內(nèi)。 1. HttpURLConnection接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】HttpURLConnection是一種多用途、輕量極的HTTP客戶端,使用它來進(jìn)行HTTP操作可以適用于大多數(shù)的應(yīng)用程序。雖然HttpURLConnection的API提供的比較簡單,但是同時這也使得我們可以更加容易地去使用和擴(kuò)展它。在 類中,HttpURLConnection類是一種訪問HTTP資源的方式。HttpURLConnection繼承自URLConnection,可用于向指定網(wǎng)站發(fā)送GET請求、POST請求。它在URLConnection的基礎(chǔ)上提供了如下便捷的方法
4、:(1)int getResponseCode():獲取服務(wù)器的響應(yīng)代碼。 (2)String getResponseMessage():獲取服務(wù)器的響應(yīng)消息。 (3)String getResponseMethod():獲取發(fā)送請求的方法。 (4)void setRequestMethod(String method):設(shè)置發(fā)送請求的方法。1. HttpURLConnection接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】 在一般情況下,如果只是需要Web站點的某個簡單頁面提交請求并獲取服務(wù)器響應(yīng),HttpURLConnection完全可以勝任。但在絕大部分情況下,Web站點的網(wǎng)頁可能沒這么簡單,這些頁
5、面并不是通過一個簡單的URL就可訪問的,可能需要用戶登錄而且具有相應(yīng)的權(quán)限才可訪問該頁面。在這種情況下,就需要涉及Session、Cookie的處理了,如果打算使用HttpURLConnection來處理這些細(xì)節(jié),當(dāng)然也是可能實現(xiàn)的,只是處理起來難度就大了。 HttpURLConnection的connect()函數(shù),實際上只是建立了一個與服務(wù)器的tcp連接,并沒有實際發(fā)送http請求。無論是post還是get,http請求實際上直到HttpURLConnection的getInputStream()這個函數(shù)里面才正式發(fā)送出去。1. HttpURLConnection接口遼寧輕工職業(yè)學(xué)院【知識
6、準(zhǔn)備】 HttpURLConnection是基于HTTP協(xié)議的,其底層通過socket通信實現(xiàn)。如果不設(shè)置超時(timeout),在網(wǎng)絡(luò)異常的情況下,可能會導(dǎo)致程序僵死而不繼續(xù)往下執(zhí)行??梢酝ㄟ^以下兩個語句來設(shè)置相應(yīng)的超時:System.setProperty( .client.defaultConnectTimeout, 超時毫秒數(shù)字符串);System.setProperty( .client.defaultReadTimeout, 超時毫秒數(shù)字符串);2. HttpClient接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】 簡單來說,HttpClient就是一個增強版的HttpURLConnectio
7、n,HttpURLConnection可以做的事情HttpClient全部可以做; HttpURLConnection沒有提供的有些功能,HttpClient也提供了,但它只是關(guān)注于如何發(fā)送請求、接收響應(yīng),以及管理HTTP連接。使用HttpClient發(fā)送請求、接收響應(yīng)很簡單,只要如下幾步即可。2. HttpClient接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】1)創(chuàng)建HttpClient對象。2)如果需要發(fā)送GET請求,創(chuàng)建HttpGet對象;如果需要發(fā)送POST請求,創(chuàng)建HttpPost對象。3)如果需要發(fā)送請求參數(shù),可調(diào)用HttpGet、HttpPost共同的setParams(HetpParam
8、s params)方法來添加請求參數(shù);對于HttpPost對象而言,也可調(diào)用setEntity(HttpEntity entity)方法來設(shè)置請求參數(shù)。2. HttpClient接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】4)調(diào)用HttpClient對象的execute(HttpUriRequest request)發(fā)送請求,執(zhí)行該方法返回一個HttpResponse。5)調(diào)用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務(wù)器的響應(yīng)頭;調(diào)用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了
9、服務(wù)器的響應(yīng)內(nèi)容。程序可通過該對象獲取服務(wù)器的響應(yīng)內(nèi)容。2. HttpClient接口遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】 在Android 2.2版本之前,HttpClient擁有較少的bug,因此使用它是最好的選擇。而在Android 2.3版本及以后,HttpURLConnection則是最佳的選擇。它的API簡單,體積較小,因而非常適用于Android項目。壓縮和緩存機制可以有效地減少網(wǎng)絡(luò)訪問的流量,在提升速度和省電方面也起到了較大的作用。對于新的應(yīng)用程序應(yīng)該更加偏向于使用HttpURLConnection,因為在以后的工作當(dāng)中我們也會將更多的時間放在優(yōu)化HttpURLConnection上面
10、。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】(1)Webkit Android手機中內(nèi)置了一款高性能webkit內(nèi)核瀏覽器,WebKit是Mac OS X v10.3及以上版本所包含的軟件框架(對v10.2.7及以上版本也可通過軟件更新獲?。?同時,WebKit也是Mac OS X的Safari網(wǎng)頁瀏覽器的基礎(chǔ)。WebKit是一個開源項目,主要由KDE的KHTML修改而來并且包含了一些來自蘋果公司的一些組件。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】(2)WebView? WebView可是個好東西,作用相當(dāng)于一個迷你的瀏覽器,采用Webkit內(nèi)核,因此完美支
11、持html、javascript、css等。有時,我們完全可以把UI甚至數(shù)據(jù)處理都交給WebView,配合PHP等服務(wù)端程序,這樣Android開發(fā)就變成了網(wǎng)頁開發(fā),可以省很多精力。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】(3)Android實現(xiàn)WebView方法第一種方法1)要在Activity中實例化WebView組件:WebView webView = new WebView(this)。2)調(diào)用WebView的loadUrl()方法,設(shè)置WevView要顯示的網(wǎng)頁: 互聯(lián)網(wǎng)用:webView.loadUrl( ); 本地文件用:webView.loadUrl(file
12、:/ android_asset/XX.html); 本地文件存放在:assets 文件中。3)調(diào)用Activity的setContentView( )方法來顯示網(wǎng)頁視圖。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】3)調(diào)用Activity的setContentView( )方法來顯示網(wǎng)頁視圖。4)用WebView點鏈接看了很多頁以后為了讓W(xué)ebView支持回退功能,需要覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點擊系統(tǒng)回退鍵,整個瀏覽器會調(diào)用finish()而結(jié)束自身,而不是回退到上一頁面。5)需要在AndroidManifest.xml文件中添加權(quán)
13、限,否則會出現(xiàn)Web page not available錯誤。添加權(quán)限如下: 3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】第二種方法1)在布局文件中聲明WebView。2)在Activity中實例化WebView。3)調(diào)用WebView的loadUrl()方法,設(shè)置WebView要顯示的網(wǎng)頁。4)為了讓W(xué)ebView能夠響應(yīng)超鏈接功能,調(diào)用setWebViewClient()方法,設(shè)置WebView視圖。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】5)用WebView點鏈接看很多頁以后為了讓W(xué)ebView支持回退功能,需要覆蓋Activity類的onKeyDown
14、()方法,如果不做任何處理,點擊系統(tǒng)回退鍵,整個瀏覽器會調(diào)用finish()而結(jié)束自身,而不是回退到上一頁面。6)需要在AndroidManifest.xml文件中添加權(quán)限,否則出現(xiàn)Web page not available錯誤。3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】(4)常用屬性、狀態(tài)描述1)WebSettings常用方法:setAllowFileAccess 啟用或禁止WebView訪問文件數(shù)據(jù)setBlockNetworkImage 是否顯示網(wǎng)絡(luò)圖像setBuiltInZoomControls 設(shè)置是否支持縮放setCacheMode 設(shè)置緩沖的模式setDefau
15、ltFontSize 設(shè)置默認(rèn)的字體大小3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】setDefaultTextEncodingName 設(shè)置在解碼時使用的默認(rèn)編碼setFixedFontFamily 設(shè)置固定使用的字體setJavaSciptEnabled 設(shè)置是否支持JavascriptsetLayoutAlgorithm 設(shè)置布局方式setLightTouchEnabled 設(shè)置用鼠標(biāo)激活被選項 setSupportZoom 設(shè)置是否支持變焦3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】2)WebViewClient常用方法:doUpdate VisitedHi
16、story 更新歷史記錄onFormResubmission 應(yīng)用程序重新請求網(wǎng)頁數(shù)據(jù)onLoadResource 加載指定地址提供的資源onPageFinished 網(wǎng)頁加載完畢onPageStarted 網(wǎng)頁開始加載onReceivedError 報告錯誤信息onScaleChanged WebView發(fā)生改變shouldOverrideUrlLoading 控制新的連接在當(dāng)前WebView中打開3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】3)WebChromeClient常用方法:onCloseWindow 關(guān)閉WebViewonCreateWindow 創(chuàng)建WebView
17、onJsAlert 處理Javascript中的Alert對話框onJsConfirm處理Javascript中的Confirm對話框onJsPrompt處理Javascript中的Prompt對話框onProgressChanged 加載進(jìn)度條改變onReceivedlcon 網(wǎng)頁圖標(biāo)更改onReceivedTitle 網(wǎng)頁Title更改onRequestFocus WebView顯示焦點3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】(5)Android webView開發(fā)過程中相關(guān)知識1)AndroidManifest.xml中必須使用許可android.permission.
18、INTERNET,否則會出Web page not available錯誤。 2)如果訪問的頁面中有Javascript,則webview必須設(shè)置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); 3)如果頁面中鏈接,如果希望點擊鏈接繼續(xù)在當(dāng)前browser中響應(yīng),而不是新開Android的系統(tǒng)browser中響應(yīng)該鏈接,必須覆蓋 webview的WebViewClient對象。 4)下面的代碼通過loadUrl方法設(shè)置當(dāng)前webView需要訪問的網(wǎng)址:mWebView=(WebView) findViewById(R.id.WebView01);mWebView.loadUrl(“ ”);3. WebView組件的使用遼寧輕工職業(yè)學(xué)院【知識準(zhǔn)備】5)在android中專門通過WebSettings來設(shè)置WebView的一些屬性.狀態(tài)等。在創(chuàng)建WebView時,系統(tǒng)有一個默認(rèn)的設(shè)置,我們可以通過WebView.getSettings來得到這個設(shè)置:6)使用WebViewClient來完成在應(yīng)用程序中自定義網(wǎng)頁瀏覽程序:WebViewClient是輔助WebView處理各種通知.請求等事件的類。通過WebView的setWebViewCl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 任務(wù)五鐵路橋隧無損檢測工程案例課件
- DB41∕T 1847-2019 裝配式混凝土箱梁橋設(shè)計與施工技術(shù)規(guī)范
- 任務(wù)汽車動力不足之間接殺手節(jié)氣門位置傳感器故障課件
- 《1~5的減法》教學(xué)設(shè)計-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 橋梁施工課件
- Unit 7 Food Festival Topic 2 Section C 教學(xué)設(shè)計 - 2024-2025學(xué)年仁愛科普版八年級英語下冊
- 2025-2026學(xué)年17 賽龍舟教案設(shè)計
- 2025年的總承包商付款分包委托合同保證協(xié)議
- 2025廢液運輸合同模板
- 2025太原市存量房買賣合同
- GH-T 1388-2022 脫水大蒜標(biāo)準(zhǔn)規(guī)范
- (完整版)軟件工程導(dǎo)論(第六版)張海藩牟永敏課后習(xí)題答案
- 金屬材料成形工藝及控制課件:軋制理論與工藝 (2)-
- 《我與集體共成長》的主題班會
- 六年級趣味數(shù)學(xué)活動課堂課件
- imo中的問題定理與方法
- 新能源汽車運用與維修專業(yè)人才培養(yǎng)方案
- 氨吹脫塔單元設(shè)計示例
- 中國移動-安全-L3
- GB/T 42314-2023電化學(xué)儲能電站危險源辨識技術(shù)導(dǎo)則
- 人教小學(xué)數(shù)學(xué)五年級下冊綜合與實踐《怎樣通知最快》示范公開課教學(xué)課件
評論
0/150
提交評論