Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 網絡編程 記錄

Android 網絡編程 記錄

編輯:關於Android編程

簡介

看了深入理解Android網絡編程感覺不錯,今天對Android網絡編程進行了要點記錄。


內容

Android基於網絡技術和編程實踐

要點 定義 描述


IP協議用於報文交換網絡的一種面向數據的協議 TCP協議傳輸控制協議,傳輸層通信協議。 UDP協議用戶數據報協議,傳輸層協議。 SMTP協議簡單郵件傳輸協議 SOCKET 套接字應用層與TCP/IP協議族通信的中間軟件抽象層。類型有兩種:TCP套接字和UDP套接字。TCP套接字 在保證可靠性上,采用超時重傳和捎帶確認機制,在流量控制上,采用滑動窗口協議;在擁塞控制上,采用慢啟動算法。UDP套接字 將網絡數據流量壓縮成數據包的形式。FTP協議文件傳輸協議,傳輸協議的應用層。可直接操作Apache的包Telnet協議遠程登陸服務的標准協議可直接操作Apache的包C++和JAVA 套接字的區別Socket是Winsock裡的原始套接字開發接口Api。1、接口不同,java本身無socket通訊底層實現,而是調用系統底層的winsock api二次封裝;C++更接近系統層面的winsock,可以進行更多的底層擴展和控制。
2、java開發出來的可以在支持java虛擬機上運行。UDP和TCP區別 1、tcp可靠,udp不可靠
2、tcp支持的應用協議有:telnet,ftp,smtp,tcp可用戶傳輸數據量大
3、udp支持的應用協議:nfs(網絡文件系統),snmp(簡單網絡管理系統),dns(主域名稱系統),tftp通用文件傳輸協議等,用戶傳輸數據量少。
4、tcp是java.net.ServerSocket(用於服務器端)和java.net.Socket(用於客戶端);UDP是java.net.DatagramSocket。
5、流模式與數據報模式:TCP保證數據正確性,UDP可能丟包;TCP 保證數據順序,UDP不保證。


Android基本Web技術和編程實踐

要點 定義 描述HTTP協議分布式超媒體信息系統的應用層協議。
http://主機[":"端口][路徑]特點:
1、支持C/S模式
2、簡單快速
3、靈活
4、無連接
5、無狀態
兩類報文:請求報文,響應報文。HTTP編程
支持的功能有:自動轉向、https協議、代理服務器,方法(get、post、put、head、opption、connect)實現:數據請求,數據上傳,數據刪除等操作。
可操作的類:HttpClient和URLConnection。JSONJavaScript對象表示法,輕量級的文本數據交換格式。可操作的類:
JSONObject、JSonArray、JSONArray、JSONTokener、JSONStringer。SOAP簡單對象訪問協議,應用層協議。包含的元素:Envelope、Header、Body、Fault。HTML超文本標記語言解析Html文檔的方法有:
1、正則表達式
2、字符串定位
3、HTML Parser解析器
4、Jsoup解析器如何加密?數據傳輸可添加某加密算法進行加密加密算法有:自定義位移(其它)、MD5(不可逆)、對稱加密(DES、AES)、非對稱加密(RSA)
可引入crypto包。

Android常見網絡接口編程

要點 定義 描述XML擴展性標記語音使用XmlSerializer創建XML文件DOM解析一種解析XML的方式,特點:將XML文件的所有內容以文檔樹的方式存放在內存中,然後用戶使用DOM API遍歷XML樹、檢索所需的數據。所需的類:
DocumentBuilderFactory、Document、Element、NodeList.SAX解析一種解析XML的方式,特點:基於事件驅動,邊加載邊解析。所需的類:
XMLReader、ContentHandler、DTDHandler、ErrorHandler、EntityResolverPULL解析同上 RSS簡易信息聚合,一種描述和同步網站內容的格式。訂閱:博客、新聞。 Email編程顧名思義:發送郵件。1、使用系統自帶的郵件服務。
2、采用javamail功能包進行發送郵件。加解密加密是通過加密算法和加密密鑰將明文轉變為密文的過程,解密相反。1、Base64加密(字符表示二進制數據)
2、DES 是數據加密標准
3、AES是高級加密標准
4、MD5使用確保信息傳輸完整性OAuth認證一個開放標准,允許用戶第三方使用。四個步驟:
1、獲取未授權的請求token
2、獲取用戶授權的請求token
3、用授權的請求token換認證token
4、使用認證token訪問DOM和SAX的區別加載方式不同,DOM一次性加載全部內容,SAX邊加載邊讀取。


Android網絡模塊編程

