Kotlin 开篇这篇文章是为「码上开学」写的,首发于码上开学官网 。
引子
找到那把三叉戟,你便能号令整个海洋。 ——《海王》
为什么需要新语言Java是当今世界最流行的工业级语言,有着非常成熟的生态和广泛的开发群体。当初Android选择Java作为开发语言,也是为了吸引Java程序员这个世界上最大的开发群体。最早的一批Android程序员可能已经用Java写了近十年Android程
Continue reading
距离Google发布Chrome Custom Tabs已经一年,Twitter、Medium等国外App早已支持了这个功能,但遗憾的是国内App鲜有支持。这篇文章以官方开发文档和示例源码为基础,加上自己的理解,希望能帮助读者快速掌握Chrome Custom Tabs的用法。
为什么要用Chrome Custom Tabs?当App需要打开一个网站时,开发者面临两种选择:默认浏览器或WebVie
Continue reading
最近公司新开发了一个新App,android程序员就我一个人,爱咋写咋写~~于是我尝试用Kotlin完成了这个App。开发过程中越来越感动……太好用了!!!解决了android开发中的好多痛点!
dp, sp, px间的转换传统的java写法通常是写个类似Util.dpToPx(int value)这样的方法。看看Kotlin是怎么通过Extension来优雅的解决的:
123456fun Int
Continue reading
最近因为工作需要开始学习iOS。在网上搜自动定义tableViewCell,出来的结果都是要新建xib文件和对应的class,然后在上面添加控件,再注册到tableViewController中。这样做一来很繁琐,二来很容易在绑定outlet的时候抛异常(我就遇到了)。同事告诉我一个快捷的办法。
1、直接在StoryBoard里面将控件添加到Prototype Cell中。
2、新增一个Clas
Continue reading
If Expression在Kotlin中,if是一个表达式,它有返回类型。因此Kotlin中不再需要三元表达式。
1var max = if (a > b) a else b
if分支也可以是代码块(blocks),代码块的末尾是返回值。
1234567var max = if (a > b) { print("Choose a") a // a会被赋值给max
Continue reading
如果你学过Ruby,你一定知道“万物皆对象”。Kotlin中也一样。即便数字(Numbers)在Kotlin中是基本类型,也可以这样写:123.toString()
下面我们来看一下Kotlin中的基本类型。
NumbersKotlin提供的数字类型和Java很像:
Type
Bitwidth
Double
64
Float
32
Long
64
Int
32
Sho
Continue reading
先提个问题
Android程序员为什么要学Kotlin?
Java不争气。在1.5时代Java或许还能和C#谈笑风生,而现在C#不知道比Java高明到哪里去了。虽然Java8中也加入了闭包等有用的特性,但Android又不支持……
RxJava。想象这样一个需求:用户连续点击某个区域10次且每次间隔不超过500毫秒,则触发一个彩蛋。实现这个需求很容易,但代码会很混乱。我们得自己控制计时器,保存时间
Continue reading
最近在Android平台上生成PDF文件时,碰到了内嵌字体的问题。大部分打印厂的机器是不支持PDF内嵌字体的,所以要想将文字按指定的字体印刷出来,只能转曲。
转曲转曲的意思就是把文字转成曲线线段,可以想象成把文字的轮廓勾勒出来。Android中的Paint.getTextPath方法可以获得String的Path,而PathMeasure可以获得Path中的关键点。
123456789101112
Continue reading