网络进阶

工作四年多了,一直在做手机厂商ROM中的Android开发,一直想转互联网开发,这次一定要记点什么,不然过几天又忘了

 


 

一、网络分层


应用层 (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


 

二、应用层:


1、HTTP协议原理:http的请求报文,响应报文,消息报头,抓包,get post
2、两个类库:HttpClient(弃用)、HttpURLConnection
3、网络通讯框架:
3.1、Volley:可以访问网络取得数据,也可以加载图片。
3.2、OkHttp:异步GET请求,异步POST请求,异步上传文件,异步下载文件,异步上传Multipart文件,设置超时时间和缓存,取消请求,关于封装(OkHttpFinal)
3.3、Retrofit:Android网络请求框架,底层是基于OkHttp实现的,更多的使用运行时注解的方式提供功能,分三大类注解


 

三、运输层:


tcp的三次握手,四次挥手


四、事件总线:EventBus和Otto

 

EventBus是一款针对Android优化的发布-订阅事件总线。能高质量的解决程序内各组件间,组件与后台线程间的通信。(广播,序列化,intent,bunder也是通信相关的)


 

五、函数响应式编程:

 

函数式编程是一种编程规范,响应式编程是一种面向数据流和变化传播的编程规范。Android开发中使用函数响应式编程的主要有两大框架RxJava和Agera
1、RxJava:RxJava是ReactiveX(Rx)的一种Java实现。RxAndroid是RxJava在Android平台的扩展。
2、RxJava+OkHttp访问网络
3、RxJava+Retrofit访问网络,是比较好的搭配
4、用RxJava可以实现事件总线RxBus,以代替EventBus和Otto


 

六、注解与依赖注入框架:


在许多程序设计语言中,比如java、C#,依赖注入是一种比较流行的设计模式。在Android开也有很多实用的依赖注入框架,可以帮助我们少写一些样板代码,达到各个类之间解耦的目的。常用的依赖注入框架ButterKnife和Dagger2.这两个框架都是编译时注解


 

七、MVP,MVVM

 

 

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

转载于:https://www.cnblogs.com/longjunhao/p/9900544.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值