- 博客(5)
- 收藏
- 关注
原创 Android 8.0完美适配全局dialog 悬浮窗弹出
前言 最近项目targetSdkVersion升级到了26,出现很多问题趟了很多坑,其中就包括本篇的需要解决的问题:全局dialog 不显示。 出现场景 有时候我们需要在App中弹dialog,但是却不知道依附的是哪个Activity,这个时候通常会启动一个service来依附,显示一个全局的dialog。 Android 6.0出现的悬浮窗权限 为什么从6.0说起? 在A...
2018-08-29 15:17:11 4229 1
原创 转向Kotlin——高阶函数与Lambda表达式
在调用高阶函数时使用Lambda表达式,可以使调用语法更加简洁,不过要想使用这种调用方式,就需要深入了解Lambda表达式的用法。 高阶函数 高阶函数是一种特殊的函数:它接受函数作为参数,或者返回一个函数。 先看一个例子: fun shell(name: String): String { print(name) return "中国$name" } // 定义高阶函数 ...
2018-08-21 21:55:17 287
原创 RxJava从入门到不离不弃(四)——过滤操作符
RxJava中的过滤操作符,顾名思义,这类操作符主要用于对事件数据的筛选过滤,只返回满足我们条件的数据。 我们试想一下这样的一个需求,有一个学生集合,要求将其中成绩不及格的学生过滤,返回成绩合格的学生集合,如果平时一般会怎么做呢?可能会这样实现: List<Student> newList = new ArrayList<>(); for (int i = 0; i...
2018-08-21 12:05:16 297
原创 Android单元测试
Android的单元测试有两种方式:本地单元测试和设备单元测试,本地单元测试可以直接运行在本地机器上面的Java Virtual Machine(JVM)。它的特点是运行时间短,执行效率高,但是没有Android framework的支持,每个文件都可以进行单独的单元测试。 而在Android设备上的单元测试,运行的是一个单独的APK,直接运行到虚拟机或者物理Android设备上,这种单元测试拥...
2018-08-14 10:01:44 215
原创 转向Kotlin——对象
由于Kotlin中没有静态成员的概念,因此Kotlin推出了一个有趣的语法糖:对象。那么对象能取代静态类成员吗?该怎么做呢?下面会详细介绍到。 对象表达式 在Java中又匿名类的概念,也就是说,在创建类的时候,无需指定类的名字。匿名类一般用于方法参数。基本理念就是方法需要接收一个类或者接口的实例,而这个实例只是在该方法中使用,没有必要单独再定义一个类,或者创建一个对象变量。因此,就在传入方法参...
2018-08-04 18:00:54 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人