失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android 取出list第一页数据_Android传递ListObject的用法

android 取出list第一页数据_Android传递ListObject的用法

时间:2021-09-24 19:28:49

相关推荐

android 取出list第一页数据_Android传递ListObject的用法

日常的开发过程中,我们经常需要通过Intent和Binder传输数据,Object 类型不能直接传递,需要通过序列化。序列化是将对象状态转换为可保持或传输的格式,包括Parcelable和Serializable两种方式。

1.Object序列化

1)使用Serializable方式

public class SerInfo implements Serializable {

private static final long serialVersionUID = 8711368826010013025L;

private String Id;

private String Name;

public SerInfo(String id, String name){

Id = id;

Name = name;

}

public String getId() {

return Id;

}

public void setId(String id) {

Id = id;

}

public String getName() {

return Name;

}

public void setName(String name) {

Name = name;

}

}

2)使用Parcelable方式

public class ParInfo implements Parcelable {

private String Id;;

private String Name;

public ParInfo(){

}

public ParInfo(String id, String name){

Id = id;

Name = name;

}

public String getName() {

return Name;

}

public void setName(String name) {

Name = name;

}

public String getId() {

return Id;

}

public void setId(String id) {

Id = id;

}

@Override

public int describeContents() {

// TODO Auto-generated method stub

return 0;

}

//该方法将类的数据写入外部提供的Parcel中。

@Override

public void writeToParcel(Parcel dest, int flags) {

dest.writeString(Id);

dest.writeString(Name);

}

public static final Parcelable.Creator CREATOR = new Creator() {

//实现从source中创建出类的实例的功能

@Override

public ParInfo createFromParcel(Parcel source) {

ParInfo parInfo = new ParInfo();

parInfo.Id = source.readString();

parInfo.Name= source.readString();

return parInfo;

}

//创建一个类型为T,长度为size的数组

@Override

public ParInfo[] newArray(int size) {

return new ParInfo[size];

}

};

}

2.Serializable与Parcelable的区别

Serializable是Java中的序列化接口,使用简单但是开销略大,序列化和反序列化过程需要大量I/O操作。

Parcelable是Android系统中的序列化方式,相比较更适用于Android平台,缺点就是使用起来相对麻烦,优点是效率很高。因此在用于Intent间的数据传递时我们要首选Parcelable。

Parcelable主要用在内存序列化上,通过Parcelable将对象持久化到存储设备中,或者将对象序列化后通过网络传输,该过程稍微复杂,因此建议大家使用Serializable方式进行序列化可能效率会更高。

3.传递List的方法

ArrayList listObj = new ArrayList();

SerInfo serInfo1 = new SerInfo(id1,name1);

SerInfo serInfo2 = new SerInfo(id2, name2);

listObj.add(serInfo1);

listObj.add(serInfo2);

Intent intent = new Intent();

intent.setClass(MainActivity.this, XXX.class);

intent.putExtra("listobj", (Serializable) listObj);

startActivity(intent);

4.接收List的方法

ArrayList listObj = (ArrayList) getIntent().getSerializableExtra("listobj");

如果觉得《android 取出list第一页数据_Android传递ListObject的用法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。