《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 ...
随机推荐
- C++程序设计之四书五经[转自2004程序员杂志]--上篇
C++程序设计之四书五经 作者:荣耀 C++是一门广泛用于工业软件研发的大型语言.它自身的复杂性和解决现实问题的能力,使其极具学术研究价值和工业价值.和C语言一样,C++已经在许多重要的领域大获成功. ...
- Elasticsearch聚合 之 DateRange日期范围聚合
相比于range聚合,date range就是范围可以由时间来指定. 例如: { "aggs":{ "range":{ "date_range&quo ...
- html/css基础篇——iframe和frame的区别【转】
转自共享圈的使用iframe的优缺点,为什么少用iframe以及iframe和frame的区别.其中本人不认同的地方有做小修改 注:HTML5不再支持使用frame,iframe只有src 属性 一. ...
- JavaScript可否多线程? 深入理解JavaScript定时机制
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...
- call、apply、bind的区别
me.setname.call(me,"dpd","dpd12"); 通过call执行say方法 ,第一个参数为作用对象,后边的一些列参数作为实参传入 ...
- 【转】 NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索
一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...
- 制作Java视频播放器
一.工程准备 首先需要下载并安装VLC播放器,然后下载vlcj外部库. 下载slf4j中的slf4j-api-1.7.13.jar. slf4j- nop-1.7.13.jar 将vlc安装目录下的l ...
- EasyUI-datagrid数据展示+MongoDB数据操作
使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB. 一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs. ...
- 初学C++ 之 输入输出(IDE:vs2013)
#include <iostream> //引用头文件(输入输出) using namespace std; //引用命名空间,方便使用输入输出语句 class MathMethod { ...
- Linux下如何查看哪个进程占用内存多?
1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...