
Kotlin之旅
文章平均质量分 84
智能座舱搬砖工
成事在人,休言万般皆是命;境由心造,退后一步自然宽!
展开
-
Kotlin开发Android笔记1:Kotlin介绍及项目配置
Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性。Kotlin是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE。对于 Android开发者,有两个有趣的特点:对Java开发者来说,Kotlin是非常直觉化的,并且非常容易学习。语言的大部 分内容都是与我们知道的非常相原创 2016-07-26 11:57:54 · 4867 阅读 · 0 评论 -
Kotlin实现Android项目中通用loading对话框
在安卓项目中,都会有耗时操作,用户进行操作后,都会给一个诸如正在加载的提示框,例如:实现代码如下:第一步:编写通用加载框的布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi...原创 2019-01-11 16:01:30 · 3616 阅读 · 1 评论 -
Kotlin中实现简单的倒计时按钮
在kotlin中实现最简单的有倒计时功能的按钮,诸如注册时需要点击获取验证码,点击后直接变成倒计时状态。/** * 创建时间: 2018/12/26 0026 * 创建人:ldm * 功能描述: */class CountdownButton(mContext: Context, attrSet: AttributeSet) : Button(mContext, attrSet) {...原创 2018-12-26 16:43:22 · 9679 阅读 · 0 评论 -
Kotlin开发Android笔记11:Kotlin中属性委托
通常开发Android应用时,会自定义全局Application,当然在Kotlin中也是如此,我们也要对Application进行处理。—-Applicaton单例化—— 下面是最简单地方式 ,就如果Java中开发一样,获取Application实例:class GlobalApp : Application() { companion object {原创 2016-08-15 09:54:21 · 3151 阅读 · 1 评论 -
Kotlin开发Android笔记10:Kotlin中Kotlin Android Extensions
Kotlin Android Extensions是另一个Kotlin团队研发的插件,让我们用更少的代码来开发程序 。 当前仅仅包括了view的绑定。该插件自动创建了很多的属性来让我们直接访问XML中的view。因此不需要你在布局中去找到这些views。 我们使用的View,其名字就是来自对应view的id,所以我们取id的时候要十分小心,这将会是我们类中非常重要的一部分。 这些控件的类型也是来原创 2016-08-12 10:52:02 · 7102 阅读 · 3 评论 -
Kotlin开发Android笔记9:Kotlin操作符重载
Kotin有一些固定数量象征性的操作符,开发中可以在任何类中使用它们。使用方法是:创建一个方法,方法名为保留的操作符关键字,如此就可以让这个操作符的行为映射到这个方法。重载这些操作符可以增加代码可读性和简洁性。—操作符表——- 下面是一系列包括操作符和对应方法的表。对应方法必须在指定的类中通过各种可能性被实现。一元操作符 | 操作符 | 函数| |—-| | +a | a原创 2016-08-11 14:01:06 · 1786 阅读 · 1 评论 -
Kotlin开发Android笔记13:Android数据库(SQLite)操作
SQLite是一个嵌入app的轻量级数据库,Android使用SQLite作为它的数据库管理系统。 在不使用第三方数据操作框架如GreenDao等的情况下,我们操作Android的操作数据库 的API在Android中是非常原生的。需要编写很多诸如增删除改查的SQL语句以及对象与ContentValues或者Cursors之间的解析处理。现在使用Kotlin和Anko,我们可以大量简化这些。–原创 2016-09-13 16:35:51 · 9167 阅读 · 2 评论 -
Kotlin开发Android笔记12:集合和函数操作符
学习《Kotlin for Android Developers》中文翻译也有一些日子了,但是中途因为项目忙,有几天也没有时间进行持续学习。 感觉学得少忘得多,越往后看越觉得复杂。这一系列笔记相当于就是把这本书给抄袭了一遍,真正学习到肚子里的东西还是太少。 今天学习集合和函数操作符。Kotlin中的集合真是强大,提供了N多实用的方法,让我们来看看吧。 比如,如果过滤一个list,不用去创建一个原创 2016-08-18 15:20:24 · 3235 阅读 · 0 评论 -
Kotlin开发Android笔记5:Anko for Android
原文转自:http://www.jianshu.com/p/7cf5b42eb25f Anko 是一个使开发Android应用更简单更快捷的库,Anko使你的代码简洁易懂, 使开发者不用再在意Android SDK对Java版本的限制(目前还不支持Java8 =。= ).Anko版本的 hello world :verticalLayout { val name = editText()转载 2016-08-03 10:44:22 · 2538 阅读 · 0 评论 -
Kotlin开发Android笔记4:Kotlin中变量及属性
Kotlin中,一切都是对象,和Java相比,不存在java中原始基本类型等。这种特点使我们操作更加容易:可以使用统一的方式来处理所有的可用的类型。—-基本类型—— 像Integer,float或者boolean等基本数据类型仍然存在,但全都作为对象存在。基本类型及操作方式与Java极为相似的,我们要考虑到的区别有: //数字类型不会自动转型。不能给Double变量分配一个原创 2016-08-01 17:08:08 · 4256 阅读 · 1 评论 -
Kotlin开发Android笔记8:Kotlin数据类及json解析
–额外的函数——– 通过数据类,可以方便地得到很多有趣的函数,一部分是来自属性,比如编写getter和setter函数,还有下面这些函数:equals(): 比较两个对象的属性来确保他们是相同的。hashCode(): 得到一个hash值,也是从属性中计算出来的。copy(): 拷贝一个对象,可以根据需要去修改里面的属性。其它一系列可以映射对象到变量中的函数。–复制数据类——– 如果使用原创 2016-08-04 10:44:16 · 14540 阅读 · 2 评论 -
Kotlin开发Android笔记7:Anko获取网络数据
—执行一个请求——- 现在通过请求来获取显示在RecyclerView上的数据。我们将会使用OpenWeatherMap API来获取数据,还有一些普通类来现实这个请求。 Kotlin具有非常强大的互操作性,你可以使用任何你想使用的库,比如用Retrofit来执行服务器请求。 当只是执行一个简单的API请求,我们可以不使用任何第三方库来简单地实现。而且,Kotlin提供了一些扩展函数来让请求变得原创 2016-08-03 14:22:50 · 6059 阅读 · 0 评论 -
Kotlin开发Android笔记6:Anko和扩展的函数
—Anko是什么呢?——-Anko是JetBrains开发的一个强大的库。主要用来替代以XML的方式生成UI布局。Anko包含了很多实用的函数和属性来避免让你写很多的模版代码。我们可以快速地用某库来解决对应地问题。建议你理解Anko所实现功能背后到底做了什么。你可以在任何时候使用ctrl + 点击的方式跳转到Anko的源代码进行学习。— 开始使用Anko——- 首先使用Anko来简化一些代码原创 2016-08-03 14:04:11 · 3084 阅读 · 2 评论 -
Kotlin开发Android笔记3:Kotlin中类与函数
—–类的定义—–如果你想定义一个类,你只需要使用 class 关键字。//如定义一个TestKotlin类class TestKotlin{}它有一个默认唯一的构造器。当然可以创建额外的构造器,通常情况下我们只需要这个默认的构造器。你只需要在类名后面写上它的构造参数,而且如果这个类没有任何内容可以省略大括号:class Student(name: String, ag原创 2016-07-28 10:18:38 · 1094 阅读 · 0 评论 -
Kotlin开发Android笔记2:Kotlin与Java简单比较
Kotlin相比Java 的优势主要有:更加易表现:Kotlin最重要的优点之一。开发相同功能你可以少写很多的代码。 更加安全:Kotlin是空安全的,就是说在编译时期就处理了各种null的情况,避免了执行时异常。如果一个对象可以是null,则我们需要明确地指定 它,然后在使之前检查是否是null。可以节约很多调试nullPointException的时间并解决相应的bug。 函数式的:原创 2016-07-27 16:30:27 · 3371 阅读 · 0 评论 -
kotlin实现最简单的Activity栈管理工具类
/** * Activity栈任务管理器 * 通常放在我们自定义Activity的基类中操作 */class AcitivityManager private constructor() { private val activityStack: Stack<Activity> = Stack() companion object { val ...原创 2019-01-14 15:40:01 · 1975 阅读 · 1 评论