Kotlin
系列文章的一个目录,共计 22 篇,主要涉及官方文档的基本语法及 Anko 的使用等。
本系列文档主要根据 Kotlin
官方文档,对基本的语法进行学习,后面会持续更新新的内容…
Kotlin
系列文章的一个目录,共计 22 篇,主要涉及官方文档的基本语法及 Anko 的使用等。
本系列文档主要根据 Kotlin
官方文档,对基本的语法进行学习,后面会持续更新新的内容…
系统通知就是出现在手机通知面板上的消息,点击之后可以触发相应的操作,在接入推送、通知用户下载进度等情况下使用较多,但是通常情况下我们使用的也都是最简单的文字类通知,不过随着 Android
新版本的发布,系统通知也变得样式丰富起来。
本文主要记录 Android
发送系统通知的相关内容,如发送纯文本、进度条、自定义视图、添加按钮、多行文字模式、收件箱模式、大图模式等;适配 Android 7.0
进行通知的分组,避免大量通知占据通知面板;最后封装一个工具类,简化发送各种类型的通知的过程。
下面是我抄的 Anko - GitHub 上面的描述
Anko is a Kotlin library which makes Android application development faster and easier. It makes your code clean and easy to read, and lets you forget about rough edges of the Android SDK for Java.
Anko consists of several parts:
1 | Anko Commons: a lightweight library full of helpers for intents, dialogs, logging and so on; |
协程 Coroutines
,指各任务协作运行;
线程是操作系统层面的,由操作系统调度执行,我们可以开启一个线程,但无法知道线程什么时候执行,什么时候执行完,因此我们通常使用回调的形式在线程执行完之后接受执行的结果,线程的运行是抢占式的,后起的 B 线程可能抢占先起的 A 线程的资源,A 线程会被阻塞,从而造成资源的浪费。
协程是应用层面的,它由虚拟机进行调度,我们可以随意开启和终止协程的运行,协程是非抢占氏的,如果当前协程在运行,除非当前运行的协程主动 退让,挂起,否则其他协程不会抢占运行机会,由于各任务写作运行,就避免了创建大量的线程。
协程本身并不具备线程切换的功能,耗时操作等仍旧需要我们手动切换到子线程执行,但是协程的 API 设计使得我们可以像编写同步代码一样编写异步代码,避免使用回调,逻辑也更清晰。