《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 ...
随机推荐
- 基于HTML5技术的电力3D监控应用(一)
最近参与了国网计量中心的四线一库自动化检定系统的项目开发,团队封闭开发了大半年终于快到尾声了,整个项目过程实在非常累,我的mentor杨杨老师是这样描述的:累的不想说话了.我估计是我太渴望新知识,整天 ...
- 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...
- Android Studio快捷键每日一练(5)
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-5/ 42.Enter键和Tab键补全 快捷键:Ent ...
- ISP接口隔离原则
一.定义 不应该强迫客户程序依赖并未使用的方法 二.接口污染 接口污染,在C#.C++这样的静态类型语言中是很常见的.一个接口会被他不需要的方法污染.在接口中假如一个方法只是为了能给它的一个子类带来好 ...
- 比对两个同类型的List
比对两个List中的数据 1 List<Person> ListA= new List<Person>() { "}, "}, "}, " ...
- MySQL中select * for update锁表的范围
MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例 ...
- DokuWiki用storage的模式在sae上部署后速度太慢
利用sae做的io wrapper接口,对dokuwiki做了基于sae的分布式storage存储改造,能正常安装和运行,但速度太慢,基本没什么用. 定义一个常量: define('SAESTORE_ ...
- 第 13 章 CSS 选择器[上]
学习要点: 1.选择器总汇 2.基本选择器 3.复合选择器 4.伪元素选择器 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 选择器,通过选择器定位到想要设置样式的元素.目前 CSS 选择器的 ...
- UVA 10090 Marbles 扩展欧几里得
来源:http://www.cnblogs.com/zxhl/p/5106678.html 大致题意:给你n个球,给你两种盒子.第一种盒子每个盒子c1美元,可以恰好装n1个球:第二种盒子每个盒子c2元 ...
- Web应用网络模型
Web应用网络模型 前言 这篇文章要介绍的是一个常见Web应用基本的过程跟网络模型,当然,对于多数的Client/Server应用也是适用的.延续这个系列文章的风格,只管通俗不管严谨. 概览 总体模型 ...