1.申請網路許可權
2.獲得url
1.url=new url(string);
3.請求:requestdata();
3.setreadtimout("最大超時時間")
4.setrequestmethod("get|post|delete|put"):請求方式
5.connect():發起請求
4.獲取返回資料
1.connection.getresponsecode():獲得返回**.
2.getresponsemessage():返回訊息
3.getinputstream():獲得輸入流
後台非同步處理.
1.實現asynctack(引數,進度,結果).
2.實現doinbackground():要做的任務.
3.實現onpreexecute():執行之前的任務.
4.實現onpostexecute():執行之後的任務.
5.asynctack的實現類.execute(param...);
1.xml
sax
1.saxparese***ctory=getinstance();
2.saparser = newsaxparser();
3.xmlreader =getxmlreader();
4.setcontenthandler(? extends defaulthandler)
5.getresources.openrawresource()
6.inputsource=new inputsource(5);
7.xmlreader.parse(6)
8.(? extends defaulthandler).getxmllist();
9.分析xml檔案結構
10.寫**解析xml
pull --簡單,逐步解析,大小檔案都適用.
xmlresourceparser getresources().getxml(id):獲得xml檔案
geteventtype() != xmlresourceparser.end_document:文件是否結束
geteventtype() != xmlresourceparser.start_tag:開始讀取標籤
dom --一次載入乙個檔案,適合小檔案.
優點:簡潔,獲得大量完整的技術支援.
json
主要物件:jsonobject,jsonarray,jsonexception,jsonstringer.
josn工具:jsonlint.com
1.讀取json字串,
inputstream:獲取josn字元流
string=getstringbyinputstream:流轉換為字串
jsonobject= new jsonobject(string):轉換為jsonobject
gson
fromjson():把json物件轉為object
tojson():把object轉換為json物件.
tojsontree():把json變成樹結構
@serializename():註解解決變數名不同問題,其實就是給變數起個別名.
connectivitymanager=activity.getsysservice
networkinfo=getnetworkinfo:獲得網路資訊物件
isconnected():是否連線
getactivenetwork():是否開啟網路
android-async-http
fiddler(window)
charles(mac)
postman(除錯伺服器端介面,查api)
(restful api)
網路請求必須建立新的執行緒.
25網路基礎DNS
一.使用者訪問 基本流程 dns網域名稱解析 建立tcp三次握手 客戶端發出http請求 服務端發出http響應 tcp四次揮手斷開連線 二.網域名稱解析 頂級 一級.二級.四級網域名稱 埠 53 在dns解析中分為兩種查詢方式 遞迴查詢和迭代查詢 遞迴查詢 由dns客戶端發起,一級一級的向上提交查...
39 網路程式設計
http協議,hyper text transfer protocol 超文字傳輸協議 是用於從全球資訊網伺服器傳送超文字到本地瀏覽器的傳輸議,http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。c s模式 client和server常常分別處在相距很遠的兩台計算機上,clie...
2018 4 15 網路程式設計
單純的客戶端服務端有個侷限性,a客戶端連線上以後,未處理完之前,b客戶端連線只有等待 所以服務端最好將每個客戶端封裝到乙個執行緒中 class picthread implements runnable public void run outputstream out s.getoutputstre...