Android網絡應用

一.TCP協議
        | ServerSocket 服務端socket服務監聽
                | Socket accept() 如果服務端接受到一個客戶端的Socket請求,該方法返回一個與客戶端Socket對應的Socket
                | ServerSocket(int port) 用指定端口port創建一個ServerSocket
                | ServerSocket(int port,int backlog) 增加一個用來改變連接隊列長度的參數backlog
                | ServerSocket(int port,int backlog,InetAddress localAddr) 在機器存在多個IP地址的情況下,允許通過localAddr這個參數將ServerSocket綁定到指定IP
        | Socket 客戶端
                | Socket(InetAddress/String remoteAddress,int port) 創建連接到指定主機,指定IP的socket
                | Socket(InetAddress/String remoteAddress,int port,InetAddress localAddr,int localPort) 創建連接到指定主機,指定IP的socket
                | InputStream getInputStream() 返回該Socket對象對應的輸入流
                | OutputStream getOutputStream() 返回該Socket對應對應的輸出流
二.URL 使用URL訪問網絡資源
        | 方法
                | String getFile() 獲取此URL的資源名
                | String getHost() 獲取此URL的主機名
                | String getPath() 獲取此URL的路徑部分
                | int getPort() 獲取此URL的端口號
                | String getProtocol() 獲取此URL的協議名稱
                | String getQuery() 獲取此URL的查詢字符串部分
                | URLConnection openConnection() 返回一個URLConnection對象,代表URL所引用的遠程對象的鏈接
                | InputStream openStream() 打開此URL的鏈接並返回一個用於讀此URL資源的InputStream
        | 步驟  URLConnection
                | 調用openConnection()方法,創建URLConnection對象
                | 設置URLConnection參數和普通請求屬性
                | 如果發送get請求,使用connect方法建立和遠程資源的時間連接即可,如果是post方式,需要獲取URLConnection實例對應的輸出流來發送請求參數
                | 遠程資源變爲可用,程序可以訪問遠程資源的頭字段,或通過輸入流讀取遠程資源的數據
                        | setAllowUserInteraction 設置該URLConnection的allowUserInteraction請求頭字段值
                        | setDoInput() 設置該URLConnection的doInput請求頭字段值
                        | setDoOutput() 設置該URLConnection的doOutput請求頭字段值
                        | setIfModifiedSince() 設置該設置該URLConnection的ifModifiedSince請求頭字段值
                        | setUseCaches() 設置該URLConnection的useCaches請求頭字段值
                        | setRequestProperty(String key,String value) 設置該URLConnection的key請求頭字段值爲value
                        | Object getContent() 獲取該URLConnection的內容
                        | String getHeaderField(String name) 獲取指定響應頭字段的值
                        | getInputStream() 返回該URLConnection對應的輸入流 用於獲取URLConnection的響應內容
                        | getOutputStream() 返回該URLConnection對應的輸出流,用於向URLConnection發送請求參數
                        | getConnectEncoding() 獲取connect-encoding響應頭字段值
                        | getConnectLength() 獲取connect-length響應頭字段值
                        | getConnectTyle() 獲取connect-length響應頭字段值
                        | getDate() 獲取date響應頭字段值
                        | getExpiration() 獲取expires響應頭字段值
                        | getLastModified() 獲取last-modified響應頭字段的值
三.使用HTTP訪問網絡資源
        | URLConnection
                | HttpURLConnection
                        | int getResponseCode() 獲取服務器的響應代碼
                        | String getResponseMessage() 獲取服務器的響應消息
                        | String getRequestMethod() 獲取發送請求的方法
                        | void setRequestMethod(String method) 設置發送請求的方法
        | HttpClient
                | 他是一個增強版的HttpURLConnection,用於發送Http請求,接收Http響應,但不會緩存服務器響應,不能執行Html頁面中嵌入的JavaScript代碼,也不會對頁面進行解析處理
                |  使用方法
                        | 1 創建HttpClient對象
                        | 2 發送get請求,創建HttpGet對象,發送post請求,創建HttpPost對象
                        | 3 如需發送請求參數,調用setParams(HttpParams params)方法添加請求參數,對於HttpPost對象而言,也可調用setEntity(HttpEntity entity) 方法設置請求參數
                        | 4 調用execute(HttpUriRequest request) 發送請求,執行方法返回一個HttpResponse
                        | 5 調用HTTPResponse的getAllHeaders(),getHeaders(String name) 等方法獲取服務器響應頭.調用HttpResponse的getEntity()方法獲取HttpEntity對象,此對象包含                                服務器響應內容
        | 使用WebView視圖訪問頁面
                | void goBack() 後退
                | void goFoward() 前進
                | void loadUrl(String url) 加載指定Url對應的網頁
                | boolean zoomIn() 方法網頁
                | boolean zoomOut() 縮小網頁
                | 加載HTML代碼
                        | loadData(String data,String mimeType,String encoding) 可用於加載並顯示Html代碼(中文會亂碼)
                        | loadDataWithBaseURL(String baseUrl,String data,String mimetype,String encoding,String historyUrl)
                                | data 指定加載的HTML代碼
                                | mimeType 指定HTML的MIME類型,對於HTML可指定爲text/html
                                | encoding 指定HTML代碼所用的字符集
        | 使用WebView中的JavaScript調用Android的方法(WebSetting 工具類)
                | 調用WebSetting的setJavaScriptEnabled(true)啓用JavaScript的調用功能
                | 調用WebView的addJavascriptInterface(Object object,String name) 方法將Object對象暴露給JavaScript
                | 在JavaScript中通過剛纔暴露的name對象調用Android的方法
四.Web Service
        | SOAP(簡單對象訪問協議)
                | 必須的<Envelope.../>根元素
                | 可選的<Header.../>包含SOAP消息的頭信息
                | 必須的<Body../>元素,包含所有的調用和響應信息
        | WSDL(Web Service 描述語言)   
                | WHAT部分:用於定義Web Service所提供的操作(或方法).由WSDL的<types.../>,<message.../>(交換方式)和<portType.../>元素定義(可包含<operation../>元素代表一個允許                        遠程調用的操作)
                | HOW部分: 用於定義如何訪問Web Service,包含數據格式詳情和必要協議.
                | WHERE部分: 用於定義Web Service 位於何處,如何使用特定的網絡地址(url)指定.該部分使用<service.../>定義   
                        | <binding../>子元素,會把綁定機制,服務訪問協議和終端地址結合在一起
        | UDDI (統一描述,發現和整合協議)
                | 特點: 基於Web,  分佈式
                | jar:ksoap2-android-assembly-3.0.0-RC.4-jar-with-dependencies.jar
                        | 1 創建HttpTransportSE對象, 該對象用於調用WebService操作
                        | 2 創建SoapSerializationEnvelope對象
                        | 3 創建SoapObject對象,創建時需要傳入Web Service的命名空間,Web Service方法名
                        | 4 如果有參數需要傳給Web Service服務器端,調用SoapObject對象的addProperty(String name,Object value)方法設置參數
                        | 5 調用SoapSerializationEnvelope的setOutputSoapObject()方法或者直接對bodyOut屬性賦值,將SoapObject對象設置爲SoapSerializationEnvelope傳出SOAP消息體
                        | 6 調用call()方法並以SoapSerializationEnvelope作爲參數調用遠程Web Service
                        | 7 調用完成後,訪問SoapSerializationEnvelope對象的bodyIn屬性,該屬性返回一個SoapObject對象,該對象代表Web Service返回的消息
                        

                 

      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章