240 发简信
IP属地:北京
  • Resize,w 360,h 240
    单元测试框架 Robolectric 原理分析

    温馨提示:阅读本文前最好简单使用过 Robolectric。 Robolectric 是基于 Junit 的单元测试框架,实现了在 JVM 上测...

  • kotlin lambda表达式

    先来看一个概念。 函数式接口:函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口...

  • 高度随内容动态改变的ViewPager

    先看效果图 可以看到ViewPager随内容的高度平滑改变。 实现原理 要实现ViewPager的高度随ItemView而变化,那么在滚动前需要...

    2.5 3919 1 16
  • Invokedynamic

    Invokedynamic指令是java7中加入的字节码指令,理解这条指令可以让我们熟悉程序的执行流程,这篇文章将会介绍invokedynami...

  • kotlin协程系列 二 :异步任务的实现方式

    开发过程中,有时候需要从网络上下载数据,并刷新界面。 fetchUserInfo是比较耗时的操作,会一直阻塞当前线程直到数据返回。 在andro...

  • Resize,w 360,h 240
    kotlin协程系列 一 :对协程的介绍

    作为一名java语言使用者,使用kotlin已经一年有余。私认为kotlin是java语言的装饰者:在大结构上类似java语言,同时增加了许多j...

  • Kotlin Coroutines and Retrofit

    协程(Coroutines)作为kotlin语言的新特性,在写这篇文章时,已经发布了稳定版。所以我们可以放心大胆的应用到我们的项目中去了。 一。...

  • KTX: Say goodbye to findViewById

    android开发中,布局文件一般写在xml文件中。 在java代码中想要获取渲染出来的view对象,一般是在xml中给view设置一个id,然...

  • kotlin @JvmStatic 和 @JvmField

    两个注解都是与java互操作相关。 原代码: 对应的java代码: 可以看到name属性属于AnnotationTest类,并且Annotati...