开发者社区> 小猪看流星> 正文

Kotlin学习探索-1

简介: 前言: 今天是2018年10月24日,也就是1024节,在这里首先祝福大家节日快乐,祝福各位研发朋友开心快乐、身体健康 1024节日快乐 本篇文章是《Kotlin学习探索》系列的第一篇,本篇文章主要学习的知识点有: Kotlin在Android Studio上的环境搭建 Kotlin在Android Studio上的应用和可视化直观对比 Kotlin在Android Studio上的环境搭建: Android Studio 从 3.0(preview)新版本开始就已经内置安装了 Kotlin 插件。
+关注继续查看
前言:

今天是2018年10月24日,也就是1024节,在这里首先祝福大家节日快乐,祝福各位研发朋友开心快乐、身体健康


img_518d0a5ec094f0231f2f1b300fadcc7e.png
1024节日快乐

本篇文章是《Kotlin学习探索》系列的第一篇,本篇文章主要学习的知识点有:

  • Kotlin在Android Studio上的环境搭建
  • Kotlin在Android Studio上的应用和可视化直观对比
Kotlin在Android Studio上的环境搭建:

Android Studio 从 3.0(preview)新版本开始就已经内置安装了 Kotlin 插件。如果没有的话,可以在studio上依次点开:File - Settings(可以直接快捷键:ctrl+ALT+s) - Plugins - Browse Repositories,接着,搜索关键字:Kotlin,然后点击右上角的install,下载完毕之后会重启Android Studio。这是已经安装成功的参考图,如下:

img_1f7b90c9a03a2d4cdef1268cf598845a.png
Kotlin配置界面

插件下载完毕以后,我们开始创建一个Kotlin的新项目,跟传统创建方式不一样的地方是,需要在创建项目的时候,勾选:Include kotlin support选项,如下图红色矩形:

img_5d6d5ad9ff308a098adfa9562bb0baeb.png
勾选Kotlin配置

勾选完毕以后,设置相对应的Application name、Company name、Project location、Package name等基本信息之后,后续的步骤跟传统构建新项目的时候一样,然后耐心等待工具构建新项目即可。
这样,Kotlin在Android Studio上的环境搭建以及第一个Kotlin项目就已经完成了。

Kotlin在Android Studio上的应用和可视化直观对比:

既然是Kotlin项目,我们先抛开语法基础这些,首先直观感受一下跟传统项目的差异,究竟有那些不一样。为了区分差异,这里规定:红色代表Kotlin项目,蓝色代表传统Java项目

  • 首先对比下2个项目的Project的build.gradle(对比一)

通过截图可以看到,Kotlin项目的Project-build.gradle比传统项目的Project-build.gradle,在dependencies这个标签下多了一个value,也就是classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:kotlin_version",这里的$kotlin_version是占位符,具体的属性值是指向的是1.1.51,至于repositories和allprojects这2个标签倒是没有变化(因为都是指定远程依赖库)

img_0faff32d15978d7660672a07e71ed961.png
对比一
  • 在对比下2个项目的Module:app的build.gradle(对比二)

通过截图可以看到,Kotlin项目的Module:app-build.gradle比传统项目的Module:app-build.gradle多了2个apply plugin,分别是 apply plugin: 'kotlin-android'以及 apply plugin: 'kotlin-android-extensions' 试想,当我们原来区分一个Module是App还是library的时候,都是根据 apply plugin: 'com.android.application\library'这个标签属性来区分的,因此新增的两个标签也就从侧面反映了这是一个Kotlin项目。

img_61496ccecb03f4d11b47111ce55a2471.png
对比二

  • 接着对比下2个项目的Activity的代码(对比三):
    毕竟Activity的代码才是我们最需要关注的。通过截图最直接感受的就是有如下差异:
  1. 首先,传统的类修饰符以及方法修饰符(public protect)没有了;
  2. 然后,extends关键字没有了,Kotlin取而代之的是 :这个分号;
  3. override注解没有了,Kotlin取而代之的是override fun写在一行;
  4. Java方法上的参数顺序是: 数据类型在前 数据名在后,Kotlin却是反过来的,数据名在前 数据类型在后;
  5. Kotlin的分号没有了
img_cfbdf1605441bef1c2d3ab54c3b1b8ad.png
对比三

综上,以上对比可以看出Kotlin在语法上和写法上跟Java有较大的差异。语法算不上很简洁,可能需要进一步学习才能体会到Kotlin的优势。

总结:

本篇文章我们主要学习了:Kotlin在Android Studio上的环境搭建、Kotlin在Android Studio上的应用和可视化直观对比。总的来说,第一篇文章内容不是很多,主要是初步了解Kotlin的基本构建以及Kotlin项目的初体验、对比传统项目的差异。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
一.类和对象 1. 类 Kotlin和java的类的声明都是一样的,用class表示,比如 class TestClass { } 如果是空类的话,大括号都可以省了 2.
1373 0
Kotlin学习快速入门(3)——类 继承 接口
Kotlin学习快速入门(3)——类 继承 接口作者:@stars-one本文为作者原创,转载请注明出处:https://www.cnblogs.com/kexing/p/11262112.html 类参考链接 类定义格式使用class关键字定义,格式如下: 复制class T{ //属性 //构...
429 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25230 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18989 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20690 0
Kotlin的一点学习资源
本来想写一点Kotlin的文章的,后来看了一下它的中文文档,质量很不错。我再写就纯属浪费时间了。所以这里干脆整理一点Kotlin的学习资源吧。 文档类 Kotlin官方网站 Kotlin官方文档 Kotlin中文网站 Kotlin中文文档 Kotlin中文文档PDF版 代码类 Kotlin在线IDE Kotlin Koans,一些Kotlin练习,帮助你学习和熟悉Kotlin语法。
1639 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
17197 0
+关注
小猪看流星
拥有二十万字以上的原创技术博客、博客内容有Android开发、Java、JavaScript基础、MYSQL数据库、Go语言基础,未来的方向是研究大数据......希望前辈大牛多多指点。个人技术博客地址:https://www.jianshu.com/u/0111a7da544b
68
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载