自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除