安卓集中营Ios@IONICKotlin专题

Swift开发者的福音-开发Android,java迁移Kotl

2017-05-18  本文已影响2924人  RamboLu

前言:北京时间的17日23点,谷歌一年一度的I/O开发者大会召开.就在这第一天,谷歌安卓团队大会上宣布Kotlin成为Android的主力开发语言,其实在之前这个语言就已经支持了安卓平台开发,但是直到今天谷歌开发者大会上才宣布对该语言的全面支持和维护,至此之后代码将更加简洁.
最近项目上线,CTO说闲暇之余学习下安卓,无奈重新啃java的语法,这是多么痛的领悟,可是一觉醒来,万物复苏.
作为热衷Swift的iOS开发者,看到Kotlin语法是多么的熟悉.23333.

一、Kotlin的迁移.

1、安装一个Kotlin的插件.

Ps:使用Android Studio开发安卓.听说Android Studio 3.0 预览版已支持 Kotlin了,就可以跳过这一步了.

2、java文件迁移Kotlin

Kotlin插件提供了迁移入口, jetbrains真是良心卖家啊.

Ps:和Swift迁移感觉一样,


Paste_Image.png

原本java文件的MainActivity:

package com.example.rambolu.testkotlin;

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);
    }
}

迁移后kt文件的MainActivity:
Ps:迁移后发现眼前的画面似曾相识...

package com.barryzhang.kotlinhello

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

对比swift文件的ViewController:
Ps:真的和Kotlin是孪生姐妹...


import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

3、配置Kotlin.

版本和路径
以及你的app->build.gradle中添加了Kotlin的依赖 同步

二、Kotlin与Swift对比学习.

Kotlin的官方文档:
http://kotlinlang.org/docs/reference/basic-syntax.html
民间翻译中文版:
https://huanglizhuo.gitbooks.io/kotlin-in-chinese/Basics/Basic-Types.html
Swift的官方文档:
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309
以及Kotlin和Swift对比文档
http://nilhcem.com/swift-is-like-kotlin/
以下简单举例语法的相似之处,具体开发中涉及到的类库还要看各家介绍.

Swift
let :常量  ,var :变量
var a :  Int = 0   
a = 1
let b = 2

Kotlin 也支持类型推导
val :常量  ,var :变量
var a : Int = 1   
 a = 2
val b = 1 
Swift
print("Hello, world!")
Kotlin
print("Hello, world!") println("Hello, world!")   // 和Swift 1.0中使用到的类似
Swift
let name = "rambolu"
let age = 25
print("我的名字: \(name), 我的年龄 : \(age) ") 
Kotlin
val name = "rambolu"
val age = 25
println("我的名字: ${name}, 我的年龄 ${age} ") 
Swift
let arr = ["a", "b", "c", "d"]
for i in 0..<arr.count {
    print(" \(i) + \(arr[i])")
}
Kotlin
val arr = arrayOf("a", "b", "c", "d")
val count = arr.count()
for (i in 0..count - 1) {
    println("${i} + ${arr[i]}")
}

三、后记

上一篇 下一篇

猜你喜欢

热点阅读