Android Kotlin开发尝鲜

来源:互联网 发布:什么软件做假章 编辑:程序博客网 时间:2024/06/05 12:43

2017年google开发者大会宣布Kotlin为Android开发的第一语言,这无疑算是一个重磅炸弹。个人看了看Kotlin的语法,感觉google这个思路有点像苹果ios开发的swift和OC,而Kotlin的语言性质和语法也与swift相仿,闲话少叙,做个简单的demo尝尝鲜再说。


首先,下载Android Studio 3.0,之所以下载尝鲜版的3.0,是本人实在不想去配置Kotlin了,而且将来Android Studio3.0发布后,直接支持Kotlin,我们早晚要去面对它,不如现在就拿来练手。创建项目的步骤基本类似,这里不再赘述,只是在创建项目,输入项目名称时注意勾选,然后一路next,第一次运行Android Studio创建项目需要多等一会儿。


项目创建好后,我们别急着开发,如果去Kotlin官网看看,会看到一个好东西,我们在build.gradle(Module:app)中加入:

apply plugin: 'kotlin-android-extensions'

这个插件会帮我们按照我们布局文件中给出的id生成对应的变量,我们不需要findViewById去获取变量。下面看我们的布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:gravity="center"    tools:context="com.yjp.kotlin.MainActivity">    <TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!" />    <Button        android:id="@+id/clickButton"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="点击"/></LinearLayout>

和以前的开发没有差别,主要变化在于类代码中,我们使用Kotlin而不是Java

package com.yjp.kotlinimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport kotlinx.android.synthetic.main.activity_main.*class MainActivity: AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        clickButton.setOnClickListener { _ ->            val visibility = textView.visibility            if (visibility == View.VISIBLE) {                textView.visibility = View.GONE            } else {                textView.visibility = View.VISIBLE            }        }    }}

抛开Kotlin的语法(有空我尽可能慢慢给大家唠唠),代码简洁是最大的变化,没有了findViewById,lambda表达式也很简洁,也没有大量的变量声明和定义,最关键的,我们看不到分号XD。


上面就是我们尝鲜的demo,总体来看,Kotlin开发Android可以让代码更加简洁,同时,Kotlin的语法相对简单,还可以直接调用Java代码,所以大量的Java包我们还是可以使用的。个人认为,考虑到google已经支持了Kotlin,作为Android开发还是尽可能快的迁移到使用Kotlin开发比较好,毕竟有苹果的swift作为先例。不过迁移之痛就是初期可能会缺少文档,找问题是个让人头疼的事,只能经常逛逛官方网站,看看英文文档。



原创粉丝点击