網絡進階

工做四年多了,一直在作手機廠商ROM中的Android開發,一直想轉互聯網開發,此次必定要記點什麼,否則過幾天又忘了java

 


 

1、網絡分層編程


應用層 (HTTP、FTP、DNS、SMTP等等)
運輸層 (TCP、UDP)
網絡層 (IP等)
數據鏈路層(ARP等)
物理層設計模式

https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650826134&idx=1&sn=925595daaad2b3447f30dbbec3873ee2&chksm=80b7b108b7c0381e51f6b824edf632e11b713f04af69485d0d3e8111bd4715b8bd6014455d57&scene=38#wechat_redirect緩存


 

2、應用層:網絡


一、HTTP協議原理:http的請求報文,響應報文,消息報頭,抓包,get post
二、兩個類庫:HttpClient(棄用)、HttpURLConnection
三、網絡通信框架:
3.一、Volley:能夠訪問網絡取得數據,也能夠加載圖片。
3.二、OkHttp:異步GET請求,異步POST請求,異步上傳文件,異步下載文件,異步上傳Multipart文件,設置超時時間和緩存,取消請求,關於封裝(OkHttpFinal)
3.三、Retrofit:Android網絡請求框架,底層是基於OkHttp實現的,更多的使用運行時註解的方式提供功能,分三大類註解框架


 

3、運輸層:異步


tcp的三次握手,四次揮手tcp


4、事件總線:EventBus和Otto函數式編程

 

EventBus是一款針對Android優化的發佈-訂閱事件總線。能高質量的解決程序內各組件間,組件與後臺線程間的通訊。(廣播,序列化,intent,bunder也是通訊相關的)函數


 

5、函數響應式編程:

 

函數式編程是一種編程規範,響應式編程是一種面向數據流和變化傳播的編程規範。Android開發中使用函數響應式編程的主要有兩大框架RxJava和Agera
一、RxJava:RxJava是ReactiveX(Rx)的一種Java實現。RxAndroid是RxJava在Android平臺的擴展。
二、RxJava+OkHttp訪問網絡
三、RxJava+Retrofit訪問網絡,是比較好的搭配
四、用RxJava能夠實現事件總線RxBus,以代替EventBus和Otto


 

6、註解與依賴注入框架:


在許多程序設計語言中,好比java、C#,依賴注入是一種比較流行的設計模式。在Android開也有不少實用的依賴注入框架,能夠幫助咱們少寫一些樣板代碼,達到各個類之間解耦的目的。經常使用的依賴注入框架ButterKnife和Dagger2.這兩個框架都是編譯時註解


 

7、MVP,MVVM

 

 

https://www.jianshu.com/p/51805c122d01

相關文章
相關標籤/搜索