kotlin被谷歌正名都快两个月了,作为Android developer是时候学习一波了,kotlin优点有很多比如完全兼容java,空值处理,语法简洁,支持新特性等等。。。

废话不多说,直接开始配置环境搞起来,我用的AS是2.2.3版本,需要装插件,到时候AS3.0会内置kotlin。

一.kotlin环境配置


1.下载插件

等半个小时。。

2.创建kotlin Actitivity

插件安装好重启多了两项

第一次创建需要cofing一下

点击cofigure,选择自己需要的

然后就会自动配置gradle,sync一下就可以运行了

二.java文件转kotlin


安装好插件后就可以使用这个功能了,非常有用,前期不熟悉的时候,还可以写java再转kotlin

三.熟悉基本语法


语法就不一条条过了,用demo来熟悉最好了,用kotlin语法简单的把变量打印一下

class TestKotlinActivity : AppCompatActivity() {//相当于extends AppCompatActivityval UUID = 1234//常量var str: String = "hello"//声明类型的变量strvar str1 = "world"//省略类型说明的变量str1var tv: TextView? = null//可空变量用?val array = ArrayList<Int>()//定义整形数组override fun onCreate(savedInstanceState: Bundle?) {//重新onCreate函数super.onCreate(savedInstanceState)setContentView(R.layout.activity_test_kotlin)while (UUID > 0) {println(UUID)//输出array.add(8)array.add(9)array.add(10)break}for (i in array.indices) {//遍历for,还有多种写法println(array[i])}tv = findViewById(R.id.kotlin_tv) as TextView?//强转TextViewtv!!.textSize = 30f//因为tv声明为可空变量,使用时需要判空tv!!.这样空的时候就会抛空指针 tv?.就是不做处理返回nulltv!!.text = str//给TiextVew设置hello字符串tv!!.text = "$str, $str1 !"//字符串拼接为hello,world!tv?.setOnClickListener { v-> printPerson() }//lambda表达式,打印personvar intent : Intent = Intent(this, MainActivity::class.java)//::class.java类名固定写法
//        startActivity(intent)}private fun printPerson() {//定义方法var person = Person()person.name = "jake"//直接赋值person.age = 18println("name = ${person.name} and age = ${person.age}")//不是简单变量要加{}}class Person {//不需要写一大堆getter settter了var name: String? = nullvar age: Int? = null}}

打印

最后送一个官方文档

先搞一波kotlin,看它怎么说相关推荐

  1. MVVM?继续搞一波

    前言 又是好久不见了,真的不是因为我懒,是因为公司目前活确实有点着急,所以每天在忙公司的事情. 在五月下旬的时候写过一篇MVVM的文章:MVVM?瞎搞一波?.当时写的时候内心其实很慌,怕写的不好从而误 ...

  2. 频繁爬取天涯的帖子会不会被抓_web爬虫-搞一波天涯论坛帖子练练手

    今天我们将要学习如何使用BeautifulSoup库来抓取网站.BeautifulSoup是一个很好的工具,用于解析HTML代码并准确获取所需的信息.因此,无论您是从新闻网站,体育网站,还是在线商店的 ...

  3. 新款宝马MINI钥匙增加!轻松搞定,这MINI看着还可以噢

    新款宝马MINI钥匙增加!轻松搞定,这MINI看着还可以噢

  4. 一下子搞懂JDBC,看这篇就够了--以MySQL为例。

    一下子搞懂JDBC,看这篇就够了–以MySQL为例. 文章目录 一下子搞懂JDBC,看这篇就够了--以MySQL为例. 一.什么是JDBC? 二.JDBC的使用步骤 三.jdbc进阶--上述各个类或接 ...

  5. 即兴操作:详解Linux安装GCC方法-------------------------这操作很简单搞一波试试看

    详解Linux安装GCC方法 起锅烧油先准备七个包配置文件以便于查看 上传http-2.4.25.tar.gz软件包到/opt目录下 解压压缩包 修改配置文件 修改配置文件并启动服务 inux中访问h ...

  6. 小波变换网文精粹:小波:看森林,也看树木(一)

    小波变换网文精粹:小波:看森林,也看树木(一) 英文原名:Wavelets: Seeing the forest and the trees 转自:http://yswhu.bokee.com/vie ...

  7. 没想到《天龙八部》这段,只有搞IT的才看得懂

    七夕活动!文末赠送5本新书 作者:ktangels https://www.zhihu.com/question/277848777/answer/524115384 <天龙八部>是金庸先 ...

  8. 《天龙八部》这段高潮,只有搞 IT 的才看得懂

    微信搜索逆锋起笔关注后回复编程pdf 领取编程大佬们所推荐的 23 种编程资料! 作者:ktangels https://www.zhihu.com/question/277848777/answer ...

  9. 搞电脑的必看,微软sysinternals超级工具包

    搞电脑的必看,微软sysinternals超级工具包 2010年07月02日 sysinternals suite 工具包 http://www.sysinternals.com 官网,有中文版. h ...

最新文章

  1. python爬虫教程下载-Python爬虫入门教程!手把手教会你爬取网页数据
  2. JS Window.Open 打开窗口详解
  3. 定域性和实在性之矛盾的世界
  4. linux系统查看当前安装字库,linux下怎样安装中文字体?
  5. 前端学习(1685):前端系列实战课程之设置难度
  6. ue查找文件中每行第二个单词_UI设计和UE/UX设计有什么区别?它们的晋升路径是什么?...
  7. 可能是全网最通俗易懂的微服务架构改造解读
  8. mysql 多个值求和_SQL优化大神玩转MySQL函数系列(2)LEAST,SUM的应用
  9. 应力偏张量的物理意义_物理学中张量的由来
  10. 携程专车入局:牌照在手,说走就走
  11. 测试机器学习算法的好坏
  12. 如何提升团队凝聚力,打造高绩效团队?
  13. 一文入手 JUC(20+单元)
  14. Vue全家桶打造自适应 web 音乐播放器
  15. 计算机管理-磁盘管理中进行扩展卷操作,Win8系统如何进行磁盘管理?
  16. jQuery源码分析理解
  17. python学习笔记--Dictionary
  18. Supervisor守护Java进程_使用Supervisor来守护我们的服务
  19. leetcode | 971. Flip Binary Tree To Match Preorder Traversal(DFS/preorder)
  20. latex 表格引用出错 出现?? You have referenced something which has not yet been labelled

热门文章

  1. 国家互联网信息办公室:发布关于《区块链信息服务管理规定(征求意见稿)》
  2. sharepoint 2010 在线学习系统-培训系统-资源库系统 扩展
  3. c语言arc函数带几个参数,ARC的使用简要总结
  4. win10系统cmd模式下输入python弹出Windows应用商店 解决方法
  5. 常见的电子元器件的代表字母
  6. 【趣学算法】第一章 算法之美(上)
  7. 转-xmind7破解方法
  8. ESP32与掌控板IO接口编程入门 | ESP32轻松学(Arduino版)
  9. 计算机综述性论文范文例文,综述性论文范文例文(综述论文范文模板例文)
  10. todolist效果实现