有读者在问我是否会写和设计模式相关的面试题,我想了很久都不知道怎么下笔。关于设计模式,我并没有刻意去用,有时候用了,也不会去计较刚刚用的是什么模式。这样再去面试别人就有些困难...
前言 如果有人问我:“你了解Java线程池吗”,我不打算回答Java中常用的几种线程池,也记不住。从线程池的上层API来看,再多种的线程池,无非是参数的不同,让它们呈现出了不...
1.hashCode介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个散列码的作用是确定该对象在散列表中的索引位置,如果有看我的...
RxJava与Retrofit 在出现LiveData之前,Android上实现网络请求最常用的方式是使用Retrofit+Rxjava。通常是RxJavaCallAdapt...
一、需求描述 写这篇文章,也是缘于运营的一个需求:在 App 运营过程中,会有大量的推广短信,里面附有链接,目的是引导用户参与活动。如果用户手机没有安装我们的 App 就引导...
个人主页:http://shiyiliang.cn 今天主要来学习Retrofit的文件和参数的上传,如果你不是很了解上传的原理,你可以看下文件上传原理,先了解下文件上传的基...
MIUI的坑爹设计还真不少。比如说,MIUI手机不插SIM卡就不能USB调试安装应用,好,插,结果又让你先登录小米账号(无话可说)。MIUI权限申请也是坑! 就拿READ_S...
原文链接 Kotlin的一些标准函数非常相似,我们不确定使用哪个函数。在这里我将介绍一个简单的方法来清楚地区分他们的差异和如何选择使用。 范围函数 我重点关注run, wit...
ViewModel 是 Android 架构组件之一,用于分离 UI 逻辑与 UI 数据。在发生 Configuration Changes 时,它不会被销毁。在界面重建后,...
概述 现在使用Proguard进行混淆的代码,也很容易被破解,所以就出现了加固工具,让反编译的难度更大。但是有了加固技术,就会有反加固技术,正所谓道高一尺魔高一丈。 经过加固...
第一种: 在 macOS Sierra及以上(Mojave),我们可以使用快捷键 ⌘⇧.(Command + Shift + .) 来快速(在 Finder 中)显示和隐藏隐...
Android中,在自定义View中通过Canvas绘制文字时,经常需要测量文字的宽度和高度。这里记录下几种比较常用的方法,仅作备忘。 1.Paint.measureText...