kotlin
Flying Rookie
心有猛虎,细嗅蔷薇
展开
-
Android中NFC相关技术(二)
前言上一篇主要介绍了安卓NFC相关的基础知识,这节主要来看看项目中使用到的知识支持的标签技术Android 通过 android.nfc.tech 软件包对这些用例提供一般性支持,如表 1所述。您可以使用 getTechList() 方法确定标签支持的技术,还可以使用 android.nfc.tech 提供的一个类来创建相应的 TagTechnology 对象。表 1. 支持的标签技术类说明TagTechnology这是所有标签技术类都必须实现的接口。NfcA提供对原创 2020-08-03 17:19:49 · 691 阅读 · 0 评论 -
Android中NFC相关技术(一)
NFC是Near Field Communication(近场通信)的简称。是一种新兴的技术,使用了NFC技术的设备(例如移动电话)可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)及互连互通技术整合演变而来的,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、电子票务、门禁、移动身份识别、防伪等应用。支持 NFC 的 Android 设备同时支持以下三种主要操作模式:读取器/写入器模式:支持 NFC 设备读取和/或写入被动 NFC 标签和贴纸原创 2020-08-03 17:17:12 · 950 阅读 · 0 评论 -
kotlin特性自定义DialogFragment
title: kotlin特性自定义DialogFragmentdate: 2020-06-19 15:59:27tags: [kotlin,安卓]介绍DSL(domain specific language),即领域专用语言:专门解决某一特定问题的计算机语言,比如大家耳熟能详的 SQL 和正则表达式。今天,我展示如何实现某种类型的DSL,我们将在Kotlin中包装一个现有的Java Builder。在java中我们经常会用到构建者模式,例如,如果您是Android开发人员,您一定使用了Alert.原创 2020-06-19 16:17:13 · 1862 阅读 · 0 评论 -
android新的网络状态NetworkUti
在Android中compileSdkVersion为29时,NetworkInfo被标记为deprecated。现在根据Network来判断/** * @Author: kanghanbin * @Description: NetworkUtil判断网络状态是否可用 * @CreateDate: 2020/4/27 14:16 */val Context.isNetWorkAvailable: Boolean get() { val con原创 2020-06-18 10:57:11 · 410 阅读 · 0 评论 -
Kotlin中带参的单例模式
在Kotlin中,单例模式被用于替换该编程语言中不存在的static成员和字段。 你通过简单地声明object以创建一个单例:object SomeSingleton与 class 不同,object不允许有任何构造函数,如果有需要,可以通过使用init代码块进行初始化的行为:object SomeSingleton { init { println(...原创 2019-11-29 15:18:54 · 3618 阅读 · 1 评论 -
Kotlin关键字Reified在安卓开发中的用法
前言Reified使(抽象的东西)更具体或更真实。 Kotlin中的这个关键字使Kotlin成为用于Android开发的更好的语言。 共有3个明显的优点,如下所示。1.不再需要传参数clazz这也是大多数文章中最可能描述的一个比较明显的优点,这里也提及一下。如果希望具有一个用于启动activity的扩展函数,则必须有一个作为Class传入的参数。// Functionpriva...原创 2019-11-28 16:35:53 · 833 阅读 · 0 评论 -
lateinit 和 by lazy 的比较
前言Kotlin 基于 Java 的空指针提出了一个空安全的概念,即每个属性默认不可为null。 在某个类中,如果某些成员变量没办法在一开始就初始化,并且又不想使用可空类型(也就是带?的类型)。那么,可以使用lateinit或者by lazy来修饰它。lateinit被lateinit修饰的变量,并不是不用初始化,它需要在生命周期流程中进行获取或者初始化。lazy而 lazy(...原创 2019-11-14 11:23:04 · 2205 阅读 · 1 评论 -
Lambda 表达式
简介Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。1.Java 8 的 Lambda在 Java 8 之前我们使用 Thread 可能是这样的: new Thr...原创 2019-11-12 15:51:02 · 159 阅读 · 0 评论 -
kotlin中的嵌套类和内部类和枚举类
嵌套类(Nested Class)Kotlin 的嵌套类是指定义在某一个类内部的类,嵌套类不能够访问外部类的成员。除非嵌套类变成内部类。class Outter1 { val str:String = "this property is from outter1 class" class Nested { fun foo() = println(""...原创 2019-11-12 10:41:34 · 181 阅读 · 0 评论 -
搞清kotlin中的inline、noinline和crossinline
Kotlin 使用高阶函数也会带来一些隐性地成本:产生函数对象实例、造成方法数量的增加、产生函数的调用等等。在 Kotlin 中使用内联函数时,有时结合这几个关键字可提高程序性能。概览inline: 声明在编译时,将函数的代码拷贝到调用的地方(内联) noinline: 声明inline函数的形参中,不希望内联的lambda crossinline: 表明inline函数...原创 2019-11-07 17:56:58 · 978 阅读 · 2 评论 -
在Android中使用Kotlin Coroutines
What are Coroutines?拆开Coroutines 这个单词来看 Coroutines = Co + Routines 在这里,Co意味着合作,而Routines意味着功能。这意味着当函数相互合作时,我们将其称为协同程序Introduction可以将coroutine视为轻量级线程。与线程一样,协同程序可以并行运行,彼此等待并进行通信。协同程序的最大优点是非常便宜,几乎...原创 2019-06-28 14:49:09 · 4332 阅读 · 0 评论 -
带你初识kotlin(五)
介绍集合是大多数编程语言的常见概念通常包含相同类型的一些(数目也可以为零)对象。集合中的对象称为元素或条目。集合类型Kotlin标准库提供了基本集合类型的实现:集合,列表和映射。 一对接口代表每种集合类型:Aread-onlyinterface that provides operations for accessing collection elements. Amuta...原创 2019-06-04 13:56:15 · 367 阅读 · 0 评论 -
带你初识kotlin(四)
头等函数头等函数(first-class function)是指在程序设计语言中,函数被当作头等公民。这意味着,函数可以作为别的函数的参数、函数的返回值,赋值给变量或存储在数据结构中。 Kotlin 函数都是头等的,这意味着它们可以存储在变量与数据结构中、作为参数传递给其他高阶函数以及从其他高阶函数返回。可以像操作任何其他非函数值一样操作函数。高阶函数高阶函数是将函数用作参数或返回值的...原创 2019-05-31 17:08:58 · 178 阅读 · 0 评论 -
kotlin学习笔记
属性委托属性委托在单独一页中讲:属性委托。由委托实现委托模式已经证明是实现继承的一个很好的替代方式, 而 Kotlin 可以零样板代码地原生支持它。Derived类可以通过将其所有公有成员都委托给指定对象来实现一个接口Base:interface Base { fun print()}class BaseImpl(val x: Int) : Base { ...原创 2019-05-06 23:41:48 · 116 阅读 · 0 评论 -
带你初识Kotlin(三)
前言用kotlin开发android应用,各种新鲜的语法糖层出不穷,真tm香,这篇博文主要记录一些需要重点注意的地方。记录点1.xxx调用了getXxx()/setXxx方法toolbar = findViewById(R.id.toolbar)setSupportActionBar(toolbar)val actionBar = supportActionBar...原创 2019-04-17 12:30:26 · 253 阅读 · 0 评论 -
带你初识Kotlin(二)
上一节简单认识了下kotlin的基本类型和常用流程控制,这节继续学习一、Kotlin变量声明首先,kotlin变量的声明必须使用关键字var或valvar: 用此关键字声明的变量表示可变变量,即可读且可写。相当于Java中普通变量 val: 用此关键字声明的变量表示不可变变量,即可读且不可写。相当于Java中用final修饰的变量1.1基础用法:关键字 变量名:数据类型 =...原创 2019-03-07 14:21:19 · 149 阅读 · 0 评论 -
带你初识Kotlin(一)
What isKotlin?Kotlin是JVM和Android的实用编程语言,结合了OO和功能特性,专注于互操作性,安全性,清晰度和工具支持。本文记录自己学习kotlin认为需要记录的重点,如果需要详细学习,请点击Kotlin中文文档学习。基本类型在 Kotlin 中,所有变量的成员方法和属性都是一个对象。一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样...原创 2019-03-07 14:19:46 · 194 阅读 · 0 评论