要點 定義 描述USB編程通用串行總線,一種主從結構。涉及的類:
UsbManager、UsbAccessory、UsbDevice、UsbEndpointWIFI編程802.11b標准,無線通信的工業標准,特點:速度快、可靠、距離遠。
wifi直連技術是通過wifi直接互通。相關類:WirelessSettings、WifiSettings、AccessPointDialog、WifiEnabler、WifiLayer、WifiManager、WifiState、WifiService、WifiMonitor、WifiNativie、ScanResult、WifiInfo、wifiConfiguration。
用戶角度看五層:硬件驅動程序、wpa_supplicant、JNI、Wifi Api、WifiSettings應用程序。
直連涉及的類:WifiP2pManager藍牙編程一種支持設備短距離通信的無線技術涉及的類:BluetoothAdapter、BluetoothDevice、BluetoothSocketNFC編程近距離無線通信的技術,3種工作模式:主動、被動、雙向。應用:接觸通過、接觸支付、接觸連接、接觸浏覽。涉及的類:NfcAdapter、NdefMessage、NdefRecord

基於Sip協議的Voip應用

要點 定義 描述sip協議會話發起協議,用於建立、修改和終止包括視頻、語音、即時通信、在線游戲和虛擬現實等多媒體元素在內的交互會話。應用層的信令控制協議。使用什麼協議傳輸的?UDP協議和TCP協議 H.323協議和SIp協議的比較1、H.323采用ASN.1和壓縮編碼規則的二進制方法表示其消息,sip基於文本協議。
2、h.323由多點控制單元,所有終端都向mcu發送控制消息;sip是分布式的呼叫模型,具備組播功能。 sip會話的構成?四個組件:
1、SIP用戶代理(終端設備)
2、SIP注冊服務器(包含域中所有用戶代理的位置的數據庫)
3、SIP代理服務器(接口UA的會話請求並查詢SIP注冊服務器,獲取收件方UA的地址信息)
4、SIP重定向服務器(允許Sip代理服務器講sip會話邀請信息定向到外部域)

基於XMPP協議的即時通信

要點 定義 描述XMPP協議可擴展消息處理現場協議一種以xml為基礎的開放式實時通信協議。Android的XMPP客戶端地址http://asmack.freakempire.de/

Android對HTML的處理

要點 定義 描述HTML處理關鍵類Android HTML處理關鍵類在源碼frameworks/base/core/java/android/webkit目錄下 關鍵類以及描述1、AccessibilityInjector 為WebView注入可以訪問的javaScript和其相關內容。
2、AutoCompletePopup 根據輸入內容自動不全
3、BrowserFrame 對WebCore中Frame對象的java層封裝。
4、CacheManager Cache管理對象。
5、CallbackProxy 處理WebCore與UI線程消息的代理類
6、CerTool WebView證書工具
7、ClientCerRequestHandler 處理客戶端證書請求
8、ConsoleMessage javaScript控制台消息
9、Cookiemanager Cookies管理對象
10、CookieManagerClassic Cookiemanager 擴展實現類
11、CookieSyncManager Cookies同步管理對象,負責同步RAM和FLASH之間的Cookies數據。
12、DataSorter 日期排序
13、DebugFlags 調試標志
14、DevicemotionAndOrientationManager 實現DeviceMotion和DeviceOrientation
15、DeviceMotionService 實現SensorEventListener接口,處理方向變化。
16、Downloadlistener 下載監聽
17、FindActionModeCallback 搜索動作回調
18、GeolocationPermissions WebView的地理位置JavaScript Api的權限管理
19、GeolocationPermissionsClassic GeolocationPermissions 擴展類,處理UI線程中調用的WebKit線程。
20、GeolocationService 封裝位置監聽。
21、HTML5Audio 音頻支持類
22、HTML5VideoFullScreen 全屏視頻視圖
23、HTML5VideoInline 內嵌視頻視圖
24、HTML5VideoView 浏覽器視頻視圖
25、HTML5VideoViewProxy 視頻視圖處理類
26、HttpAuthHandler 處理http認證請求
27、JWebCoreJavaBridge 用於java與webcore庫中timer和Cookies對象交互的橋接
28、JniUtil JNI使用的實用類,用於獲取cache目錄等C代碼無法直接獲取的信息、以及讀取資源包中的文件。
29、JsPromptResult js結果提示,提示javascript運行結果。
30、JsResult js結果,用戶交互。
31、KeyStoreHandler 負責證書安裝到系統密鑰存儲區,從網絡讀取證書傳給CertTool。
32、L10nUtils 負責字符串國際化33、MimeTypeMap MIME類型映射
34、MockGeolocation 模擬地理位置信息
36、MustOverrideException 擴展運行時錯誤
37、OverScrollGlow 用於實現OverScroller結果
38、Plugin 定義插件的類
39、PluginData 插件數據
40、PluginFullScreenHolder 獲取插件視圖的容器的大小,負責顯示等操作。
41、PluginList 維護插件列表
42、PluginManager 插件管理類
43、PluginStub WebView的實現插件的接口
44、QuadF 定義一個四邊形
45、SearchBox 搜索對話框接口
46、SearchBoxImpl 搜索對話框接口實現
47、SelectActionModeCallback 選擇動作回調
48、SslCertLookupTable 存儲用戶是否使用一個證書的決定
49、SslClientCertLookupTable 保存客戶端證書的用戶選擇
50、SslErrorHandler 處理SSL錯誤
51、URLUtil URL使用處理類
52、valueCallback 異步返回數據值的回調接口
53、ViewManager 視圖管理類,管理插件視圖
54、ViewStateSerializer WebView視圖序列化和反序列化
55、WebBackForwardList WebView對象中顯示的歷史數據列表
56、WebBackForwardListClient 浏覽歷史處理的客戶端接口
57、WebChromeClient Chrome客戶端
58、WebCoreThreadWatchdog WebCore看門狗
59、WebHistoryItem 一條網頁數據
60、WebIconDatabase 圖標數據庫管理對象
61、WebIconDatabaseClassic WebIconDatabase 擴展類
62、WebResourceResponse 封裝資源的響應信息
63、WebSettings WebView的管理設置數據,通過JNI接口從底層獲取。
64、WebStorage 數據庫
65、WebSyncManager 數據同步管理對象,用於RAM數據和FLASH數據的同步操作。
66、WebTextView 在HTML文本輸入控件激活時顯示系統原生編輯組件。
67、WebView 視圖對象
68、WebViewClient Web視圖客戶對象,在web視圖中有事件產生時,該對象獲得通知。
69、WebViewDatabase 數據庫
70、WebViewFactory WebView嵌入Fragment中。
71、WebViewFragment ebView嵌入Fragment中。
72、ZoomControlBase 縮放控件接口。
73、ZoomControlEmbedded 內置縮放控件。
74、ZoomManager 維護WebView的縮放狀態。


