【kotlin】android studio 配置kotlin插件(一)

2023-05-16

前言

2017 Google I/O大会宣布将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。

JetBrains在2010年首次推出Kotlin编程语言,并在次年将之开源。下一版的Android Studio(3.0)也将提供支持。
目前,在Android Studio的最新版本(2.3.2)上,需要下载Kotlin插件来支持Kotlin的开发。

Kotlin语言目前还是一个基于JVM(Java Virtual Machine)的语言,意味着和Java一样,也是运行在Java的虚拟机Runtime中的。
那Kotlin既然和Java一样都是基于JVM的语言,那支持安卓开发有什么意义呢?其实Kotlin是一门非常现代化的编程语言,比起来Java也有很多的优点。

优势

(1)Kotlin可以使用Java所有的Library,两种代码可以在同一个项目中共存,甚至可以做到双向的一键转换。
(2)在Java编程中,开发者经常会遇到的一个问题就是null pointer exception,而使用Kotlin却完全不会遇到这类的问题。
(3)Kotlin在代码中很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或是函数返回值的类型。这样就更加的简洁与安全。

关于是否转向Kotlin开发android app,我们可以听一下android专家的意见

安装

我的anddroidstudio版本是2.3的

在线安装: File–>Settings–>Plugins–>Browse repositories 搜索kotlin

kotlin_1

kotlin_2

kotlin_3

点击Install,安装,安装成功后重启studio,会发现新建类的时候,多了两个文件KotlinFile/Class —— 一般的kotlin文件
Kotlin Activity —– kotlin的activity文件

kotlin_4

本地安装:

如果你无法安装kotlin插件,下载不下来可以通过本地安装
插件地址:http://download.csdn.net/detail/feibendexiaoma/9848739
先下载好插件,然后同样File–>Settings–>Plugins–>Install Plugin from disk 选择你本地已经下载好的kotlin插件,

kotlin_5

这时会发现已下载的插件库中有了kotlin

kotlin_6

然后重启studio.

kotlin配置

新建kotlin文件后,窗口右上角会有configure,点击配置,

kotlin_7

你可以选择整个module配置或者单个module配置,选择kotlin的编译版本,根据你下载的版本对应选择。

配置完成后打开你的根build.gradle文件会发现多了两行代码,是你刚才选择的kotlin版本,

kotlin_8

在你的moudle的build.gradle中也多了两行代码

kotlin_9

dependencies中

kotlin_10

到此说明你的kotlin配置成功,可以使用了。
我分别创建了两个类,一个是直接的new File类

/**
 * Created by kaifa on 2017/5/22.
 */
class TestKotlin {
}

另一个是Activity文件

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【kotlin】android studio 配置kotlin插件(一) 的相关文章

  • Android SoundPool 堆限制

    我正在使用 SoundPool 加载多个声音剪辑并播放它们 据我所知 它的功能 100 正确 但在 load 调用期间 我的日志中充斥着以下内容 06 09 11 30 26 110 ERROR AudioCache 23363 Heap
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • 在自定义对象中创建时粘性服务不会重新启动

    我有一个具有绑定服务的单例对象 我希望它重新启动 当我从启动器启动应用程序时 单例对象将初始化并绑定到这个现有的服务实例 以下是在单例中创建和绑定服务的代码 public class MyState private static MySta
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • Android libgdx 首选项丢失

    我在 Libgdx 引擎中创建了 Android 游戏 一段时间后 我注意到在某些应用程序杀手中杀死该应用程序后 或者如果我在 Android 设置中执行 强制关闭 操作 我保存到首选项中的游戏选项就会丢失 有办法防止这种情况吗 我从来没有
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • RxJava、Proguard 和 sun.misc.Unsafe

    我有以下问题RxJava 1 1 0 使用时Proguard 我没有更改 RxJava 版本或其 pro文件 但更新后OkHttp我无法编译使用Proguard因为我有关于sun misc Unsafe不在场 rxJava pro keep
  • 在意图过滤器中使用多个操作时的默认值

    尝试理解 Android 中的意图和操作并查看文档 http developer android com guide topics intents intents filters html 但我一直看到的一件事是定义了多个操作的意图过滤器
  • 获取 AlarmManager 中活动的 PendingIntents 列表

    我有办法获取活动列表PendingIntent在设备中 我开始工作AlarmManager我想看看我的PendingIntents 已正确创建和删除 也很高兴看到其他什么PendingIntent在那里 只是为了看看某些应用程序是否正在做一
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • Android Studio:无法启动守护进程

    当我尝试在 Android Studio 中导入 gradle 项目时 遇到以下错误 Unable to start the daemon process This problem might be caused by incorrect
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项

