昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢?

Kotlin的简要介绍
在开发之前,很多同学一定有很多疑问,Kotlin到底有啥好处,怎么和现有的项目共存呢?Java那么些特性Kotlin都有吗?嗯,让我们一一来看。
Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:
Kotlin 用于 Android 的案例学习
Kotlin 已被一些大公司成功采用,其中一些公司分享了他们的经验:
Kotlin 团队为 Android 开发提供了一套超越标准语言功能的工具:
下一步
使用Kotlin开发Android应用
在开始学习使用Kotlin开发Android应用之前,我们首先需要准备好手中的环境,那就是必须先配置好Android Studio 3.0的环境。
创建Kotlin开发工程
这里的工程创建与普通的Android应用工程创建并无不同,唯一的不同之处在于创建工程时勾选 Include Kotlin support 选项。如图:
在默认创建好的Activity中便已经是Kotlin的代码,看起来与Java代码本身非常相似:
Kotlin文件以.kt结尾。
默认创建好的Kotlin文件还是会放在和Java文件一样的位置,如果需要使kotlin文件与Java文件分开放的话,那么可以在对应的gradle文件中加入以下配置:
android {
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}
这样的话,所有默认创建的Kotlin文件就会被放在/kotlin/目录下了。
在现有的工程中添加Kotlin
如果需要在已有的工程中添加Kotlin的支持,那么只需要在新创建Activity时在Source language选项中选择Kotlin就可以:
将Java代码转换为Kotlin代码
在Android Studio 3.0中提供了可以将Java代码转化为Kotlin代码的工具。使用时只需要将对应的Java文件打开,然后选择菜单栏上的 Code -> Convert Java File to Kotlin File 就可以完成转换。
不过需要注意的是,这个工具可以完成大部分的语法转换,个别类型,比如数组在转换的时候可能有些问题,需要自己手动调整。博主我在练习的时候发现了这个问题,不过通过语法文档迅速做了修正。发现Kotlin在语法简洁方面确实要优于Java很多。例如下面一段代码:
val bitmaps = LargePicLoadHelper.cutItemImage(cutImage, itemImageHeight)
cutImage.recycle()
for (i in bitmaps) {
val imageView = ImageView(this)
imageView.setImageBitmap(i)
linearLayout.addView(imageView)
}
textView.postDelayed({
for (i in bitmaps) {
i.recycle()
}
}, 1000)
这段代码在轮询数组时,比Java的foreach循环要简洁很多,i在这里代表了一个Bitmap对象,bitmaps是一个数组。是不是很简单呢?
通过Kotlin使用Java代码
Kotlin提供了很强大的互操作性,这个互操作性是个什么鬼呢?就是说Kotlin可以很方便的调用Java代码,Java代码也可以很方便的调用Kotlin代码。这个方便到什么程度呢?Kotlin可以直接调用Java代码。如果你了解JNI的话,那就知道Kotlin的互操作性有多么简洁多么方便了。
使用Kotlin声明Activity:
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity)
}
}
使用Kotlin设置点击事件:
val textView = findViewById(R.id.text) as TextView
textView.setOnClickListener {
Toast.makeText(this,"Hello Kotlin!",Toast.LENGTH_SHORT).show()
}
看到没有,上面的setContentView以及下面的Toast就是Android提供的API,我们可以直接使用。并且setOnClickListener方法内部并不需要new OnClickListener对象!直接写点击实现就可以了!还有Toast的第一个参数this在Java中是一定要写Activity.this的,而这里只用写this就可以了!是不是很niubility?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# kotlin开发android
# kotlin
# android
# android支持kotlin
# Android Kotlin的使用及简单实例
# kotlin 官方学习教程之基础语法详解
# Kotlin 开发环境详解及简单实例
# Android Kotlin开发实例(Hello World!)及语法详解
# 五分钟教你Android-Kotlin项目编写
# Kotlin开发Android应用实例详解
# 使用Kotlin开发Android应用教程
# 如何利用Kotlin实现极简回调
# 应用程序
# 是一个
# 就可以
# 他们的
# 放在
# 第一个
# 只需
# 更快
# 转换为
# 很方便
# 的是
# 就会
# 是个
# 文档
# 如果你
# 都有
# 在这里
# 很好
# 会有
# 我在
相关文章:
制作网站的公司有哪些,做一个公司网站要多少钱?
建站之星如何开启自定义404页面避免用户流失?
安云自助建站系统如何快速提升SEO排名?
如何在腾讯云免费申请建站?
如何通过FTP服务器快速搭建网站?
建站主机数据库如何配置才能提升网站性能?
如何通过西部数码建站助手快速创建专业网站?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
建站之星如何助力网站排名飙升?揭秘高效技巧
,想在网上投简历,哪几个网站比较好?
如何在阿里云域名上完成建站全流程?
如何快速登录WAP自助建站平台?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何快速使用云服务器搭建个人网站?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何制作网站标识牌,动态网站如何制作(教程)?
PHP正则匹配日期和时间(时间戳转换)的实例代码
如何快速搭建个人网站并优化SEO?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
TestNG的testng.xml配置文件怎么写
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何通过建站之星自助学习解决操作问题?
建站之星如何快速生成多端适配网站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何在服务器上三步完成建站并提升流量?
建站之星如何优化SEO以实现高效排名?
如何在IIS中新建站点并解决端口绑定冲突?
中山网站推广排名,中山信息港登录入口?
已有域名和空间如何搭建网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Python如何创建带属性的XML节点
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何做静态网页,sublimetext3.0制作静态网页?
做企业网站制作流程,企业网站制作基本流程有哪些?
,柠檬视频怎样兑换vip?
建站之星如何防范黑客攻击与数据泄露?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
网站制作员失业,怎样查看自己网站的注册者?
如何高效完成自助建站业务培训?
如何在橙子建站中快速调整背景颜色?
IOS倒计时设置UIButton标题title的抖动问题
linux top下的 minerd 木马清除方法
建站之星logo尺寸如何设置最合适?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何用AWS免费套餐快速搭建高效网站?
专业网站建设制作报价,网页设计制作要考什么证?
*请认真填写需求信息,我们会在24小时内与您取得联系。