Activity其他代码略,以下为Intent传递关键代码:
val intent = Intent(fragmentActivity, ImageDetailActivity::class.java).apply {
putExtra("imageVO", imageVO)
startActivity(intent)
接收参数的Activity代码:
var imageVO: ImageVO = (intent.getSerializableExtra("image") as ImageVO?)!!
后续即可正常使用。
Intent传递对象参数的两种方式(此处实现Serializable方式):1.Serializable2.ParcelableImageVO.ktclass ImageVO : Serializable { var id: Int = 0 ...}Activity其他代码略,以下为Intent传递关键代码:val intent = Intent(fragmentActivity, ImageDetailActivity::class.java).apply.
对于Intent序列化有两种方法
一种是Serializable,另一种是Parcelable。
这里我用到的是Parcelable 因为在Kotlin实现里Parcelable有一种特别方便的实现,不需要写过多的逻辑。
build.gradle添加plugin
apply plugin: 'kotlin-android-extensions'
然后在android节点下添加以下代码:(因为该特性当前属于实验特性)
android {
androidExt
接上一篇,
使用 Intent 从 MainActivity 跳转到 FirstActivity ,
不需要 FirstActivity 回传数据就用 startActivity,
val intent = Intent(this, FirstActivity::class.java)
intent.putExtra("key_from_main", "data_from_main")
startActivity(intent)
需要 FirstActivity 回传数据就用 startActivityF
Java代码里要通过Parcelable在intent间传递对象时,Java对象要实现Parcelable,操作起来很麻烦。不过Kotlin里已经有了更好用的方式了。
build.gradle添加plugin等
文件头部增加如下内容:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensi...
只有一个活动的应用也太简单了吧?没错,你的追求应该更高一点。不管你想创建多少
个活动,方法都和上一节中介绍的是一样的。唯一的问题在于,你在启动器中点击应用的图
标只会进入到该应用的主活动,那么怎样才能由主活动跳转到其他活动呢?我们现在就来一
起看一看。
Intent在不同的组件中传递对象数据的应用非常普遍,大家都知道在intent传递对象的方法有两种:1、实现Serializable接口、2、实现Parcelable接口。
Android中Intent传递对象的两种方法Serializable,Parcelable请点击了解详情。
为什么要将对象序列化?
1、永久性保存对象,保存对象的字节序列到本地文件中;
2、用过序列化对象在网络中传递对象;
3、通过序列化对象在进程间传递对象。
1、实现Serializable接口
Serializable的作用是将数据对象存入字节流当中,在需要时重新生成对象,主要应用是利用外部存储设备保存对象状态,
Mysql 连接提示 Client does not support authentication protocol requested by server; consider upgrading MySQL client 解决方法
29069
android 出现org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1 refused的解决方案
23509
SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
CodeCaptain:
SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
2301_77491009:
SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
CodeCaptain: