当前位置:首页 » JAVA技术教程

【Android之Intent】

2018-03-12 08:20 本站整理 浏览(3)

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] 即可。