分享下学习Kotlin的历程-环境/简单使用
来源:互联网 发布:fluke网络测试仪使用 编辑:程序博客网 时间:2024/06/05 10:17
转载请注明出处:王亟亟的大牛之路
从4月开始到现在 一直都在忙React-Native项目的事,途中基本没碰安卓代码,Kotlin这一块之前张涛/医生他们这些先行者开始写文章的时候就已经有所了解,直至”上位”后也没时间静下来钻研,最近逼着自己要静下心来攻克一下,所以写点东西记录一下。
内容各平台也许有重复的,我也不首发,只是自己的理解和整理,键盘侠就不要装逼了,谢谢
在”旧”的编译器Eclipse也做了支持,但是本文都是用AS操作的,用”EC”的恕我无法解决,请原谅
集成
AS 3.0自带集成了Kotlin的插件,但是并不是稳定”绿色”版本,出于强迫症的原因,并没有使用3.0
旧版可以使用下JetBrains plugin
如果一直在这里卡条,这里童工一个下载地址:https://plugins.jetbrains.com/plugin/6954-kotlin
安装完重启下AS就OK了
然后就是初始化一下项目,像这样
手改或者Configure调整都可以
此时 tools的转换按钮就可以使用了,java和kotlin代码可以无缝转换
此时你已经可以跑了,不信你试试!!
拓展
依赖注入相关也可以完美演绎,拓展插件如下
apply plugin: 'kotlin-android-extensions'
倒包的时候
import kotlinx.android.synthetic.main.<布局>.*
像这样
import kotlinx.android.synthetic.main.activity_main.*
简单的写一个触摸事件
package demo.wjj.com.kotlinandroiddemoimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.widget.Toastimport kotlinx.android.synthetic.main.activity_main.*class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Log.d("--->", "MainActivity onCreate") setContentView(R.layout.activity_main) button.text = "我是被改之后的按钮" button.setOnClickListener { Toast.makeText(this,"MainActivity setOnClickListener",Toast.LENGTH_SHORT).show() } } override fun onDestroy() { super.onDestroy() Log.d("--->", "MainActivity onDestroy") }}
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="demo.wjj.com.kotlinandroiddemo.MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是一个按钮" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>
使用非常简单,给我的感觉更像Js(个人看法,不够深入,继续学习)
Kotlin调用Java类
首先,我们建一个简单的Java类
public class People { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public People(String s) { name = s; }}
刚才的业务代码里做一些修改
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Log.d("--->", "MainActivity onCreate") setContentView(R.layout.activity_main) button.text = "我是被改之后的按钮" button.setOnClickListener { Toast.makeText(this, "MainActivity setOnClickListener", Toast.LENGTH_SHORT).show() } printObj.setOnClickListener { val people = People("WangJJ") Toast.makeText(this, people.name, Toast.LENGTH_SHORT).show() } } override fun onDestroy() { super.onDestroy() Log.d("--->", "MainActivity onDestroy") }}
kotlin定义变量有几种姿势,像这样
val wjj:Int=1 // 立即赋值val wjj1 = 2 // 自动推断出 `Int` 类型 val wjj2: Int // 如果没有初始值类型不能省略 wjj3 = 3 // 明确赋值
整体体验下来学习周期应该不会太长,语法也不算复杂,有基础的小伙伴可以轻易上手,我也会陆续跟进,之后写个Demo项目吧。
谢谢!
阅读全文
1 0
- 分享下学习Kotlin的历程-环境/简单使用
- 分享下学习Kotlin的历程-变量/数据类型(1)
- 分享下学习Kotlin的历程-数据类型(2)
- 分享下学习Kotlin的历程-开始写逻辑吧 if/for/while/when
- 分享下学习Kotlin的历程-访问作用域/类修饰词/继承
- 分享下学习Kotlin的历程-构造函数/抽象类/枚举
- 在Kotlin的语言环境下使用ButterKnife框架
- Kotlin学习(一)简单了解下Kotlin
- Kotlin的简单使用练习
- 关于kotlin的简单使用
- Kotlin环境下使用如何butterKnife
- Android学习历程18-SeekBar的简单使用
- kotlin学习资料分享
- Linux下Kotlin的开发环境安装
- KotLin的简单使用 KotLin入门基础 AndroidStudio中配置KotLin插件 新建KotLin工程
- Android Studio Kotlin插件的简单使用
- LitePal的简单使用(kotlin实现)
- 和大家分享下我的找工作历程。
- set()集合的概念、方法和操作
- 小白成长记——Android基础之Android Studio开发常用快捷键
- 2017.8.7 GT考试 思考记录
- 剑指offer--包含min函数的栈
- Linuxbridge-tap研究
- 分享下学习Kotlin的历程-环境/简单使用
- 基于LinkedBlockingQueue的生产者消费者模型
- Laravel 发送邮件
- 哈希--直接定值法和除留取余法
- 115个Java面试题和答案
- 设计模式初探-工厂方法模式
- lua学习之table类型
- hdu(杭电oj)第一页题目题解
- Linux软件包管理