- 博客(8)
- 收藏
- 关注

原创 使用官方的LiveData 实现消息总线 LiveDataBus
class LiveDataBus private constructor() { private val bus: MutableMap<String, BusMutableLiveData<Any>> private object SingletonHolder { val DATA_BUS = LiveDataBus() } fun <T> with(target: String): BusMutableLive.
2021-10-14 15:03:25
339
原创 Android自定义View--转圈圈
Android自定义View–转圈圈看GIF图说话,用代码实现这个效果先以圆心a 画半径100的圆,在画一个半径150的圆c,以圆c上的点为半径画圆b,每隔5度画一个圆b,之后根据画圆b时的角度在圆b上画一个圆d,当大于180度时画圆的角度要用360度减去当前的度数。首先肯定是测量View的大小了override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { var w = 0 var
2020-05-20 16:28:34
568
原创 面向对象设计原则
面向对象设计就是的优势在于抵御变化。隔离变化:从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。各司其职:从微观层面来看,面向对象的方式更强调个类的“责任”,由于需求变化导致的薪资类型不应该影响原来类型的实现---这就是各负其责而对象封装了代码和数据、是一系列可被使用的公共接口、亦或是某种拥有责任的抽象。1.依赖倒置原则(Dependence Inversion ...
2018-03-09 23:06:28
204
原创 设计模式--单例模式
单例模式概念 单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以 确保系统中一个类只产生一个实例。 好处: 对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级 对象而言,是非常可观的一笔系统开销 由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力, 缩短GC停顿...
2018-03-09 14:40:59
149
原创 Kotlin中的函数和Lambda表达式
函数fun 函数名(参数名:数据类型):Unit{//函数体}fun 函数名(参数名:数据类型):表达式//举例:fun SayHi(name:String){println("hi, $name")}fun SayHi(name:String)=println("hi, $name")Unit相当于Java中的Void,如果有返回值就将Unit换成要返回的数据类型。匿名函数匿名函数与常规函
2017-06-24 16:28:46
616
原创 空类型和智能类型的转换
不可以返回空值fun getName():String{ return "xiaoming"}在String后面加一个问号就可以返回空fun getAddress():String?{ return null}fun main(args: Array<String>) { println(getName().length) var address=getAddre
2017-06-14 23:54:05
264
原创 Kotlin中类和对象初始化
**Kotlin中类和对象初始化** 这里类的构造函数写法上和Java的不同,但用法都是一样的,Kotlin中用constructor()来表示一个类的构造方法,而不是Java中的类名。
2017-06-14 23:43:17
7181
原创 Kotlin中的数据类型
Kotlin中的数据类型Boolean数据类型:多数情况下都是Java中的基本类型boolean,只有在必要情况下才会装箱成装箱类型的Boolean。至于选择什么类型都由编译器来决定,通常不用我们担心。 var falseBoolean:Boolean=false var trueBoolean:Boolean=trueNumber类型 至于选择基本类型还是装箱类型都由编译器来决定,通常
2017-06-13 00:05:29
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人