zoukankan      html  css  js  c++  java
  • 网络进阶

    工作四年多了,一直在做手机厂商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

    我的GitHub:https://github.com/lelelongwang
  • 相关阅读:
    GridControl中属性
    Linux命令发送Http GET/POST请求
    centos 7.6 安装jdk8
    centos 基本操作 快捷键开户终端,复制,粘贴
    mybatis中转义 大于,小于,大于等于,小于等于,
    excel生成mybatis模板
    Linux下Tomcat重新启动
    Oracle 数据库裸设备扩容处理
    百度地图一套JS API,非常实用
    百度地图,标记,显示和隐藏的方法
  • 原文地址:https://www.cnblogs.com/longjunhao/p/9900544.html
Copyright © 2011-2022 走看看