Java
夏沫1999
这个作者很懒,什么都没留下…
展开
-
Android BottomNavigationView/TabLayout 去除默认涟漪效果
BottomNavigationView:加入app:itemRippleColor="@android:color/transparent"TabLayout加入:app:tabRippleColor="@android:color/transparent"即可原创 2021-12-17 11:25:57 · 2122 阅读 · 0 评论 -
Android String.format %f float/double .0000 多出现小数点
如果使用%1 $f,浮点型,会出现66.0000多追加了几个默认0这时候需要我们给转换下%1$.2f .2f意思是保留小数点两位 如果有C/C++基础的同学应该知道%mf, %.nf, %m.nf,其中m表示输出数据的宽度;n表示输出的实数保留n位小数;C语言写法:控制符 说明 %d 按十进制整型数据的实际长度输出。 %ld 输出长整型数据。 %md m 为指定的输出字段的宽度。如果数据的位数小于 m,则...原创 2021-12-09 17:20:13 · 923 阅读 · 0 评论 -
Android 使用Stringformat优化你的代码吧
在Android开发中,比如我们需要有一个验证码倒计时,很多开发的时候都会这样写int count = 60;textView.setText(""+count);count--;handler.sendxxxx;这样每组合一个数字都会生成一个新的字符串会重新在堆栈开辟空间优化方式:String.format()tvReSendMessage.setText(String.format(context.getResources().getStrin...原创 2021-11-03 11:09:44 · 2141 阅读 · 0 评论 -
设计模式之代理模式、动态代理模式、Cglib代理模式
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法比如现实生活中,大多数的明细都是有经纪人 这个经纪人 就是代理 这个模式也可以称之为代理模式代码:先创建一个接口:public interface IStarPl...原创 2020-11-11 11:23:57 · 286 阅读 · 2 评论 -
浅谈为什么https 是安全的
浅谈为什么https 是安全的http 为什么是不安全的?原理: 在Http请求的时候,比如浏览器,请求报文发给服务器,然后响应报文 会经过很多路由器 节点 网关 转发到服务器,然后服务器响应 转发者:可以篡改,窃听,本质上不能避免被别人看到 http基本上都是明文传输https:加密传输 对称加密,非对称加密 md5等方式 通信对象身份验证 证书机制 证书验证原理:实现方式:TLS:安全层:TransportLayerSecure...原创 2020-11-02 17:58:38 · 296 阅读 · 0 评论 -
Java 8 - 14 新特性和API ---持续更新ing
Java8:默认接口实现:在1.7之前,只要是 interface 声明的,就是一个接口,里面的方法是public 并且不能有方法体的但1.8加入默认的实现,也就是 default有点就是在不改变现有规则的情况家,加入扩展<API>Predicate: 源码://// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decom..原创 2020-05-29 17:34:57 · 469 阅读 · 0 评论 -
深入 Google Android 6.0/7.0/8.0/9.0/10.0/11.0 之权限适配详解
Android的6.0版本,即盛传已久的Android M已经在Google 2015年的 I/O大会上被正式发布。一个在业内已经被热议的议题是:Android M“为工作升级而生”(Android for Work Update)。有业内人士解释道:“Android M将把Android的强大功能拓展至任何你所能看到的工作领域。”根据Android系统以往的惯例,每一代新系统往往会根据其字母...原创 2020-04-21 17:47:56 · 2110 阅读 · 2 评论 -
Java/Android 23种设计模式之单例模式
在Android生态中,各种各样的设计模式总是可以见得到,比如时钟等为什么要有单例模式呢?在Java中,大多数的对象都是通过new 来申请空间,涉及到堆栈,如果频繁的去创建对象,会造成不小的内存开销,再一点就是没一个对象都是单独的,值是不同的,如果在一些业务场景不使用单例,会造成一些意料之外的结果,比如时钟,时间上的管理,比如Retrofit框架一般的封装也会使用单例,Retrofit.g...原创 2020-03-16 16:43:09 · 344 阅读 · 0 评论 -
编程之道 Java复用 抽象 以及设计模式的运用
我们日常开发中,通常一个项目如果不加以优化和性能调优,往往会造成用户体验以及开发上的囊肿,Java 面向对象三大特性 继承 封装 多态,但我们大多数都是只用到前两个,所以导致扩展性差,维护成本高,排查难度加大。 抽象:Android 或者Java中 抽取一个BaseControl、BaseActivity、BaseFragment、把一些特性相同的放入,让其子类可以直接调用、比如常见...原创 2019-12-20 10:57:24 · 433 阅读 · 0 评论 -
C / C++ / Object-c / Java中的数据类型和大小计算和取值范围
早在1972年,贝尔实验室发明了一种新语言,它基于B语言进行扩展开发,名字叫C,也算是一种比较古老的高级语言,常用语做底层算法,物理驱动,等一些领域。C 不同于Java的数据类型,Java的基本数据类型 有如:byte (8Bit)/ short(16Bit) / int(32Bit) long(64Bit) float(32Bit) double(64Bit)C中有 short i...原创 2019-10-04 09:00:05 · 390 阅读 · 0 评论