2017-02-14 18:14 4673人阅读 评论(0) 收藏 举报
 分类:
kotlin

转载地址: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

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

  1. // Top-level build file where you can add configuration options common to all sub-projects/modules.
  2. buildscript {
  3. ext.kotlin_version = '1.0.6'
  4. repositories {
  5. jcenter()
  6. }
  7. dependencies {
  8. classpath 'com.android.tools.build:gradle:2.0.0'
  9. classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  10. classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
  11. }
  12. }
  13. allprojects {
  14. repositories {
  15. jcenter()
  16. }

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

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

  1. buildscript {
  2. repositories {
  3. jcenter()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:2.0.0'
  7. }
  8. }
  9. def getDate() {
  10. return Calendar.getInstance().getTimeInMillis();
  11. }
  12. allprojects {
  13. repositories {
  14. jcenter()
  15. }
  16. }
  17. apply plugin:  'com.android.application'
  18. apply plugin: 'kotlin-android'
  19. dependencies {
  20. compile 'com.android.support:support-v4:23.1.1'
  21. compile 'com.android.support:appcompat-v7:23.1.1'
  22. compile 'com.android.support:design:23.1.1'
  23. compile 'com.android.support:preference-v7:23.1.1'
  24. compile 'org.apache.commons:commons-compress:1.10'
  25. compile 'commons-net:commons-net:3.3'
  26. compile 'com.github.zafarkhaja:java-semver:0.9.0'
  27. compile 'org.unbescape:unbescape:1.1.1.RELEASE'
  28. compile 'org.msgpack:msgpack:0.6.12'
  29. compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
  30. compile 'org.tukaani:xz:1.5'
  31. compile 'ch.acra:acra:4.6.2'
  32. testCompile 'junit:junit:4.12'
  33. compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  34. }
  35. android {
  36. compileSdkVersion 23
  37. buildToolsVersion '23.0.2'
  38. compileOptions {
  39. sourceCompatibility JavaVersion.VERSION_1_7
  40. targetCompatibility JavaVersion.VERSION_1_7
  41. }
  42. packagingOptions {
  43. exclude 'META-INF/LICENSE.txt'
  44. exclude 'META-INF/NOTICE.txt'
  45. }
  46. defaultConfig {
  47. minSdkVersion 9
  48. targetSdkVersion 22
  49. versionCode 4
  50. versionName "1.7.0-unstable"
  51. if(System.getenv("NIGHTLY_BUILD")) {
  52. versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7)
  53. }
  54. }
  55. lintOptions {
  56. if (System.getenv("NIGHTLY_BUILD")) {
  57. checkReleaseBuilds false
  58. }
  59. abortOnError false
  60. }
  61. signingConfigs {
  62. release {
  63. if (System.getenv("KEYSTORE_FILE") != null) {
  64. storeFile = file(System.getenv("KEYSTORE_FILE"))
  65. storePassword = System.getenv("KEYSTORE_PWD")
  66. keyAlias = System.getenv("KEYSTORE_ALIAS")
  67. keyPassword = System.getenv("KEYSTORE_ALIAS_PWD")
  68. }
  69. return true
  70. }
  71. }
  72. buildTypes {
  73. debug {
  74. buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"
  75. buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";
  76. minifyEnabled false
  77. shrinkResources false
  78. debuggable true
  79. jniDebuggable true
  80. zipAlignEnabled true
  81. multiDexEnabled true
  82. }
  83. release {
  84. buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"
  85. buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";
  86. if (System.getenv("KEYSTORE_FILE") != null) {
  87. signingConfig signingConfigs.release
  88. }
  89. multiDexEnabled true
  90. return true
  91. }
  92. }
  93. sourceSets {
  94. main.java.srcDirs += 'src/main/kotlin'
  95. }
  96. }
  97. repositories {
  98. mavenCentral()
  99. }

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

  1. <span style="white-space:pre">  </span>apply plugin: 'kotlin-android'

2、

  1. <span style="white-space:pre">  </span>compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

