《Kotlin for android Developers》中文翻译
以下内容为原创,欢迎转载,转载请注明
来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4939080.html
之前一直在关注Kotlin和Android相关的开发,写过两篇关于Kotlin的文章,不了解Kotlin的可以看下:
- [Android]使用Kotlin+Anko开发Android(一):http://www.cnblogs.com/tiantianbyconan/p/4800656.html
- [Android]使用Kotlin开发Android(二):http://www.cnblogs.com/tiantianbyconan/p/4829007.html
后来在Kotlin官网上面看到了这本书《Kotlin for android developers》:
这本书发布在leanpub,前两周作者完成本书后,我就购买看了一遍,里面通过一个天气预报的App例子讲解了基本上Kotlin所有的语法和特性,解决了几个困扰我很久的问题。
后来打算把它翻译成中文版贡献给大家,已经翻译完成:
Gitbook在线阅读或下载:https://www.gitbook.com/book/wangjiegulu/kotlin-for-android-developers-zh/details
Github地址:https://github.com/wangjiegulu/kotlin-for-android-developers-zh
本人水平有限,大家遇到错别字、病句、翻译错误等问题可以在Github上提issues。不过请说明错误原因。
希望大家支持购买原版:https://leanpub.com/kotlin-for-android-developers
目录
- Introduction
- 写在前面
- 关于本书
- 这本书适合你吗?
- 关于作者
- 介绍
- 什么是Kotlin?
- 我们通过Kotlin得到什么
- 准备工作
- Android Studio
- 安装Kotlin插件
- 创建一个新的项目
- 在Android Studio中创建一个项目
- 配置Gradle
- 把MainActivity转换成Kotlin代码
- 测试是否一切就绪
- 类和函数
- 怎么定义一个类
- 类继承
- 函数
- 构造方法和函数参数
- 编写你的第一个类
- 创建一个layout
- The Recycler Adapter
- 变量和属性
- 基本类型
- 变量
- 属性
- Anko和扩展的函数
- Anko是什么?
- 开始使用Anko
- 扩展函数
- 从API中获取数据
- 执行一个请求
- 在主线程以外执行请求
- 数据类
- 额外的函数
- 复制一个数据类
- 映射对象到变量中
- 转换json到数据类
- 构建domain层
- 在UI中绘制数据
- 操作符重载
- 操作符表
- 例子
- 扩展函数中的操作符
- 使Forecast list可点击
- Lambdas
- 简化setOnClickListener()
- ForecastListAdapter的click listener
- 扩展语言
- 可见性修饰符
- 修饰符
- 构造器
- 重构代码
- Kotlin Android Extensions
- 怎么去使用Kotlin Android Extensions
- 重构我们的代码
- Application单例化和属性的Delegated
- Applicaton单例化
- 委托属性
- 标准委托
- 怎么去创建一个自定义的委托
- 重新实现Application单例化
- 创建一个SQLiteOpenHelper
- ManagedSqliteOpenHelper
- 定义表
- 实现SqliteOpenHelper
- 依赖注入
- 集合和函数操作符
- 总数操作符
- 过滤操作符
- 映射操作符
- 元素操作符
- 生产操作符
- 顺序操作符
- 从数据库中保存或查询数据
- 创建数据库model类
- 写入和查询数据库
- Kotlin中的null安全
- 可null类型怎么工作
- 可null性和Java库
- 创建业务逻辑来访问数据
- Flow control和ranges
- If表达式
- When表达式
- For循环
- While和do/while循环
- Ranges
- 创建一个详情界面
- 准备请求
- 提供一个新的activity
- 启动一个activity:reified函数
- 接口和委托
- 接口
- 委托
- 在我们的App中实现一个例子
- 范型
- 基础
- 变体
- 范型例子
- 设置界面
- 创建一个设置activity
- 访问Shared Preferences
- 范型preference委托
- 测试你的App
- Unit testing
- Instrumentation tests
- 其它的概念
- 内部类
- 枚举
- 密封(Sealed)类
- 异常(Exceptions)
- 结尾
《Kotlin for android Developers》中文翻译的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...
- Spark官方文档 - 中文翻译
Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...
- PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程
PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程 作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...
- Spark SQL 官方文档-中文翻译
Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...
- Learning Spark: Lightning-Fast Big Data Analysis 中文翻译
Learning Spark: Lightning-Fast Big Data Analysis 中文翻译行为纯属个人对于Spark的兴趣,仅供学习. 如果我的翻译行为侵犯您的版权,请您告知,我将停止 ...
- 苹果App Store审核指南中文翻译(2014.9.1更新)
转:http://www.cocoachina.com/appstore/20140901/9500.html CocoaChina对<苹果应用商店审核指南>中文翻译最近一次更新时间为20 ...
- (转)PK系列之六:该不该读中文翻译的专业书
本文引用地址:http://blog.sciencenet.cn/blog-2999994-956596.html 此文来自科学网王立新博客,转载请注明出处. 刘新建:这几天在读一本译著:投入产出分析 ...
- Umbraco官方技术文档 中文翻译
Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...
- 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...
随机推荐
- 聊Javascript中的AOP编程
Duck punch 我们先不谈AOP编程,先从duck punch编程谈起. 如果你去wikipedia中查找duck punch,你查阅到的应该是monkey patch这个词条.根据解释,Mon ...
- js页面跳转整理
js页面跳转整理 js方式的页面跳转1.window.location.href方式 <script language="javascript" type=" ...
- SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响
环境:SQL Server2012 SP3 企业版,开发服务器,并没有什么负载,全库索引统一Rebuild过 经反复执行验证过, 不算太复杂的SQL(存储过程中代入参数抠出来的SQL代码) 默认情况下 ...
- DPDK学习之开篇介绍
1.前言 记得刚开始工作的时,老大将我安排到数据面组,当时第一次听说”数据面“这个概念,感觉挺新鲜的.误打误撞就开始搞了,刚开始接触的时候,由于不懂其中的原理,觉得很神奇,因为报文的转发是在应用层,通 ...
- Azure ARM (8) ARM Template - VS Code
<Windows Azure Platform 系列文章目录> 在上一节内容中,笔者介绍了如何使用Visual Studio来编辑ARM Template. 但是在某些时候,Visual ...
- 在Springmvc中获取properties属性
一些关键的属性一般都会拿出来作为配置,比如数据库连接等.在springmvc中也提供了获取property的类,比如@Value来获取.我接触spring很浅,基本上都是百度的问题解决方法,百度到@v ...
- caffe-window搭建自己的小项目例子
手头有一个实际的视觉检测的项目,用的是caffe来分类,于是需要用caffe新建自己的项目的例子.在网上找了好久都没有找到合适的,于是自己开始弄. 1 首先是配置caffe的VC++目录中的inclu ...
- Sql Server,如何去含有非数字的nvarchar,再转为为数值
菜鸟一枚,今天做项目时,突然遇到一个问题: 在数据库中中存放的nvarchar类型的“时间”,例如:‘08:00’,而我需要进行时间的范围比较,这时就想到了将nvarchar类型转化为int类型. 这 ...
- 修改cdh5集群中主机节点IP或hostName
前言 在使用cdh集群过程中,难免会因为某些不可抗拒的原因导致节点IP或hostName变动,而cm的监控界面无法完成这些事情,但是cm将集群中所有的主机的信息都存在postgresql数据库的hos ...
- JavaScript基础—闭包,事件
Js基础-闭包,事件 1:js中的闭包 概念:在一个函数内部又定义了一个函数,内部函数能访问到外部函数作用域范围内的变量,这时这个内部函数就叫做闭包,无论这个内部函数在哪里被调用都能访问到外部函数作用 ...