转载地址:http://www.tuicool.com/articles/faqyMzE

gitbook 墙内访问速度很糟糕 现在有了 墙内地址 啦 :)

国内服务器由 掘金 赞助

稀土掘金:挖掘最优质的互联网技术 / 联合编辑每日精选内容 / 移动端优质阅读体验

本书源码在github

pd下载 ePub下载

记得要点 star star star

发现有翻译的不好的或者错误欢迎到 github 提issue

号外 号外 Kotlin 1.0 正式发布

Android 世界的 Swift 终于发布1.0版本

Kotlin 是一个实用性很强的语言,专注于互通,安全,简洁,工具健全...

无缝支持 Java+Kotlin 项目,可以更少的使用样版代码,确保类型安全。

Kotlin 1.0 更新日志

还换了logo :)

Kotlin LOC (软件规模代码行) 如下图

近期我会重新读一遍 Kotlin 官方文档 并对现在的这份文档进行更新(又立 flag 了) -- 2016.2.16

  • 准备开始

    • 基本语法
    • 习惯用语
    • 编码风格
  • 基础

    • 基本类型
    • 控制流
    • 返回与跳转
  • 类和对象

    • 类和继承
    • 属性和字段
    • 接口
    • 可见性修饰词
    • 扩展
    • 数据对象
    • 泛型
    • 嵌套类
    • 枚举类
    • 对象表达式和声明
    • 代理模式
    • 代理属性
  • 函数和lambda表达式

    • 函数
    • 高级函数和lambda表达式
    • 内联函数
  • 其它

    • 多重申明
    • Ranges
    • 类型检查和自动转换
    • This表达式
    • 等式
    • 运算符重载
    • 空安全
    • 异常
    • 注解
    • 反射
    • 动态类型
  • 参考

    • API
    • 语法
  • 互用性

    • 与 java 交互
  • 工具

    • Kotlin代码文档
    • 使用Maven
    • 使用Ant
    • 使用Griffon
    • 使用Gradle
  • FAQ

    • 与java对比
    • 与Scala对比
如何在Android studio中使用KotLin
在根目录build.gradle里边添加相应的依赖就好
看示例:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {ext.kotlin_version = '1.0.6'repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.0.0'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"}
}allprojects {repositories {jcenter()}

添加了版本号以及要使用的俩个依赖,如果需要还可以导入其他的依赖。

在app的目录(也就是你android代码目录)的build.gradle文件中添加简单的设置就好
看示例:

buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.0.0'}
}def getDate() {return Calendar.getInstance().getTimeInMillis();
}allprojects {repositories {jcenter()}
}
apply plugin:  'com.android.application'
apply plugin: 'kotlin-android'dependencies {compile 'com.android.support:support-v4:23.1.1'compile 'com.android.support:appcompat-v7:23.1.1'compile 'com.android.support:design:23.1.1'compile 'com.android.support:preference-v7:23.1.1'compile 'org.apache.commons:commons-compress:1.10'compile 'commons-net:commons-net:3.3'compile 'com.github.zafarkhaja:java-semver:0.9.0'compile 'org.unbescape:unbescape:1.1.1.RELEASE'compile 'org.msgpack:msgpack:0.6.12'compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'compile 'org.tukaani:xz:1.5'compile 'ch.acra:acra:4.6.2'testCompile 'junit:junit:4.12'compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}android {compileSdkVersion 23buildToolsVersion '23.0.2'compileOptions {sourceCompatibility JavaVersion.VERSION_1_7targetCompatibility JavaVersion.VERSION_1_7}packagingOptions {exclude 'META-INF/LICENSE.txt'exclude 'META-INF/NOTICE.txt'}defaultConfig {minSdkVersion 9targetSdkVersion 22versionCode 4versionName "1.7.0-unstable"if(System.getenv("NIGHTLY_BUILD")) {versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7)}}lintOptions {if (System.getenv("NIGHTLY_BUILD")) {checkReleaseBuilds false}abortOnError false}signingConfigs {release {if (System.getenv("KEYSTORE_FILE") != null) {storeFile = file(System.getenv("KEYSTORE_FILE"))storePassword = System.getenv("KEYSTORE_PWD")keyAlias = System.getenv("KEYSTORE_ALIAS")keyPassword = System.getenv("KEYSTORE_ALIAS_PWD")}return true}}buildTypes {debug {buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";minifyEnabled falseshrinkResources falsedebuggable truejniDebuggable truezipAlignEnabled truemultiDexEnabled true}release {buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";if (System.getenv("KEYSTORE_FILE") != null) {signingConfig signingConfigs.release}multiDexEnabled truereturn true}}sourceSets {main.java.srcDirs += 'src/main/kotlin'}
}
repositories {mavenCentral()
}

主要添加了有3个地方:
1、

   apply plugin: 'kotlin-android'

2、

  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

3、

android{......sourceSets {main.java.srcDirs += 'src/main/kotlin'}}

