Kotlin实现Android程序

Kotlin实现Android程序,第1张

概述文章目录前言一、使用Kotlin创建Android程序二、Activity之间的跳转三、Activity之间的传参普通类型非普通类型之Serializable非普通类型之Parcelable前言本片文章主要介绍Kotlin实现Android组件中的Activity的基本用法;主要包括:Activity之间的跳转以及Activity之

文章目录前言一、使用Kotlin创建Android程序二、Activity之间的跳转三、Activity之间的传参普通类型非普通类型之Serializable非普通类型之Parcelable


前言

本片文章主要介绍Kotlin实现AndroID组件中的Activity的基本用法;主要包括:Activity之间的跳转 以及Activity之间的传值


一、使用Kotlin创建AndroID程序

1.选择创建Kotlin语言
@H_404_34@

(2)在创建过程会出现失败问题,基本原因时AndroID Studio版本小了,按照提示去更新一下AndroID Studio
(3)创建Kotlin类,选择创建Kotlin,同时选择class
@H_404_34@

@H_404_34@


(4)创建Activity,与java1创建一样
@H_404_34@

二、Activity之间的跳转

我们创建两个Activity,MainActivity只包含一个button按钮,SecondActiviy包含一个TextVIEw,布局过于简单就不展示,这里只展示一个ID,后面这个ID会有用

androID:ID="@+ID/button"  //button的ID  androID:ID="@+ID/tv_contnet" //TextVIEw的ID

我们想实现点击按钮跳转界面,首先我们看一下Java怎么跳转的

Java代码

 btn = findVIEwByID(R.ID.button);        btn.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw vIEw) {                Intent intent =new Intent(MainActivity.this,SecondActivity.class);                startActivity(intent);            }        });

在Kotlin中,就不需要获取控件,而是直接在Activity写与ID一样的值,便可得到并设置事件,通过代码提示便可知道
@H_404_34@

在创建点击事件选择第二个
@H_404_34@


Kotlin代码:

button.setonClickListener {    Intent(this, SecondActivity::class.java).apply {        startActivity(this)    }}

可见Kotlin确实简化了代码数量,如果你对上述代码不习惯或者没用过很正常,多码就会了,就和你之前写Java一样。孰能生巧

三、Activity之间的传参 普通类型

Java传参

在这里插入代码片

Kotlin传参

传递参数

button.setonClickListener {    Intent(this, SecondActivity::class.java).apply {        putExtra("name","mt")         putExtra("age",18)        startActivity(this)    }}

接受参数
这里直接通过intent 就不需要在去 像Java那样 Intent intent =getIntent()了

       var name = intent.extras?.getString("name")     tv_contnet.text =name
非普通类型之Serializable

可以通过实现Serializable 或 Parcelable接口来实现
1.Serializable

    class SeriUser :Serializable {    var name:String?="serializeable"    var age:Int=1000}

传递参数

          Intent(this, SecondActivity::class.java).apply {             putExtra("user", SeriUser())               startActivity(this)           }

接受参数(需注意 需要在后面添加 as SeriUser 否则会报错)

 //        非普通类型,且时Serializable        var serUsers =intent.getSerializableExtra("user") as SeriUser        tv_contnet.text=serUsers.name        
非普通类型之Parcelable

2.Parcelable

class User() :Parcelable {    var name:String?="test name"    var age:Int =100    constructor(parcel: Parcel) : this() {    //必须实现        name =parcel.readString()        age =parcel.readInt()    }    overrIDe fun writetoParcel(parcel: Parcel, flags: Int) {    //必须实现        parcel.writeString(name)        parcel.writeInt(age)    }    overrIDe fun describeContents(): Int {        return 0    }    companion object CREATOR : Parcelable.Creator<User> {        overrIDe fun createFromParcel(parcel: Parcel): User {            return User(parcel)        }        overrIDe fun newArray(size: Int): Array<User?> {            return arrayOfNulls(size)        }    }}

传递参数

            Intent(this, SecondActivity::class.java).apply {                putExtra("user", User())                startActivity(this)            }

接受参数

//        非普通类型,且时Parcelable       var user =intent.getParcelableExtra<User>("user") as User       tv_contnet.text =user.name
总结

以上是内存溢出为你收集整理的Kotlin实现Android程序全部内容,希望文章能够帮你解决Kotlin实现Android程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1038391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存