位置: 编程技术 - 正文

使用Kotlin开发Android应用(I):简介(用kotlin开发android)

编辑:rootadmin

推荐整理分享使用Kotlin开发Android应用(I):简介(用kotlin开发android),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:kotlin api,android kotlin开发,kotlin 开发,用kotlin开发android,kotlin api,kotlin用什么开发工具,kotlin用什么开发工具,kotlin开发app,内容如对您有帮助,希望把文章链接给更多的朋友!

转载自: Studio是基于IntelliJ修改而来的。Kotlin是一门包含很多函数式编程思想的面向对象编程语言。

Kotlin生来就是为了弥补Java缺失的现代语言的特性,并极大的简化了代码,使得开发者可以编写尽量少的样板代码。

为什么要使用Kotlin?

首先我必须声明我使用Kotlin的时间并不长,我几乎是边学习边写这一系列博客的。我没有尝试其他替代语言例如Go或者Scala,因此如果你真的想要切换到另一门语言之前,我建议先搜索其他人是如何评价其他语言的。使用Scala开发Android的一个很棒的例子可以在deg的Github上面找到。

下面是我为什么选择Kotlin进行学习的理由:

相对而言更快的学习曲线:例如相比Scala而言,我们将学得更快。Kotlin限制比较多,但如果你之前没有使用过现代编程语言,那么使用Kotlin入门会更容易。轻量级:相比其他编程语言,Kotlin函数库更小。由于Android存在K方法数限制,这使得这一点更为重要。虽然使用proguard或者打包成多个dex能够解决这个问题,但是所有这些解决方案都会增加复杂性,并增加调试的时间。Kotlin函数库方法数小于个,相当于support-v4的大小。高度可互操作:Kotlin可以和其他Java类库很好的并且简单的互操作。Kotlin团队在开发这门新语言时正是秉承了这个中心思想。他们希望可以使用Kotlin继续开发现有的使用Java语言编程的工程,而不是重写所有代码。因此Kotlin需要能够极好的和Java互操作。完美的集成Android Studio以及Gradle:Kotlin有一个专门用于Android Studio的插件,以及另一个专门用于Gradle的插件,因此在Android工程中开始使用Kotlin并不困难(我将在下一篇文章中进行介绍)。

在你作任何决定之前我推荐先阅读一篇由Jake Wharton写的有趣的文章:在Android开发中使用Kotlin

Kotlin有些什么特性呢?1. 表达式

使用Kotlin可以很容易避免样板代码的编写,因为语言本身已经默认覆盖了大多数典型的情况。

例如,在Java中如果要创建一个典型的数据模型类,我们需要编写(或者至少生成)如下代码:

如果使用Kotlin编写呢?如下所示:

2. 空类型安全

当我们使用Java进行开发时,大部分代码都是防守型的。我们需要在使用之前不断的检测对象是否为空,如果我们不想在代码运行时得到非预期的NullPointerException。类&#;其他很多编程语言,Kotlin是空类型安全的,因此我们需要使用安全调用操作符显式指明对象是否能够为空。

使用Kotlin开发Android应用(I):简介(用kotlin开发android)

我们可以类&#;这样声明:

3. 扩展函数

我们可以为任何类添加新函数。相比我们工程中普遍存在的传统的工具类,扩展函数更具可读性。例如,我们可以为fragments添加一个新函数,用于显示一个toast:

然后可以这样调用:

4. 函数式支持(Lambdas)

每次当我们创建一个新的listener时,都需要声明一个onClick函数用于处理监听回调,我们可以直接编写监听回调的代码而不用声明onClick函数吗?答案是肯定的。这(包括其他很多有趣的功能)得归功与lambda表达式的运用:

目前的限制

译者注:本小节所列出的限制,在最新版的Kotlin中已经都解决了,仅供读者目睹Kotlin语言的完善和进化过程。

Kotlin目前还处于开发阶段,虽然已经很稳定而且最终release版本即将发布(这个夏天),但在Android开发中存在如下限制:

与自动生成代码的可互操作性:一些知名的依赖于自动生成代码的Android函数库,例如Dagger或者Butterknife,由于某些不兼容的命名,因此不能正常的使用。Kotlin团队正在解决这些问题,将来某一天将会解决(KT-)。不管怎么说,就像我将在下一篇文章中说明的,语言的可表达性能够说服我们不再需要这些函数库。

更新:在Kotlin M已经带来了对注解处理的支持。

没有简单的方式声明自定义views:Kotlin类只能声明一个构造函数,而自定义views一般都有三个重载构造函数。当我们在代码中使用这些自定义views时只有一个构造函数不存在问题,但如果想在xml文件中使用自定义views,只有一个构造函数是不够的。最简单的解决方法是使用Java声明这些自定义views类,并在Kotlin中引用它们。Kotlin团队许诺将在M发布版中解决这个问题。

