Intent在Activity中的作用主要是有两个:
1、启动目标Activity
2、传递数据
Intent在传递数据时分两种情况:向下一个Activity传递数据和从下一个Activity返回数据。
Android中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者Intent中进行传递,也可以将对象转化为JSON字符串,进行传递。序列化对象可以使用Java的Serializable的接口、Parcelable接口。转化成JSON字符串,可以使用Gson等库。
使用Serializable方法虽然十分简单,但是效率却不容乐观,因为它会把整个对象序列化,开销十分大,为了追求效率,我们不得不使用另一种方法,也就是Parcelable 方法。
自定义类实现Parcelable接口,这个时候必须重写两个方法
1.describeContents(): 用于描述内容接口,一般直接 return 0即可
2.writeToParcel() : 用于将想要传递的数据写入到Parcel容器中。
除了这两个方法以外,我们还需要创建一个 Parcelable.Creator接口的实现,这个接口中也需要我们实现两个方法
1.createFromParcel() : 用于将写入Parcel容器中的数据读出来,用读出来的数据实例化一个对象,并且返回。
2.newArray() :创建一个长度为 size 的数组并且返回,一般而言,直接返回return T[size] 即可。
相关推荐
Xamarin.Android之Intent传递对象简单实例,实现的是IParcelable接口
Android之Intent通过startActivityForResult方法启动新Activity
通过Intent进行简单的页面传值,页面逻辑是由A页面传值跳转到B页面,B页面对接收的值进行处理,然后B页面将值回传给A页面.博客地址:http://blog.csdn.net/pfe_nova/article/details/38600751
android activityIntent 传值 传对象
本文实例讲述了Android之Intent附加数据的两种实现方法。分享给大家供大家参考。具体如下: 第一种写法,用于批量添加数据到Intent: Intent intent = new Intent(); Bundle bundle = new Bundle(); //该类用作携带...
主要为大家详细介绍了Android利用Intent启动和关闭Activity的相关操作,感兴趣的小伙伴们可以参考一下
通过一个实验,讲解Android的使用方法,总结详细
安卓 intent 和activity生命周期学习资料,非常浅显易懂,值得参考
Android+Intent机制实例详解 Android+Intent 大家不得不看啊!
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
android 利用intent调用activity 简明精炼的例子 传递数据,并且有返回值
NULL 博文链接:https://wilian.iteye.com/blog/965410
Android使用Intent实现Camera功能
Android使用Intent实现Video功能
Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。
在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...
个人整理的Android Intent的使用介绍 Android 组件之间的信使Intent Android 中的数据存取和ContentProvider
Android+Intent机制实例详解.rar,详细的介绍了,android中的intent知识,可以下载下来看看哟
恢复已经停止的更新下载。 'android.server.checkin.FOTA_RESTART' 通过 OTA 下载并安装操作系统更新。 'android.server.checkin.FOTA_UPDATE' 用户按下了'Media Button'。...'android.intent.action.PACKAGE_ADDED'
Android应用源码之Intent_Intent