当前位置: 首页 > news >正文

Kotlin笔记(零)简介

百度百科简介

2017年,google公司在官网上宣布Kotlin成为Android的开发语言,使编码效率大增。Kotlin 语言由 JetBrains 公司推出,这是一个面向JVM的新语言

参考资料

  • 官网:https://kotlinlang.org/
  • 中文官网:https://www.kotlincn.net/docs/reference/
  • 官方博客:https://blog.jetbrains.com/kotlin/
  • 源码:https://github.com/JetBrains/kotlin
  • 菜鸟教程:https://www.runoob.com/kotlin/kotlin-tutorial.html

优点:

  • 简洁: 大大减少样板代码的数量。
  • 安全: 避免空指针异常等整个类的错误。
  • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
  • 工具友好: 可用任何 Java IDE 或者使用命令行构建。

Android Studio配置

1、通过 AS 工具添加
在这里插入图片描述
2、手动添加

project/build.gradle

buildscript {...dependencies {classpath "com.android.tools.build:gradle:7.0.0"classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10'}
}

app/build.gradle
KTX是 Android 官方提供的一个 Gradle 插件,能够为开发者提供便利,它最著名的功能就是能够省掉findViewById。

plugins {id 'com.android.application'id 'org.jetbrains.kotlin.android'id 'kotlin-android-extensions'
}
dependencies { ...implementation "androidx.core:core-ktx:+" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 
}

扩展函数还能消灭一切 xxUtils.java

// 以前使用 TextUtils
if (TextUtils.isEmpty(response)) {return
}// 现在看起来好像是有一个成员方法
if (response.isNullOrBlank()) {return
}

如何查看 kotlin 对应的字节码

Tools -> Kotlin -> Show Kotlin Bytecode 打开 Kotlin Bytecode 面板
在这里插入图片描述
在字节码弹窗的左上角找到 Decompile 按钮,这样就能看到 Kotlin 等价的 Java 代码了。
在这里插入图片描述

http://www.lryc.cn/news/90557.html

相关文章:

  • android 12.0去掉usb授权提示框 默认给予权限
  • 工作积极主动分享,善于业务沟通
  • Opencv-C++笔记 (1) : opencv的数据结构
  • 什么是时间复杂度?
  • Spring框架中有哪些不同类型的事件
  • Codeforcs 1732C2 暴力
  • Python安全和防护:如何保护Python应用程序和用户数据的安全
  • [转载]Nginx 使用 X-Accel-Redirect 实现静态文件下载的统计、鉴权、防盗链、限速等
  • 继电器的详细分类
  • docker的底层原理,带你上天
  • HNU-电子测试平台与工具2-串口实验5次
  • Ext JS嵌套分组表格的实现
  • 【配电网重构】基于改进二进制粒子群算法的配电网重构研究(Matlab代码实现
  • Python编程语言简介
  • ChatGPT国内免费访问
  • 从零到无搭建Vue项目及代码风格规范
  • ASP.NET基于BS结构的实验室预约模型系统(源代码+论文)
  • Java货运物流园管理系统源码
  • Linux4.2LAMP
  • 车载ECU休眠唤醒-TJA1145
  • 平衡二叉树的插入,删除以及平衡调整。
  • 评价指标计算
  • Spring Boot如何实现OAuth2授权?
  • 【最小生成树模型】
  • 【JavaSE】Java基础语法(三十):HashMap与TreeMap
  • Sangria:类似Nova folding scheme的relaxed PLONK for PLONK
  • 【蓝桥杯省赛真题22】python剩余空间问题 青少年组蓝桥杯比赛python编程省赛真题解析
  • 基于深度学习的高精度牙齿健康检测识别系统(PyTorch+Pyside6+YOLOv5模型)
  • C++的类
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 划分子网、构造超网