更新:Kotlin M发布了并包含了辅助构造函数。

Android工程中的jUnit测试:Android Studio 1.1引入的这个新特性Kotlin暂时还不支持。但纯粹的Kotlin工程能够完全支持Instrumentation测试和jUnit测试。

更新:Kotlin M的gradle plugin现在支持Android Studio中的单元测试了。

总结

Kotlin是开发Android app中使用的Java语言的一个有趣的替换者。下一篇文章我们将描述使用Kotlin如何新建一个新工程,并讲解如何充分利用Kotlin使Android开发更容易。敬请关注!

Kotlin在Android工程中的应用 Kotlin官网:(

android开发:把指定的日志输出到指定的文件 spanstyle=font-family:Arial,Helvetica,sans-serif;background-color:rgb(,,);spanstyle=white-space:pre/span近期在做一个接入了第三方sdk的项目,其中涉及到蓝牙连接。蓝牙

使用Kotlin开发Android应用(II):创建新工程 转载自:

标签: 用kotlin开发android

本文链接地址:https://www.jiuchutong.com/biancheng/370880.html 转载请保留说明!

上一篇:给EditText的drawableRight属性的图片设置点击事件(如何设置edittext控件中的文字)

下一篇:Kotlin在Android工程中的应用(kotlin开发安卓教程)

  • 海关缴款书上完税怎么办
  • 公司出让上一任股东拥有的公司25%股权如何做账?
  • 票种核定表怎么填写
  • 无租房合同可以取住房公积金吗
  • 管道燃气工程设计方案
  • 小规模税控设备维护费怎么填申报表格
  • 税控盘抵扣增值税有时间限制吗
  • 收到税收返还会计分录
  • 待摊费用和预提费用是按照什么而设置的账户
  • 委托付款税务认可吗
  • 厂家试驾车和经销商试驾车
  • 油费预付卡如何开发票
  • 过期的食品退回去厂里怎么处理
  • 物业收取水费比水厂收的高怎么办
  • 资产减值损失会影响利润吗
  • 税务部门如何核定税额
  • 发票复印件怎么打印
  • 增值税留抵税额抵减欠税
  • 起征点是什么意思举例子说明
  • 人工服务费发票
  • 上级工会返还的会计分录
  • 上市公司非限售股股票转让收入
  • 附加税退款分录
  • 城市维护建设税属于什么税种
  • 小规模纳税人发生销售退回如何申报
  • 企业职工集资款的认定标准
  • 如何正确使用储存卡
  • 五险二金的二金有什么好处
  • 以前年度原材料调出怎么做会计分录
  • 在建工程的二级明细的讲解
  • 收到保险公司的车赔款会计分录怎么写
  • 无法偿还应付账款账务处理
  • 在企业兼并时,被兼并企业价值评估的最适用假设是
  • 固定资产的减值准备,一经确认,不得转回
  • php curl cookie
  • php _dir_
  • div+css导航栏
  • 2023年highway-env更新之后的使用记录(含DDQN,DuelingDQN,DDQN+OtherChanges) 入门到入土,再踩坑就不玩原神了
  • 投资性房地产在资产负债表哪个科目
  • discuz手机标准版
  • 医院职工医疗保险报销比例
  • 增值税申报流程大全(附图文详解)
  • 小规模年销售额500万界定标准
  • 节能控制模块
  • 建筑企业预缴的增值税怎么抵扣
  • 税务登记是需要原件还是复印件
  • 哪些税种影响当期损益
  • 非广告性质的赞助支出调增还是调减
  • 没有发票的费用怎么报销
  • 设备维修费可以抵扣进项税吗
  • 股东借款转实缴资本
  • 折旧计入主营业务成本的情况
  • 增值税专用发票几个点
  • 公司有主营业务收入没有主营业务成本
  • 工会费上缴
  • 会计怎么做工资单
  • mysql死锁的情况
  • mysql绿色版配置
  • 微软推送win10更新 蓝牙
  • linux命令pwd是什么意思
  • linux如何操作数据库
  • 半自动化系统
  • 24个方法
  • shell下同时读取多个文件的方法
  • 手机更新升级版本下载
  • win10无u盘装系统教程
  • linux的curl
  • 使用时间
  • unity3d怎么写代码
  • jqueryanimate动画
  • js弹出小窗口
  • Python for Informatics 第11章之正则表达式(四)
  • Android Design Support Library
  • 纳税申报表作废了怎么重新报?
  • 小规模出售不动产怎么交税
  • 黑龙江省电子税务局官网下载
  • 房地产公司可以查到客户购房信息
  • 有发票代码和发票号码能下载到电子发票吗
  • 简述纳税人与负税的区别
  • 河南省税务局系统最新消息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设