Android 網絡處理分析

要點 定義 描述網絡處理關鍵類Android HTML網絡處理關鍵類在源碼frameworks/base/core/java/android/net目錄下 關鍵類以及描述1、ConnectivityManager 用於查詢網絡連接的狀態。
2、Credentials UNIX身份信息
3、DhcpInfo 一個Dhcp請求結果的對象
4、LocalServerSocket 創建下行unix域套接字的非標准類
5、LocalSocket 在unix域命名空間創建一個非服務器socket
6、LocalSocketAddress socket地址
7、MailTo 解析mailto協議格式的url
8、NetworkInfo 描述網絡接口狀態
9、Proxy 訪問用戶及默認代理設置的類
10、SSLCertificateSocketFactory 實現了ssl操作的額外細節
11、SSLSessionCache ssl會話緩存
12、TrafficStats 網絡流量統計
13、Uri 一個不可變的url引用
14、Uri.Builder 創建url引用的輔助類
15、UrlQuerySanitizer 過濾url查詢
16、UrlQuerySanitizer.IllegalCharacterValueSanitizer 用它們包含的字符過濾非法值
17、UrlQuerySanitizer.ParameterValuePair 參數值對的簡單元組
18、VpnService 應用擴展和建立自己的vpn解決方案的基類
19、VpnService.Builder 創建一個vpn接口的輔助類 Android封裝的http處理類1、AndroidHttpClient(本質上是Apache DefaultHttpClient類在Android上的實現)
2、DefaultHttpClient(一個Http客戶端)
3、SSL認證信息處理類(SSL協議的實現與數字證書相關,涉及的類:SslCertificate、SslError)1、AndroidHttpClient不能在主線程中執行,DefaultHttpClient在主線程中執行。
2、AndroidHttpClient通過靜態方法newInstance獲得實例,而DefaultHttpClient創建對象。
3、DefaultHttpClient默認啟動Cookie,但默認不保留Cookie,如要保留需增加CookieStore到HttpContext中。Android RTP協議實時傳輸協議,用來為ip網絡的語音、圖像、傳真等多種實時傳輸的多媒體數據提供端到端的實時傳輸服務。
RTP協議詳細說明了傳遞音頻和視頻的標准數據包格式。涉及的類:AudioCodec、AudioStream、AudioGroup、RtpStream。



總結

該書詳細講解了Android開發要點,並用源碼案例進行了詳細說明,使筆者從原理上加深對相關知識點的理解。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved