Kotlin-Note】的更多相关文章

前言 Kotlin Note 是我学习kotlin整理笔记向博客,文章中的例子参考了kotlin in action这本书籍,同时我也极力推荐这本书,拥有Java基础的人可以很快的就使用kotlin来完善自己的编程技巧. 不过我不想让博客变成简单的复制粘贴笔记,因此对内容进行了精简,同时增加了与Java的对比和转换,一些详细内容不会整理出来,详细的内容我觉得查阅api和翻书就可以了. 基础预备知识 博客中的例子需要一些简单的基础知识包括如下 Java8基础 Java8中函数式编程的一些基本知识,…
网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2.   基本概念 2.1.  基本类型 从可以在任何变量处理调用成员函数和属性角度来说,在Kotlin开发语言中,一切都是对象.有些类型是内嵌的,它们的实现进行过优化,用户看到的仍是原始类.在这节中,我们说明大部分这些类型:数字,字符,布尔和数组. 2.1.1.   数字 Kotlin开发语言处理数组的方法类似Java开发语言,但是也有差别.例如,没有隐含的数字扩宽的转换,并…
浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 今日新闻:谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言. Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性. 谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会. 一.简介:    Kotlin 是一个基于 JVM 的新的编…
buildscript { ext.kotlin_version = '1.2.41' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your appl…
    Kotlin 和 java 都是一种静态类型的编程语言.表达式的类型在编译期已经确定,编译期能验证对象是否包含想访问方法或是字段,维护正确性与性能的同时保持源代码的简洁       静态类型的优点: 性能——方法调用速度更快,因为不需要在运行时才来判断调用的哪个方法 可靠性——编译器验证了程序的正确性,因而运行时崩溃的概率更低 可维护性——抹身代码更容易维护,因为你可以看到代码中用到的对象的类型 工具支持——静态类型使IDE能提供可靠的重构,精确的代码补全特性       ps:动态类型…
1.Kotlin介绍 [Kotlin](https://kotlinlang.org/) Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者.Java是世界上使用最多的编程语言之中的一个,当其它编程语言为更加便于开发人员使用而不断进化时,Java并没有像预期那样及时跟进. Java缺失的非常多特性在最新的修订版中逐渐覆盖到了,但Android开发人员临时还没能够使用它们.这就使得相似Kotlin这种语言有了用武之地了:在旧的开发环境中使用现代语言的…
常量 val a: Int = 5 变量 var a: Int = 5 Any:匹配任何类型 ?:nullable,比如 a?.toString,如果 a 为 null 不会出错. 函数基本结构 fun copyAddress(address: Address): Address { val result = Address() // there's no 'new' keyword in Kotlin result.name = address.name // accessors are ca…
most from reference if表达式 在kotlin中,if是一个表达式,即它返回一个值.kotlin中没有Java中的三元运算符. // Traditional usage var max = a if (a < b) max = b // With else var max: Int if (a > b) { max = a } else { max = b } // As expression val max = if (a > b) a else b 如果分支是一个…
 Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者.Java是世界上使用最多的编程语言之一,当其他编程语言为更加便于开发者使用而不断进化时,Java并没有像预期那样及时跟进.     Kotlin是由JetBrains创建的基于JVM的编程语言,IntelliJ正是JetBrains的杰作,而Android Studio是基于IntelliJ修改而来的.Kotlin是一门包含很多函数式编程思想的面向对象编程语言. Kotlin生来就是为了弥补Ja…
这是 Kotlin 练习的的第二篇.这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关. 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编码流程很简单.所以就想写篇博客记录备忘一下.本来是用 Java 实现的,后来想到最近自己也在熟悉 Kotlin,于是索性就改成 Kotlin 来实现了. 但是,我一起认为编程最重要的是编程思想,不管 Java 也好,Kotlin 也好,都是为了实现功能的.而本文的主要目的是介绍在 Android 如…
一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositories ... -> 输入Kotlin -> 安装Kotlin (老版本需要安装 Kotlin 和Kotlin Extensions For Android两个插件, 最新版本的Kotlin插件包含了Android Extensions, 因此不需要再安装Kotlin Extensions For A…
怎么在Android Studio中使用Kotlin? 1.使用Android Studio的插件 2.将Android Studio升级到3.0版本:目前不推荐,因为3.0的版本目前还是Dev Channel渠道,也就是开发渠道,还没正式发布 所以,今天我们就讲讲如何使用第1种方式来创建第一个Kotlin项目: 插件安装: 1.进入Plugins\Install JetBrains plugins中,搜索Kotlin后安装 2.正常创建一个Android 项目(平时怎么创建的现在还是怎么创建)…
ButterKnife在之前的Android开发中还是比较热门的工具,帮助Android开发者减少代码编写,而且看起来更加的舒适,于是简单实现一下ButterKnife,相信把下面的代码都搞懂,看ButterKnife的难度就小很多. 今天实现的是编译时注解,其实运行时注解也一样能实现ButterKnife的效果,但是相对于编译时注解,运行时注解会更耗性能一些,主要是由于运行时注解大量使用反射. 一.创建java library(lib_annotations) 我这里创建3个annotatio…
Coroutines在Android中的实践 前面两篇文章讲了协程的基础知识和协程的通信. 见: Kotlin Coroutines不复杂, 我来帮你理一理 Kotlin协程通信机制: Channel 举的例子可能离实际的应用代码比较遥远. 这篇我们就从Android应用的角度, 看看实践中都有哪些地方可以用到协程. Coroutines的用途 Coroutines在Android中可以帮我们做什么: 取代callbacks, 简化代码, 改善可读性. 保证Main safety. 结构化管理和…
//implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" Ask Question Asked 10 months ago Active 2 months ago Viewed 19k times 53 12 I've created…
1.委托是什么? 1.1 官网示例 在每个变量委托的实现的背后,Kotlin 编译器都会生成辅助对象并委托给它. 假设委托如下, class C { var prop: Type by MyDelegate() } 那么编译器生成的相应代码如下: class C { private val prop$delegate = MyDelegate() var prop: Type get() = prop$delegate.getValue(this, this::prop) set(value:…
Kotlin Android项目静态检查工具的使用 Kotlin Android项目可用的静态检查工具: Android官方的Lint, 第三方的ktlint和detekt. 静态检查工具 静态检查工具, 指不需要运行代码, 对代码进行检查的工具. 不止代码风格, 还可以检查代码的正确性, 是否有安全问题, 是否有性能问题等. 静态检查工具一般都具备可扩展性, 方便使用者制定和添加自己的规则. 比较流行的Java静态检查工具有CheckStyle, FindBugs, PMD等. Android…
https://www.jianshu.com/p/9220227cdfb3 buildscript { ext.kotlin_version = '1.2.71' repositories { google() jcenter() } dependencies { //classpath 'com.android.tools.build:gradle:3.1.0-alpha09' classpath 'com.android.tools.build:gradle:3.2.1' classpat…
@font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJT…
Kotlin Flows 本文包含的内容: Flow是什么, 基本概念和用法. Flow的不同类型, StateFlow和SharedFlow比较. Flow在Android中的使用 安全收集. 操作符stateIn, shareIn的用法和区别. 本文被收录在集合中: https://github.com/mengdd/KotlinTutorials Coroutines Flow Basics Flow是什么 Flow可以按顺序发送多个值, 概念上是一个数据流, 发射的值必须是同一个类型.…
作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式函数,所以它是Kotlin和任何其他现代开发语言的最强工具之一. 在Java6中,我们仅能下面方法这样做:通过用单一方法声明接口,并用匿名对象实现那些接口. Lambda表达式特别是在Kotlin中能定义的方式,为我们开启无线可能的世界.在接下来的内容中,我们将了解这些用法. Kotlin的Lamb…
三星Note 7发售两个月即成为全球噩梦,从首炸到传言停产仅仅47天.所谓"屋漏偏逢连天雨",相比华为.小米等品牌对其全球市场的挤压.侵蚀,Galaxy Note 7爆炸事件这场连天雨算是把三星淋了个措手不及,致其声誉扫地.危机重重. 表面看来,此事件源于电池自燃,深究起来可以追溯到管理层变动带来的组织管理问题,再深究,业务流程管理系统可能是最基础和最关键的因素. 高层变动,赶超苹果埋祸端 2014年5月,三星老掌柜李健熙重病入院,儿子李在镕与元老崔志成(G.S.Choi)共掌时局.同…
作者:Antonio Leiva 时间:Dec 27, 2016 原文链接:https://antonioleiva.com/custom-views-android-kotlin/ 在我们阅读有关class文章时,你可能记得通常情况下仅用一个构造函数.这对于要创建定制视图就是一个问题. Android框架希望有多个构造函数对应不同的创建视图位置和创建视图方法(通过代码.使用XML,设置主题,等等),这样我们就不能忽略这种情况. 为此,Kotlin团队提供了同一个类中有多个构造函数的能力,就如同…
作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Kotlin语言不仅仅简化你的代码,而且也可以简化从Kotlin调用Java代码. 这是怎样工作的?简单地使用一些通用结构就可以得到Kotlin的感觉. 在这篇文章中,你将看到一些例子,它是怎样提升相同代码.它也预防Java代码包含模板部分. Kotlin与Android SDK 集成 如Android…
作者:Antonio Leiva 时间:Dec 12, 2016 原文链接:http://antonioleiva.com/kotlin-android-extensions/ 你也许已厌倦日复一日使用findViewById编写Android视图.或是你可能放弃它转而使用著名的Butterknife库.那么你将会喜爱Kotlin的Android扩展. Kotlin的Android扩展 Kotlin的Android扩展是Kotlin插件的正规插件之一,它无缝覆盖Activities的视图,Fra…
作者:Antonio Leiva 时间:Dec 7, 2016 原文链接:http://antonioleiva.com/classes-kotlin/ Kotlin类尽可能简单,这样用较少的代码完成更多的逻辑. 我将快速展示怎样开始编写Kotlin类,它不同于Java类. 1.类声明 class Person 只需用保留字class 加 类名.如果类里没有代码,大括号"{}"都不需要. 说明:是否看见它没有用public修饰符吗?这是因为在Kotlin中所有都时默认为public.…
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 2016 原文链接:http://antonioleiva.com/variables-kotlin/ Kotlin系列课程的第二课:Kotlin中变量不同于Java: var 对val. 在这第二章节中,我们将了解Kotlin中变量是怎样工作的,什么是val和var,什么时间使用它们. 我从这开始,是因…
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:http://antonioleiva.com/create-first-android-project-kotlin/ 原文作者,开始Kotlin系列课程的第一课:用Kotlin创建第一个Android项目. 今天,我开始一组30篇针对Android开发者的Kotlin语言的论文(KAD).在这系列…
作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支持库24(the Support Library 24)]中包括一个新的.适用.方便的类:DiffUtil,这使你摆脱对单元改变和更新它们的无聊和易出错. 如果你还不了解它,可以阅读Nicola Despotoski的这篇好文章了解它.这篇文章解释怎样容易处理它. 实际上,Java语言引入许多模板,…
春节后,又重新“开张”.各位高手请继续支持.谢谢! 原文标题:Kotlin recipes for Android (I): OnGlobalLayoutListener 原文链接:http://antonioleiva.com/kotlin-ongloballayoutlistener/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2016-03-16 ­ Android的Kotlin秘方(I):OnGlobalLayoutL…