- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 Jetpack Compose
Jetpack Compose:声明式UI框架(Composition over inheritance) 组合优于继承1. 什么是Compose,有什么优势?Jetpack Compose 是一个现代工具包,旨在简化UI开发。它结合了反应式编程模型和Kotlin编程语言的简洁性和易用性。它是完全声明性的,Compose的口号就是消灭xml,在撸过代码之后总结总体上UI的结构和Flutte...
2019-12-02 13:58:25
3201
原创 同步屏障/协程/CyclicBarrier
1. 适用范围在业务逻辑中有的时候会遇到一些等待多个子线程的返回结果再执行某个功能的情况,这种处理在代码上体现出来就不好阅读和维护,针对这一系列痛点建议java使用CyclicBarrier同步屏障,kotlin使用携程来处理,过程方便阅读,维护。2. 场景在正常使用情况下,如果事件放在子线程那么会出现,不确定时间,并行无法统一处理结果的问题如下图 ↓我们理想中的流程应该是这样的,统一处...
2019-12-02 13:52:04
374
原创 Router/ARouter/路由框架原理及实现
路由框架主流路由框架Router/ARouter/WMRouter等… 本文主要讲解Router和ARouter的实现原理,并实现一个路由框架1. 路由的作用与优点1. 在一些复杂的业务场景下,灵活性比较强,很多功能都是动态配置的,比如下发一个活动页面,我们事先并不知道具体的目标页面,但如果事先做了约定,提前做好页面映射,便可以自由配置。2. 随着业务量的增长,客户端必然随之膨胀,开发人员...
2019-11-25 10:37:30
982
转载 TCP协议四次挥手过程分析?为什么握手三次挥手四次?
1. 为什么四次挥手?为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,”你发的FIN报文我收到了”。只有等...
2018-07-02 15:59:02
820
转载 Android Lint
1. 简介Lint 是Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。 我个人极力推荐,方便无需下载集成Android Studio自带,准确确定位置,布局优化,冗余资源,没使用资源,未在清单文件注册Activity,版本兼容,权限问题,容易引发的问题,等等都 会以警告的形...
2018-07-02 14:22:48
294
转载 TCP协议握手过程,以及为什么握手,不握手又会怎么样?
1. 为什么要用三次握手在《计算机网络》一书中其中有提到,三次握手的目的是“为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”,这种情况是:一端(client)A发出去的第一个连接请求报文并没有丢失,而是因为某些未知的原因在某个网络节点上发生滞留,导致延迟到连接释放以后的某个时间才到达另一端(server)B。本来这是一个早已失效的报文段,但是B收到此失效的报文之后,会误认为...
2018-07-02 10:57:04
3593
转载 HTTP 1.0,HTTP1.1与HTTP2.0的主要区别
HTTP 1.0 与 HTTP1.1 的主要区别长连接节约带宽HOST域HTTP1.1 与 HTTP 2.0的主要区别多路复用二进制分帧首部压缩服务器推送HTTP 1.0 与 HTTP1.1 的主要区别长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。 HTTP是基于TCP...
2018-07-02 10:49:50
367
原创 合并多个PDF文件 - Java/Android
因为最近公司有新的需求需要把多个pdf在本地合成一个pdf展示,在网上翻阅了很多文章写的不全面又或者要积分,故此对比了很多方法决定使用下面的方法,亲测可用合并速度快,不模糊;1. 合并多个pdf 注:需要下载 pdfbox.jar 设置下载资源最少设置2个积分,没积分的同学可以去官网下载 https://pdfbox.apache.org/download.cgi ...
2018-04-25 12:02:15
2024
2
转载 极光推送Android端集成
【快速搞定】2分钟搞定极光推送(极光推送Android端集成)一、前言2分钟只是一个虚数哈,不过只要你速度快,两分钟还真是能搞定的哦。在2.1.8版本以前,极光的配置还是非常麻烦的,需要在清单文件(AndroidManifest.xml)里面各种配置,篇幅非常大。可能极光的开发者也意识到了这点,所以在2.1.8之后就加入了gradle的配置,简化了非常多的配置步骤。本文旨在通过简洁的步骤来快速完成极
2017-12-28 15:01:30
2345
2
原创 Android 修改TextView字体样式
关于Android TextView修改字体样式使用Typeface只需要三行代码就可以修改TextView的字体样式 Typeface tf3 = Typeface.createFromAsset(getAssets(), "fonts/brockscript.ttf"); // 通过自定义字体生成字体对象 tv.setText("hell
2017-05-17 15:33:35
3017
pdfbox.jar包
2018-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人