• 网络进阶


    工作四年多了,一直在做手机厂商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
  • 相关阅读:
    【译】Arc 在 Rust 中是如何工作的
    TCP连接时动态端口的相关问题说明
    技巧:如何区分dll程序集的编译目标平台(同样适用于查看程序集的其它依赖)
    探究:nuget工具对不再使用的dll文件的处理策略
    .net core迁移实践:项目文件csproj的转换
    nuget使用经验:复杂依赖关系下的包版本问题
    rsyslog学习和使用记录
    死锁场景:双Update操作的情况
    kubernetes官网对中国区的优待
    数据库死锁分析和说明:select和update死锁场景举例
  • 原文地址:https://www.cnblogs.com/longjunhao/p/9900544.html
Copyright © 2020-2023  润新知