Kotlin中国 为您找到相关结果 20

Kotlin最简单的入门教程——委托

委托 我感觉委托还是比较重要的,所以还是要看一下,不然后面用到都不知道是什么 1 类委托 委托模式已经证明是实现继承的一个很好的替代方式, 而 Kotlin 可以零样板代码地原生支持它。 类 Derived 可以继承一个接口 Base,并将其所有共有的方法委托给一个指定的对象: interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base by b fun main(args: Array) { val b = BaseImpl(10) Derived(b).print() ...阅读全文

博文 2017-06-07 18:02:17 next_discover

带你全方位使用Anko库-下篇

本文接上篇,继续带大家全方位的熟悉anko库的使用。本文主要介绍的是anko库的另外两个子库,anko-coroutines和anko-sqlite库。 anko-coroutines的使用要想使用该库,必须要对协程(coroutines)的概念有一定的理解。协程对于java来说是个全新概念,但对于其它语言如c#来说,也是个发展相对成熟的一种技术。目前协程的设计还处于实验过程中,未来kotlin版本中它可能会发生一些变化,而且协程包目前位于kotlin.coroutines.experimental包下。本文主要描述的是anko库的使用,所以对于协程的介绍请移步这里: 深入理解 Kotlin Coroutine(一) 深入理解 Kotlin Coroutine(二) anko库对corout...阅读全文

博文 2017-06-07 20:02:10 CysionLiu

带你全方位使用Anko库-上篇

kotlin的伴生库-anko迭代了已经多个版本了,但是目前网上的资源主要集中在官方说明的机械翻译或者旧博客的复制/粘贴上。 本文带大家全方位的熟悉anko库的使用。anko库目前主要有四个核心库 anko-commons库,一些通用功能,集成方式:dependencies { //anko_version脚本配置,下同,本文中,该值为0.10.0 compile "org.jetbrains.anko:anko-commons:$anko_version" } anko-layout库,牛逼的dsl(领域特定语言)功能,布局的另一种代码方式,相对比较简洁,xml的简易替代。集成方式: dependencies { // Anko Layouts compile "org.jetbrains...阅读全文

博文 2017-06-04 00:24:47 CysionLiu

实现Android的不同精度的定位(基于网络和GPS)

在本文中,我会分别讲述如何开启位置服务的监听,如何停止监听,如何获得不同精度的定位,以及如何判断定位是否更精确。 Android中的定位服务的相关类基本上都在android.location包中,下面会按编写的顺序依次讲解。 1.获取位置服务管理器LocationManager //变量定义 private LocationManager locationManager; //onCreate()方法中得到LocationManager locationManager = (LocationManager) this .getSystemService(Context.LOCATION_SERVICE) 2.开启位置服务的监听 有了LocationManager之后,我们就可以开始监听位置的...阅读全文

博文 2017-06-15 10:30:57 jdfkldjlkjdl

【自用】Kotlin 简单的多个计时器实现,ScheduledExecutorService

scheduleWithFixedDelay(command: Runnable, initialDelay: Long, delay: Long, unit: TimeUnit) 创建并执行一个在给定初始延迟后首次启用的定期操作; 随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。 如果任务的任一执行遇到异常,就会取消后续执行。 否则,只能通过执行程序的取消或终止方法来终止该任务。 参数: command - 要执行的任务 initialDelay - 首次执行的延迟时间 delay - 循环执行的延迟时间 unit - initialDelay 和 delay 的时间单位 TimeUnit 为时间的单位 TimeUnit.MILLISECONDS //以毫秒为单位 TimeUn...阅读全文

博文 2017-06-09 11:01:30 Kilosnow

Android鬼点子-使用Kotlin编写的颜色选择器

截图     正式入坑Kotlin,今后的自定义View不出意外都将会使用Kotlin实现,这次的demo放到了Github上哟,链接看文末。     这个颜色选择器分为3个部分,最外层白-中间选中色-黑,中层 红绿蓝渐变,中心显示选中颜色。     中间的红绿蓝渐变使用的6钟颜色渐变完成: mSweepGradient = SweepGradient((width / 2).toFloat(), (width / 2).toFloat(), intArrayOf(0xffff0000.toInt(), 0xffffff00.toInt(), 0xff00ff00.toInt(), 0xff00ffff.toInt(), 0xff0000ff.toInt(), 0xffff00ff.toIn...阅读全文

博文 2017-06-08 15:02:16 Greenda米

Kotlin笔记 类型检查和转型

is and !is 操作符 is和!is可以用来检查一个实例是否属于一种类型 if (obj is String) { print(obj.length) } if (obj !is String) { // same as !(obj is String) print("Not a String") } else { print(obj.length) } Kotlin里经过is检查的变量不用显示的转型(自动转换) fun demo(x: Any) { if (x is String) { print(x.length) // x is automatically cast to String } } 或者 if (x !is String) return print(x.length)...阅读全文

博文 2017-05-27 15:25:58 yangweigbh

时隔一年了,再次启用简书

面临年纪渐长,脑子不够用了,在学习Openstack这个庞大纷杂的体系,急需一个可以整理思路,记录学习心得的地方。 有鉴于此,再次启用简书,记录云化之路的点点滴滴。 Markdown 编辑器语法指南,摘自 https://segmentfault.com/markdown,慢慢整理消化。 基本技巧 代码 如果你只想高亮语句中的某个函数名或关键字,可以使用 function_name() 实现 通常编辑器根据代码片段适配合适的高亮方法,但你也可以用 ``` 包裹一段代码,并指定一种语言 $(document).ready(function () { alert('hello world'); }); 支持的语言:1c, abnf, accesslog, actionscript, ada, a...阅读全文

博文 2017-06-08 00:02:07 CaiQingChong

从零开始的Kotlin之类和对象(二)

从零开始系列: 从零开始的Kotlin之类和对象(一) 从零开始的Kotlin之类和对象(二) 属性(Property)和域(Field) Kotlin中声明一个属性可以使用val或var关键字。var表示为可变属性,val表示为只读属性。 class Test { val x = 0; var y = 1.0f } 自定义的 Getter && Setter var name: String get() = name set(value) { "The name is $name" } 编译期常数值 如果属性值载编译期间就能确定,则可以使用const修饰符,将属性标记为编译器常数值,这类属性必须满足以下所有条件: 必须是顶级属性,或者是一个object的成员 值被初始化为String类型,...阅读全文

Kotlin学习日记^二

本来是想按部就班的 基本数据类型 类 对象 函数...这样一个路线学习,想想多无趣呀,于是决定以一个一个的小项目来学习. 电话拨号器 知识点 1. Kotlin变量:变量分可变的和不可变的 var 可变变量 val 不可变变量 2. Kotlin中控件,不用findviewbyid,拿到ID直接用 输入框获取输入文本 val phone = editText.text 按钮设置点击事件 button.setOnClickListener {} 3. Kotlin中的try catch写法 try {...} catch (e: Exception) {...} 4.权限申请代码暂不需要掌握 核心代码如下 val phone = editText.text button.setOnClickL...阅读全文

博文 2017-05-27 15:22:18 東方月初

Kotlin 学习笔记 —— 开始 Hello World

一、搭建开发环境 搭建 kotlin 开发环境可以使用命令行模式,也可以使用 IDE 工具。这里为了方便,我们直接使用 IDE 进行开发。 二、创建项目 我们使用 IntelliJ IDEA 进行代码的编写。首先要安装 IntelliJ IDEA 编辑工具。点击下载安装好 IDE 后,开始创建项目。 image.png 这里我们选择 Gradle 方式构建项目。勾选上右边的 Java 和 Kotlin(Java)。如果没有 Kotlin(Java) 则需要下载 Kotlin 插件。 image.png 接着,我们点击 Next 进行下一步。 image.png 这里我们填写 GroupId 和 ArttifactId 。继续 Next 。 image.png 继续 Next 。 image....阅读全文

博文 2017-06-18 14:02:13 愁容

让你的代码减少三倍!使用kotlin开发Android(五) 监听器

本文同步自 博主的私人博客wing的地方酒馆 在前面的博客中,有一个栗子,是点击按钮转跳的监听器。 button.setOnClickListener { val user = User("name") user.id = "100" SecondActivity.startActivity(this,user) } 可以看到,不用再new一个OnClickListener了。实际上这种写法是lambda的一种简略模式,通常情况下匿名内部类可以以如下表现形式展示: button.setOnClickListener { view-> toast(view.id.toString()) } 简单来说就是->左边为参数,右面为结果。其过程相当于 button.setOnClickListener...阅读全文

博文 2017-05-22 18:40:58 wingichoy

在Eclipse环境下安装Kotlin插件

随着Google公司宣布将使用Kotlin语言作为Android开发语言,一时间使这种语言受到全世界软件开发者的追捧,在学习了一段时间的Kotlin之后,觉得这种语言相比于Java来说,是比较简化,而且还安全。相信随着Google的推广,这种语言会越来越普遍,作为处在不断学习的这个时代,Kotlin也是必须会掌握的。 平时写Java都是使用Eclipse或者notepad++来写,那现在要学Kotlin是不是还要再装一个编辑器。毕竟Kotlin还没有大面积的普及,Java仍然是现在的大的主流。可喜的在Eclipse中就可以安装Kotlin插件,非常方便。 一、安装插件 1.打开Eclipse后,帮助—>Eclipse Marketplace 2.在Search选项卡下的“查找”选项里输入Ko...阅读全文

博文 2017-05-23 11:43:22 Perfect_Accepted

快速上手Kotlin

今天是新年上班的第一个周末,很多春节的想法想用文字表达出来,却总是感觉词穷墨尽,无法用语言准备地表达我的想法。我想,大约是迷失了太久,连温情的文字都抛弃了我。新的一年,我会用100%的热情去爱你,希望你不要离我远去... 鉴于这样的一种状态,我想依然用一篇技术文章,开始新年的第一篇简书。好了,Let's get started。 学习Kotlin语言的大部分程序员都是从Java阵营转过来的。因此,从Java思想转换到Kotlin是学习Kotlin语言至关重要的一步。这篇文章将介绍从Java语言转换到Kotlin语言几个不一样的地方,让你在Kotlin语言开发中,更加轻车熟路! Static (静态变量,方法) 这大约是从Java语言转换到Kotlin语言遇到的第一个难题,Kotlin语言中没...阅读全文

博文 2017-05-27 15:04:53 欧阳锋

Kotlin教程 - 收藏集 - 掘金

爽翻天!告别Java。一起来使用kotlin开发完整客户端 - 掘金 必须写在前面:从Java转向Kotlin,只需要几天时间! 有人担心编译时间问题,这里给出一个链接Kotlin VS Java:编译速度大比拼 同步自wing的地方酒馆本篇是kotlin开发Android系列教程的最后一篇。前面几篇介绍了kotlin的基本语法... 让你的代码减少三倍!使用kotlin开发Android(五) 缩短N倍的监听器 - 掘金 本文同步自 博主的私人博客wing的地方酒馆 在前面的博客中,有一个栗子,是点击按钮转跳的监听器。 button.setOnClickListener { val user = User("name") user.id = "100"... 让你的代码量减少3倍!使用ko...阅读全文

博文 2017-05-27 15:11:14 掘金官方

我与 Kotlin 的爱恨情仇之浅谈 reified

Goal: support run-time access to types passed to functions, as if they were reified (currently limited to inline functions only). Sorry, 我并没有找到更多关于 reified 的相关文档信息啦,其中有两篇文档 《reified-type-parameters》 以及 《reference/inline-functions》, 您可以参考。 100% interoperable with Java™ and Android™ 这句话你可别真信了的!看完这篇文章你就知道了的。 reified 是什么? 这个单词,也是起的有点犀利,reified 翻译一下就是: ...阅读全文

Kotlin起步

使用IntelliJ IDEA编写Kotlin 选择Kotlin工程 Kotlin-IntelliJ-1.png 选择项目目录 Kotlin-IntelliJ-2.png 创建一个Kotlin文件 Kotlin-IntelliJ-3.png Hello World! Kotlin-IntelliJ-4.png Run! Kotlin-IntelliJ-5.png Output Kotlin-IntelliJ-6.png 参考网站 kotlinlang官网Kotlin在线体验编辑...阅读全文

博文 2017-05-27 15:21:15 疯长的胡茬

用Kotlin仿写解释器

动机 话说我已经忘了什么时候看的这篇博文了,但是从那以后确实就入坑了(说不清是什么坑),感谢王垠http://www.yinwang.org/blog-cn/2012/08/01/interpreter/ 关于Kotlin 简单的说就是Java的改良版。更多特性,填了很多坑,代码还更精简。十分看好。关键是函数是第一公民啊 :D这货也经常被形容为Android世界的Swift,可以看看后面的代码,是有点像。丢个官网大家自己去看吧,还能在线试用 :D这货是jetbrains开发出来的。和intellij兼容无限好。简直不要更爽,十分看好它的潜力。(开脑洞的话,2年以内Kotlin爆炸式增长,Google收购JetBrains,Kotlin一统网页+安卓开发 (想多了))http://www.ko...阅读全文

博文 2017-05-27 15:21:46 thehgz

Kotlin for Android之环境配置与Hello World

新建项目 环境:win10+Android Studio 3.0 像平时一样新建一个hello world项目,新建完之后,找到MainActivity,选择code->convert java file to kotlin file,如图: 图1 打开MainActivity,之后如图: 图2 之后在编辑器的右上角出现“configure”,如下图: 图3 之后出现,kotlin compiler的版本选择,目前版本为1.1.2-4 图4 之后sync now一下。 打开我们的app module的build.gradle文件。添加 apply plugin: 'kotlin-android-extensions' 如图: 图5 之后sync now.。 之后给布局文件的TextView加...阅读全文

博文 2017-05-27 15:22:18 PoisonH

Kotlin之let,apply,with,run函数区别

Kotlin之let,apply,with,run函数区别 很长一段时间内都一直使用Kotlin这门语言,也只是纯粹使用简单语法,最近有时候写的代码,编辑器自动提示使用let等函数,然后就专门花点时间研究了下。 let 首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行,或者指定return fun T.let(f: (T) -> R): R = f(this) 简单示例: fun testLet(): Int { // fun T.let(f: (T) -> R): R { f(this)} "testLet".let { println(it) println(it) println(it) return 1 } } /...阅读全文

博文 2017-05-27 15:22:50 流水不腐小夏