Android Studio 3.0 原生支持kotlin 例子详解
作者:爱学习的坏蛋 发布时间:2023-10-30 04:28:14
安卓虽然已经成为了移动设备第一操作系统,且影响力也延伸到了汽车和tv端,不过对于谷歌来说,需要依靠Java来做安卓开发一直是一个心病,因为Oracle公司因为java和谷歌在安卓系统上的诉讼搞得心力憔悴。
现在好了,谷歌官方正式支持Kotlin(官方网站 https://kotlinlang.org/,居然没被墙)成为官方认可的安卓开发第一语言,而且从Android Studio 3.0开始,将直接集成Kotlin而无需安装任何的插件。这个语言是由JetBrains去年发明的,它受到欢迎,主要是因为它运行在Java虚拟机上,可以和java一起使用来构建应用程序。 这意味着开发人员可以使用现有的代码,轻松地构建新的功能或替代Java代码。 由于Kotlin依赖于Java,所以这两种语言都将继续得到支持。
谷歌将致力于推动Kotlin相关安卓开发工具的发展,使得使用Kotlin来开发安卓应用更加高效。当然生态系统不是一天就可以创建好的,Kotlin何时可以取代Java成为安卓开发第一语言还需要时日。
开干吧
假设你已经下载好了android studio 3.0
1.创建项目,必须要选中include Kotlin 不然就还是默认java开发
2.下一步, 下一步 然后就完成了(第一次会很长的时间, 因为那些库基本上都在国外,你懂的)
val fab = findViewById(R.id.fab) as FloatingActionButton
这里的”findViewById”可以省略, 我们再添加一个, 在app/build.gradle里面
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
然后代码就可以写成
fab.setOnClickListener { view->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()
}
有没有惊喜? 其实呢, kotlin我最喜欢的还是它的扩展特性, 这样就可以省略了很多工具类. 比如我们给View添加一个扩展方法.
新建一个kotlin文件:ViewEx, 添加上扩展函数
测试一下:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
fab.setOnClickListener { view->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()
view.log("测试扩展函数")
println("扩展属性值:${view.type}")
}
}
打印出结果:
是不是很方便? 不用单独去写什么工具类了.
来源:http://blog.csdn.net/qq634416025/article/details/72475604


猜你喜欢
- 本文将通过AOP的方式实现一个相对更加简易灵活的API安全认证服务。我们先看实现,然后介绍和分析AOP基本原理和常用术语。一、Authori
- 本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI。1先看效果图: 第一:chat.xml设计 &l
- 一般在android显示一个View都是通过Activity的setContentView设置的,但是还有一种方法,可以直接使用Window
- 我在Eclipse/MyEclipse环境下都测试过了,都好使。需要2个组件,分别是: ext-4.0.2a.jsb2 spke
- 本文使用的Unicode+DLL+Debug的方式,因为不想最后生成的exe文件太大。环境搭建步骤如下:1、下载wxWidgets包:登录w
- 之前写过一篇刷新加载《RecyclerView上拉加载和下拉刷新(基础版)》 ,这次是进行改装完善。代码中注释的很详细,所以就直接上代码了。
- ForkJoin简介Fork/Join框架是Java 7提供的一种用于并行执行任务的框架,它将大任务分解为若干个小任务,并行执行这些小任务,
- 一、封装一个工具类1、简易版package net.aexit.construct.acceptance.websky.utils;impo
- 1 . pom.xml添加相关依赖<parent> <groupId>org.spring
- 当遇到以下场景:其他人写的单元测试影响统计结果一些需要调用外部接口的测试暂不运行需要在非本机环境上运行一些不回滚的单元测试则有必要选择以下方
- using System;using System.Collections.Generic;using System.Linq;using
- MVP(Model-View-Presenter) 是总所周知MVC模式的一个演变,他们的主要目的都是划分模块职责,降低模块耦合,易测试,提
- 概述ReentrantReadWriteLock不知道大家熟悉吗?其实在实际的项目中用的比较少,反正我所在的项目没有用到过。Reentran
- 算法思想快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-
- 本文实例为大家分享了Android系统级悬浮按钮的具体代码,供大家参考,具体内容如下具体的需求1、就是做一个系统级的悬浮按钮,就像iPhon
- 发现问题在C#连接SQL Server时,明明添加了引用using System.Data.SqlClient;却出现了下面这种情况:原因:
- 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商
- 本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,当一个动作有多种实现方法,在实际使用时,
- 本文实例总结了Java编程实现生成给定范围内不重复随机数的方法。分享给大家供大家参考,具体如下:在Java中的Math类中存在一个rando
- 本文介绍了Android BottomSheet效果的两种实现方式,分享给大家,具体如下:BottomSheet效果BottomSheet的