Kotlin开发Android系列文章(一)——初识Kotlin
来源:互联网 发布:人民银行金融数据 编辑:程序博客网 时间:2024/05/22 02:28
版权声明:本文为 单灿灿 原创文章,非商用自由转载-保持署名-注明出处,谢谢。
本篇文章已授权微信公众号AndroidChinaNet(Android开发中文站)独家发布
5月18日消息 据外媒(TechCrunch)报道,谷歌在今日举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。
Kotlin简单的说就是跑在jvm上的新语言,他的特点就是短小快。
- 无缝对接java,java代码和kotlin代码互相调用
- 一键java转kotlin,java代码,可以一键转换
函数扩展功能
Kotlin从书写上来说非常爽,语法糖的确减少了很多时间以及代码量, 但是-再牛逼的语法解决不了傻逼的业务和逻辑需求。
下面让我们来了解一下如何使用Kotlin:
创建第一个kotlin应用!
首先打开你的AS,像往常一样,创建一个Android应用。
然后在Setting里找到Plugin选项,搜索kotlin插件。从官方仓库下载安卓即可。
在app的gradle下加入如下代码
apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'
在project的gradle下加入如下代码
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
好了,配置好了,切换到MainActivity 同时按下ctrl + alt + shift + k (windows下),cmd + alt + shift + k (mac下),即可把java代码转换成kotlin代码。
转换前:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
转换后:
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) }}
这些是语法的变化
下面给出中文语法文档
这里是下载地址
真TM是个好的糖炒栗子
来,让我们来上一下它。
<TextView android:id="@+id/main_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="Hello World!"/>
在代码中改变文字设置:
main_text.setText(R.string.kotlin)//或者用下面方法main_text.text=("PowerFullKotlin")
WHAT??? 怎么不需要findviewbyid()???
kotlin可以直接根据id找到控件,而避免findviewbyid,这时候你需要注意一下import头
import kotlinx.android.synthetic.main.activity_main.*
kotlin一个特性,所有getter和setter可以省略,直接变为 .text
下面让我们看一下点击事件的设置
函数扩展是什么?一般来说,我们扩展一个类,需要继承,但是kotlin。。。。
函数扩展可以让你对任意类进行扩展,而不用继承等等复杂的操作。
示例:给一张图片设置点击事件弹出Toast
<ImageView android:id="@+id/main_pic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/main_text" android:layout_marginTop="15dp" android:clickable="true" android:focusable="true" android:src="@mipmap/welcome"/>
上实现方式:
main_pic.setOnClickListener { toast("Hello Kotlin") }
我们新建个kt文件,叫做ToastExt
里面写上如下代码:
fun Context.toast(mess: String,length : Int = Toast.LENGTH_SHORT) { Toast.makeText(this, mess, length).show()}
加了Context这句,就可以在所有Context类型中使用toast这个函数了。具体的语法是 fun + 类型.函数(参数)
来看一下第二个参数,可以给默认值,如果参数不传,则自动调用默认值,重载!!!
main_pic.setOnClickListener { toast("Hello Kotlin") }
是不是超级终极简单呢?是不是想赶快转来kotlin啊?
下面附gayhub地址(这个项目专门用来更新Kotlin有关Demo):https://github.com/Shanlovana/Consonle
- Kotlin开发Android系列文章(一)——初识Kotlin
- 初识Kotlin(一)
- 初识Kotlin(一) Kotlin环境搭建
- Android 开发之初识Kotlin
- android使用kotlin开发基础(一)之 hello kotlin
- Kotlin(一)-->Android Studio配置Kotlin开发环境
- Kotlin(一)-->Android Studio配置Kotlin开发环境
- Kotlin(一)-->Android Studio配置Kotlin开发环境
- Android+Kotlin开发之Kotlin基础(一)
- Kotlin入门教程系列(一)Kotlin HelloWorld
- Kotlin开发之旅《一》— 初学者Kotlin基础必备
- Kotlin Android(一)
- Android Kotlin学习之路(一) —— 配置Kotlin
- Android 使用Kotlin开发(一)
- Kotlin开发Android入门(一)
- 初识kotlin—2、数据类型
- Kotlin笔记(一)——Hello Kotlin
- Android Kotlin(一)—— Kotlin 入门与 HttpURLConnection 网络请求
- 排序算法--对公司员工年龄的排序
- 基于STM32 HAL库在Makefile+GCC-ARM上面的工程编译
- 222. Count Complete Tree Nodes
- 不能在本机启动SQL Server服务 错误代码13
- 关于adb shell procrank提示procrank: not found的问题解决
- Kotlin开发Android系列文章(一)——初识Kotlin
- 开发中碰到的问题:token null is not valid; is your activity running?
- Maven学习总结(22)——Maven settings.xml配置解读
- Android Animation动画原理源码分析(内容已经转移到另一篇)
- zabbix 邮件报警简单配置
- 20170519@静态导入
- 关于TabLayout与Viewpager绑定后TAB上的文字不显示问题
- TCP(Transmission Control Protocol) 传输控制协议
- 短信验证(mob)