随机推荐

  • 基于SSM网上商城购物系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的学生考勤管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于JavaWeb的宿舍管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 今天给大家介绍一篇基于SSM的教材管理系統的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 教材征订和下发系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的企业管理系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • jsp点击事件大全

    lt input onclick 61 34 document all WebBrowser ExecWB 1 1 34 type 61 34 button 34 value 61 34 打开 34 name 61 34 Button1 3
  • MySql数据查询中 left join 条件位置区别

    A 和 B 两张表都只有一个 ID 字段 比如A表的数据为 ID 1 2 3 4 5 6 B表的数据为 ID 1 2 3 判断 JOIN 查询时候条件在 ON 和 WHERE 时的区别 ON 和 WHERE 查询顺序有关 标准查询关键字执行
  • 身份证规则验证 Java代码

    package com mxg hmms util import java text SimpleDateFormat import java util Date 验证身份证号码 身份证号码 可以解析身份证号码的各个字段 xff0c 以及验
  • JAVA 定时器的三种方法

    package com utils import java util Calendar import java util Date import java util Timer import java util TimerTask Crea
  • 【python】文本处理:删除包含关键词的行、删除指定列、删除指定字符、替换关键字……

    目录 1 行处理 删除文件中包含关键词的行 删除TXT中的带 不带指定字符的行 xff08 并保留带指定字符的行 xff09 删除匹配or不匹配某些条件的行 2 字符处理 删除特定字符 1 1 删除特定位置的字符 1 2 删除指定字符 1
  • MySql按周,按月,按日分组统计数据

    MySql按周 xff0c 按月 xff0c 按日分组统计数据 DATE FORMAT select DATE FORMAT create time 39 Y u 39 weeks count caseid count from tc ca
  • Linux中编辑定时执行shell脚本,清除tomcat日志

    linux定时执行shell脚本 写一个shell脚本 xff0c 定时执行简单示例 很多时候我们有希望服务器定时去运行一个脚本来触发一个操作 xff0c 比如说定时去备份服务器数据 数据库数据等 不适合人工经常做的一些操作这里简单说下 S
  • Linux中的远程登录服务

    1 实验环境 两台单网卡的主机 一台为服务器 xff0c 主机名为westos system xff0c ip地址为192 168 2 100 一台为客户端 xff0c 主机名为westos client xff0c ip地址为192 16
  • 线程调度的方法()

    1 sleep 在睡眠的时候 会释放cpu 让给其他线程执行 即使没有其他线程 抢占cpu 也需要等待睡眠时间到了以后才能真正的指定 package com qf demo3 span class hljs keyword public s
  • Centos 后台服务 screen 关闭所有后台服务

    查看当前 screen 列表 xff1a screen ls 查看 screen 数量 xff1a screen ls awk 39 Socket 39 awk 39 print 1 39 按照数量来关闭 xff0c 如果当前所有六个 xf
  • Android解包打包system.img的方法

    1 system img为yaffs2镜像 2 解包 对system img的解包需要用到unyaffs这工具 下载地址 xff1a http code google com p unyaffs downloads list 下载以后和sy
  • 怎样解决迅雷下载时的版权限制-两招解决迅雷下载版权限制

    随着版权意识越来越强 xff0c 现在很多影视资源无法在网上下载 xff0c 即使能找到的 xff0c 大部分也会因为版权问题无法下载 比如我们常用的迅雷 xff0c 大量电影电视剧会因为版权限制无法下载 如何突破这种限制呢 xff01 下
  • 出现`Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR`错误的解决办法

    出现Could not create cudnn handle CUDNN STATUS INTERNAL ERROR错误的解决办法 问题分析 xff1a 出现Could not create cudnn handle CUDNN STAT
  • 【kotlin】android studio 配置kotlin插件(一)

    前言 2017 Google I O大会宣布将Kotlin语言作为安卓开发的一级编程语言 Kotlin由JetBrains公司开发 xff0c 与Java 100 互通 xff0c 并具备诸多Java尚不支持的新特性 谷歌称还将与JetBr