简评:在 Kotlin 中使用泛型你会注意到其中引入了 in 和 out,对于不熟悉的开发者来说可能有点难以理解。从形式上讲,这是一种定义逆变和协变的方式,这篇文章就来讲讲怎...

简评:在 Kotlin 中使用泛型你会注意到其中引入了 in 和 out,对于不熟悉的开发者来说可能有点难以理解。从形式上讲,这是一种定义逆变和协变的方式,这篇文章就来讲讲怎...
什么是协程? 官方描述:协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关...
本文主要介绍协程的用法, 以及使用协程能带来什么好处. 另外, 也会粗略提一下协程的大致原理.本文的意义可能仅仅是让你了解一下协程, 并愿意开始使用它.如果想彻底理解协程, ...
背景 我们知道,在Android开发中,官方提供了很多模板,可以直接创建成套的代码,很是方便开发 这种代码模板其实不是什么新鲜的技术,Google其实就是把Freemarke...
查看android设备的IP地址,这里有三种方式查看Android设备IP 设置-关于手机-状态信息-IP地址中查看 设置-WLAN-点击当前链接上的Wi-Fi查看IP例如:...
Room是一个对象关系映射(ORM)库。Room抽象了SQLite的使用,可以在充分利用SQLite的同时访问流畅的数据库。 Room官方文档介绍 https:/...
我们假设计算机运行一行基础代码需要执行一次运算。 那么上面这个方法需要执行 2 次运算 这个方法需要 (n + 1 + n + 1) = 2n + 2 次运算。 我们把 算...
ListView 和 RecyclerView 的复用机制还是有很大的差异, ListView 的复用是两级缓存的,而 RecyclerView 是四级缓存,在这里参考了腾讯...
内容复制自 Android ContentProvider 完全解析及DEMO(最具说服力),在此致谢! 面试题:多个进程同时调用一个 ContentProvider 的 q...