3、

  1. android{
  2. ......
  3. sourceSets {
  4. main.java.srcDirs += 'src/main/kotlin'
  5. }
  6. }

这样就可以正常使用了。

如果出现
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:

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

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

 
顶
1
踩
1
 
  相关文章推荐
 
 
查看评论
  暂无评论

 
 
您还没有登录,请[登录]或[注册]
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
 
 
 
 
    个人资料

Kotlin 中文文档的更多相关文章

  1. Reactor3 中文文档(用户手册)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  2. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  3. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

  4. Knockout中文开发指南(完整版API中文文档) 目录索引

    a, .tree li > span { padding: 4pt; border-radius: 4px; } .tree li a { color:#46cfb0; text-decorat ...

  5. ReactNative官方中文文档0.21

    整理了一份ReactNative0.21中文文档,提供给需要的reactnative爱好者.ReactNative0.21中文文档.chm  百度盘下载:ReactNative0.21中文文档 来源: ...

  6. java中文文档官方下载

    一直在寻找它,今天无意之间终于发现它了! http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/overview-summa ...

  7. Spring中文文档

    前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...

  8. jQuery 3.1 API中文文档

    jQuery 3.1 API中文文档 一.核心 1.1 核心函数 jQuery([selector,[context]]) 接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQ ...

  9. jQuery EasyUI API 中文文档 - ComboGrid 组合表格

    jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...

随机推荐

  1. php.ini控制文件上传大小配置项

    ; Whether to allow HTTP file uploads.file_uploads = On ; Temporary directory for HTTP uploaded files ...

  2. C#——单元测试

    测试搭建请看:http://www.cnblogs.com/Look_Sun/p/4514732.html 右键不出现Generate Unit Test选项请参考:http://www.jb51.n ...

  3. layer Tips参数使用

    layer.tips(content, follow, options) - tips层type:4的深度定制.也是我本人比较喜欢的一个层类型,因为它拥有和msg一样的低调和自觉,而且会智能定位,即灵 ...

  4. SQL CASE WHEN语句性能优化

    背景:性能应该是功能的一个重要参考,特别是在大数据的背景之下!写SQL语句时如果仅考虑业务逻辑,而不去考虑语句效率问题,有可能导致严重的效率问题,导致功能不可用或者资源消耗过大.其中的一种情况是,处理 ...

  5. CDR发展史-CorelDRAW经历了哪些版本?

    1989年CorelDRAW横空出世,它引入了全彩矢量插图和版面设计程序,这在计算机图形领域掀起了一场风暴般的技术革新.两年后,Corel又推出了首款一体化图形套件(第 3 版),将矢量插图.版面设计 ...

  6. J2EE概念汇总

    JVM 是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟 ...

  7. BZOJ 1834: [ZJOI2010]network 网络扩容 最小费用流_最大流_残量网络

    对于第一问,跑一遍最大流即可. 对于第二问,在残量网络上的两点间建立边 <u,v>,容量为无限大,费用为扩充费用. 跑一遍最小费用流即可. Code: #include <vecto ...

  8. 路飞学城Python-Day23(practise)

    本章总结 练习题 什么是C/S架构? 互联网协议是什么?分别介绍五层协议中每一层的功能? 基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 为何基于tcp协议的通信比基于udp协 ...

  9. 装饰器阶段性练习(题目)[转载http://www.cnblogs.com/linhaifeng/p/7278389.html]

    # 一:编写函数,(函数执行的时间是随机的)# 二:编写装饰器,为函数加上统计时间的功能# 三:编写装饰器,为函数加上认证的功能## 四:编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件 ...

  10. 8、Situation-Dependent Combination of Long-Term and Session-Based Preferences in Group Recommendations: An Experimental Analysis ----组推荐中基于长期和会话偏好的情景依赖组合

    一.摘要: 背景:会话组推荐系统的一个主要挑战是如何适当地利用群组成员之间的交互引起用户偏好,这可能会偏离用户的长期偏好.长期偏好和群组诱导的偏好之间的相对重要性应该根据具体的群组设置而变化. 本文: ...