Android中Kotlin简单入门(一)
来源:互联网 发布:windows pe干什么用的 编辑:程序博客网 时间:2024/06/02 03:32
前言
Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:
1.兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android 设备上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构建系统。
2.性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着 Kotlin 对内联函数的支持,使用 lambda 表达式的代码通常比用 Java 写的代码运行得更快。
3.互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现有的 Android 库 。这包括注解处理,所以数据绑定和 Dagger 也是一样。
4.占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际应用程序中,Kotlin 运行时只增加几百个方法以及 .apk 文件不到 100K 大小。
5.编译时长:Kotlin 支持高效的增量编译,所以对于清理构建会有额外的开销,增量构建通常与 Java 一样快或者更快。
安装Kotlin插件
Android Studio 从 3.0(preview)版本开始将内置安装 Kotlin 插件。(现在我们基本上使用的都是一些老的版本,不过不用担心,我们可以安装插件来使用我们的Kotlin插件) 需要通过File | Settings | Plugins | Install JetBrains plugin… 搜索并安装 Kotlin 插件。 在 Android Studio 欢迎界面中,可以通过 Configure | Plugins | Install JetBrains plugin… 。 安装完成后需要重新启动 Android Studio。
Java转换Kotlin
如果作为一个初学者来说,创建工程也不难,用Android studio 开发的时候,问一下度娘,相信你有很多的问题都会迎刃而解的。使用Kotlin来进行android的开发还是比较容易的。在android studio 3.0中,可以选择使用Kotlin创建Activity,但是在老版本中还是不可以的,这时我们就想到了,Kotlin插件。可以先使用Java来写代码,然后转换成Kotlin代码(将Java转换成Kotlin(Converting Java code to Kotlin 这一步骤))
那么怎么把Java转换成Kotlin呢?
打开创建好的新项目,知道MainActivity.java文件使用 Convert Java File to Kotlin File 命令。可以通过菜单栏依次调出 Code | Convert Java File to Kotlin File 或使用快捷键(菜单栏入口可见)完成操作。
转换之前的Java代码:
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
上面是转换之前的,那么我们现在通过Code | Convert Java File to Kotlin File 或使用快捷键:
按照上面操作之后,转换的代码为:
import android.support.v7.app.AppCompatActivityimport android.os.Bundleclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) }}
工程中配置Kotlin
如果现在就进行编译的话,android studio 会提示你还未进行配置Kotlin,根据提示要完成Kotlin为配置:Kotlin Configure 操作或菜单栏中选择tools工具如下:
弹出框后,选择安装最新版本即可。
Kotlin配置完成之后,Build.gradle文件便会更新,你会看到新增了apply plugin: ‘kotlin-android’及其依赖包。
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'//此处android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.law.hxfkotlindemo" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' testCompile 'junit:junit:4.12' compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"//此处}repositories { mavenCentral()}
构建和发布用于Android的Kotlin用于程序
最后构建应用程序,在虚拟机或连接的设备上运行。 所有这些工作与 Java 并无区别。 你可以发布应用程序,并以类似于使用 Java 编写的 Android 应用程序的方式进行签名。
Kotlin有着极小的运行时文件体积:整个库的大小约 859KB(1.1.3-2 版本)。这意味着 Kotlin 对 apk 文件大小影响微乎其微。
就对比 Kotlin 与 Jav a所编写的程序而言,Kotlin 编译器所生成的字节码看上去几乎毫无差异。
学习记录而已,不喜勿喷!
- Android中Kotlin简单入门(一)
- Kotlin Android入门学习一
- Kotlin开发Android入门(一)
- Kotlin基础(一)android studio中配置Kotlin
- Kotlin基础(一)android studio中配置Kotlin
- kotlin入门(中)
- Kotlin Android(一)
- Kotlin基础入门(一)
- KotLin的简单使用 KotLin入门基础 AndroidStudio中配置KotLin插件 新建KotLin工程
- Android Kotlin(一)—— Kotlin 入门与 HttpURLConnection 网络请求
- Android kotlin入门与基础语法一
- kotlin开发Android入门篇一
- Kotlin for Android(一)在android Studio中配置Kotlin
- Android 中使用 Kotlin 快速入门
- android kotlin与Java互操作(一)在 Kotlin 中调用 Java 代码
- Kotlin学习一 Android Studio 中安装 Kotlin Plugin
- Kotlin学习(一)简单了解下Kotlin
- Kotlin Reference(一)-入门指南
- ASCII码对照表
- 虚拟机类加载机制
- Toast认识吗?教你如何打造炫酷Toast
- Shiro_001
- 博弈搜索练习-极大极小值搜索+AlphaBeta剪枝--POJ 1085-Triangle War/三角点格棋
- Android中Kotlin简单入门(一)
- REACT-REDUX用法详解
- Shiro—001
- 笔记-多Web项目,未能加载文件错误
- VS2015 新建项目提示 未将对象引用设置到对象的实例 解决方法
- MAVEN入门详解
- My97DatePicker日期插件的常用功能说明
- Lua模式匹配问题
- 用广度搜索解动态规划题——HDOJ 1176 免费馅饼