当前位置: 首页 > news >正文

食品网站开发的背景山东新汇建设集团有限公司网站

食品网站开发的背景,山东新汇建设集团有限公司网站,谷歌搜索官网,做个网站费用Serializable 在Android开发中#xff0c;Serializable是一种用于将对象序列化和反序列化的接口。它是Java的标准序列化方式#xff0c;可以在任何Java平台上使用。 下面是使用Serializable进行对象序列化的步骤#xff1a; 在要序列化的类中实现Serializable接口#x…Serializable 在Android开发中Serializable是一种用于将对象序列化和反序列化的接口。它是Java的标准序列化方式可以在任何Java平台上使用。 下面是使用Serializable进行对象序列化的步骤 在要序列化的类中实现Serializable接口在类定义上实现Serializable接口。 import java.io.Serializable;public class MyObject implements Serializable {private int id;private String name;// 构造函数public MyObject(int id, String name) {this.id id;this.name name;}// 省略get和set }序列化对象创建一个输出流并将对象写入该输出流。 MyObject myObject new MyObject(1, Example);try {FileOutputStream fileOut new FileOutputStream(path/to/file);ObjectOutputStream out new ObjectOutputStream(fileOut);out.writeObject(myObject);out.close();fileOut.close(); } catch (IOException e) {e.printStackTrace(); }反序列化对象创建一个输入流并从输入流中读取对象。 MyObject myObject null;try {FileInputStream fileIn new FileInputStream(path/to/file);ObjectInputStream in new ObjectInputStream(fileIn);myObject (MyObject) in.readObject();in.close();fileIn.close(); } catch (IOException | ClassNotFoundException e) {e.printStackTrace(); }通过实现Serializable接口你可以使用Java的标准序列化机制对对象进行序列化和反序列化。但需要注意的是尽管Serializable是方便的但它的序列化过程相对较慢并且会消耗大量的内存。因此在Android开发中如果性能要求较高建议使用Parcelable接口进行对象序列化。 原则上序列化后的数据中的serialVersionUID只有和当前类的serialVersionUID相同时才能够正常的被反序列化。serialVersionUID的详细工作机制是这样的序列化的时候系统会把当前类的serialVersionUID写入序列化的文件中也可能是其他的中介当反序列化的时候系统会去检测文件中的serialVersionUID看它是否和当前类的serialVersionUID一致如果一致就说明序列化的类的版本和当前类的版本是相同的这个时候可以成功反序列化否则就说明当前类和序列化的类相比发生了某些变换 给serialVersionUID制定为1L或者采用Eclipse根据当前类结构去生成的hash值这两者并没有本质区别。 静态成员变量属于类不属于对象所以不会参与序列化过程其次用transient关键字标记的成员变量不参与序列化过程 Parcelable接口 在Android开发中Parcelable是一种用于将对象序列化和反序列化的接口。它比Java中的Serializable更高效因为它是在内存中直接操作对象的字段而不会经过IO流的序列化和反序列化过程。 下面是使用Parcelable进行对象序列化的步骤 实现Parcelable接口在要序列化的类中实现Parcelable接口并实现其中的方法。Parcelable接口包括两个核心方法writeToParcel()和createFromParcel()。writeToParcel()方法用于将对象的字段写入Parcel对象createFromParcel()方法用于从Parcel对象中读取字段并创建对象。 public class MyObject implements Parcelable {private int id;private String name;// 构造函数public MyObject(int id, String name) {this.id id;this.name name;}protected MyObject(Parcel in) {id in.readInt();name in.readString();}Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeInt(id);dest.writeString(name);}Overridepublic int describeContents() {return 0;}public static final CreatorMyObject CREATOR new CreatorMyObject() {Overridepublic MyObject createFromParcel(Parcel in) {return new MyObject(in);}Overridepublic MyObject[] newArray(int size) {return new MyObject[size];}}; }序列化对象将对象序列化为Parcel对象。 MyObject myObject new MyObject(1, Example); Parcel parcel Parcel.obtain(); myObject.writeToParcel(parcel, 0);反序列化对象从Parcel对象中读取字段并创建对象。 parcel.setDataPosition(0); MyObject myObject MyObject.CREATOR.createFromParcel(parcel);这样你就可以使用Parcelable接口来实现Android中的对象序列化和反序列化了。注意要确保对象的字段顺序一致以便正确地读取和写入Parcel对象。另外Parcelable只适用于Android平台如果需要在不同平台之间进行对象序列化考虑使用其他的序列化方式如JSON有很便捷的api进行读入读出 Parcelable的方法说明 方法功能标记位createFromParcel(Parcel in)从序列化的对象中创建原始对象newArray[int size]创建指定长度的原始对象数组User(Parcel in)从序列化的对象中创建原始对象write ToParcel(Parcel out, int flags)将当前对象写入序列化结构中其中flags标识有两种值0或1参见右侧标记位。为1时标识当前对象需要作为返回值返回不能立即释放资源几乎所有情况都为0PARCELABLE_WRITE_RETURN_VALUEdescribeContents返回当前对象的内容描述。如果含有文件描述符返回1参见右侧标记位否则返回0几乎所有的情况都返回0CONTENTS_FILE_DESCRIPTOR 系统已经为我们提供了许多实现了Parcelable接口的类它们都是可以直接序列化的比如Intent、Bundle、Bitmap等同时List和Map也可以序列化前提是它们里面的每个元素都是可序列化的。 如何选取 Serializable是Java中的序列化接口其使用起来简单但是开销很大序列化和反序列化需要大量I/O操作。而Parceleble是Android中的序列化方式因此更适合在Android平台上缺点是麻烦但是效率高这是Android推荐的序列化方式所以我们要首选Parcelable。Parcelable主要用在内存序列化上通过Parcelable将对象序列化到存储设备中或者将对象序列化之后通过网络传输但是过程稍显复杂因此在这两种情况下建议大家使用Serializable。
http://www.zqtcl.cn/news/914280/

相关文章:

  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗
  • 做vr效果图的网站做小程序的公司有哪些比较好
  • 物流建设网站总结制作壁纸的软件
  • 自己电脑做主机怎么做网站培训公司排名
  • 网站seo优化排名qq空间wordpress搬家
  • 做二手元器件那个网站查价格元气森林网络营销策略分析
  • 优质网站建设是哪家17网站一起做网店不发货
  • 建设企业网银如何对账seo优化推广工程师
  • 广州制作外贸网站小说网站制作公司
  • 东莞南城网站建设价格注册深圳公司有什么好处
  • 做网站图片大小建个人网站要多少钱
  • 北京免费建网站seo网站关键词
  • 南宁网站制作公司dede网站建站教程
  • 辽宁省建设工程招标协会网站自建网站主题及策划
  • 石材做网站google建网站
  • 装配式建筑信息平台无忧seo博客