这样就可以正常使用了。

如果出现
Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar
类似这样的问题,那么只要在app目录下的build.gradle文件中添加task:

   task clean(type: Exec) {ext.lockhunter = '\"C:\\LockHunter.exe\"'def buildDir = file(new File("build"))commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}

如果出现Unresolved reference: kotlinx这样的问题,那么需要在app目录下的build.gradle文件中添加:
apply plugin: 'kotlin-android-extensions'
以及要确保classpath配置了classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

Kotlin 中文文档相关推荐

  1. swift中文文档_Flutter 中文文档:使用 Packages

    Flutter 支持使用其他开发者向 Flutter 和 Dart 生态系统贡献的共享 package,这意味着你可以快速构建应用而不是一切从零开始. 现有的 package 支持许多使用场景,例如, ...

  2. Springboot 中文文档 —— Actuator

    文章目录 1 **启用** 2 **端点(endpoints)** 2.1 启用端点 2.2 公开端点 2.3 保护HTTP端点 2.4 配置端点缓存 2.5 配置 /actuator 路径 2.6 ...

  3. PyTorch官方中文文档:torch.optim 优化器参数

    内容预览: step(closure) 进行单次优化 (参数更新). 参数: closure (callable) –...~ 参数: params (iterable) – 待优化参数的iterab ...

  4. golang中文文档_Golang 标准库 限流器 time/rate 设计与实现

    限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务.网关.和一些后台服务中会经常遇到.限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现 ...

  5. springboot中文文档_登顶 Github 的 Spring Boot 仓库!艿艿写的最肝系列

    源码精品专栏 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 My ...

  6. Apache Spark 2.2.0 中文文档 翻译活动

    为什么80%的码农都做不了架构师?>>>    Spark 2.2.0 已然发布(2017-07-11 发布) 5 天了,更新了一些新套路吧! 此版本从 Structured Str ...

  7. Python爱好者周知:Scikit-Learn中文文档正式发布

    整理 | 费棋 出品 | AI科技大本营(公众号ID:rgznai100) 近日,Scikit-Learn 中文文档已由开源组织 ApacheCN 完成校对.该中文文档依然包含了 Scikit-Lea ...

  8. GitHub 中文文档正式发布

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 中国作为全球最大的人口大国,所属开发者在 GitHub 上的占比自 ...

  9. 推荐:Webpack2入门到深入的中文文档

    2019独角兽企业重金招聘Python工程师标准>>> 最近看了一本不错的<<webpack2中文文档>>的PDF,对比于wepack2官网(https:// ...

  10. matlab中文文档_Linux下Matlab安装

    如果觉得文章好看,欢迎点赞.同时欢迎关注微信公众号:氷泠之路. 引言 抱歉国庆由于各种原因一直没空更新文章,啊啊啊啊啊.... 因为在忙各种各样的事情,都怪女朋友,另外也更新了"装备&quo ...

最新文章

  1. mysql防注入pdo_mysql PDO和存储过程动态SQL注入
  2. Java 12正式发布,新特性解读!
  3. evans pde 第三章_智慧树报关实务第三章答案
  4. python 中的转义序列
  5. 【CSDN】Markdown 如何画分界线
  6. MvcPager帮助文档 - MvcAjaxOptions 类
  7. 复制出来的文本都是大写_好用又冷门的Word快捷键,据说80%的人都不知道!
  8. debian8.7.1安装zabbix3.2
  9. SharedPreferences的使用,android
  10. ubuntu apt 卸载 golang
  11. html 页面加载中 请稍候,html 提示“数据在加载中,请稍后……”
  12. vue-JsMind思维导图实现(包含鼠标右键自定义菜单)
  13. Android软键盘删除键触发Activity的返回事件
  14. 端子台UL认证 UL 1059
  15. UI入门必读!完整的UI设计学习流程是怎样的?
  16. Date.getyear()、Date.getMonth()、Date.getDay() 已经作废,其他解决办法
  17. 2021-11-02
  18. 【CHATGPT-3.5】如何使用ChatGPT的同时并学习记忆
  19. 个人项目 小跟班——蓝牙控制小车(蓝牙控制篇)
  20. Web兼容性测试(思维导图)

热门文章

  1. linux下文件打包、压缩详解
  2. [hadoop源码阅读][0]-初衷和各种资源
  3. 苹果手机怎么在照片上添加文字_不管用什么手机,这样操作一下,就能直接给照片添加文字...
  4. 如何用搜索引擎搜js css源码例子
  5. 互不相识的人在什么情况下会给你点赞呢?
  6. umpy知识点补充:np.vstack()np.hstack()
  7. DPDK - mlx5 drop action 性能 patch
  8. Memory ordering in some architectures
  9. 微型计算机工作适宜的温度,应用电脑(1)第一章 第一节 计算机的基本组成...
  10. QTeewidget逐行进行遍历(递归)