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

湖南省城乡建设厅网站手机网站源码大全

湖南省城乡建设厅网站,手机网站源码大全,网站建设项目招标文件,域名价格排行关于parcel#xff0c;我们先来讲讲它的“父辈” Serialize。 Serialize 是java提供的一套序列化机制。但是为什么要序列化#xff0c;怎么序列化#xff0c;序列化是怎么做到的#xff0c;我们将在本文探讨下。 一#xff1a;java 中的serialize 关于Serialize这个东东我们先来讲讲它的“父辈” Serialize。 Serialize 是java提供的一套序列化机制。但是为什么要序列化怎么序列化序列化是怎么做到的我们将在本文探讨下。 一java 中的serialize 关于Serialize这个东东think in java其实说的很详细大意如下 1.Serialize的目的 当你创建对象时你需要它一直存在但是当程序终止时它就消失了。 如果程序不运行的情况下可以保存某些信息这将非常有用。 如何我程序在下次运行的时候可以把上次运行的某些信息恢复回来. 2.Serialize的使用  使用一个嵌套的Serializable对象 package com.joyfulmath.androidstudy.bind.worm;import java.io.Serializable;public class Data implements Serializable {private int n;public Data(int n) {this.n n;}Overridepublic String toString() {return Integer.toString(n);}} package com.joyfulmath.androidstudy.bind.worm;import java.io.Serializable; import java.util.Random;import com.joyfulmath.androidstudy.TraceLog;public class Worm implements Serializable {static Random rand new Random(47);Data[] d {new Data(rand.nextInt(10)),new Data(rand.nextInt(10)),new Data(rand.nextInt(10))};private Worm next;private char c;public Worm(int i, char x){TraceLog.i(Worm construct:i);c x;if(--i0){next new Worm(i,(char) (x1));}}public Worm(){TraceLog.i(default Worm construct);}Overridepublic String toString() {StringBuilder result new StringBuilder(:);result.append(c);result.append(();for(Data dat:d){result.append(dat );}result.append());if(next!null){result.append(next);}return result.toString();}} 验证序列化的读写 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream;import com.joyfulmath.androidstudy.TraceLog;public class WormSample {static final String path /mnt/sdcard/worm.out;public void doAction(){Worm w new Worm(6, a);TraceLog.i(\nw.toString());try {ObjectOutputStream opt new ObjectOutputStream(new FileOutputStream(path));opt.writeObject(Worm object\n);opt.writeObject(w);opt.close();ObjectInputStream in new ObjectInputStream(new FileInputStream(path));String s (String) in.readObject();Worm w2 (Worm) in.readObject();TraceLog.i(sw);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} } 最后log 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:6 [at (Worm.java:21)] 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:5 [at (Worm.java:21)] 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:4 [at (Worm.java:21)] 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:3 [at (Worm.java:21)] 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:2 [at (Worm.java:21)] 08-15 09:18:20.384: I/Worm(28437): init: Worm construct:1 [at (Worm.java:21)] 08-15 09:18:20.384: I/WormSample(28437): doAction: 08-15 09:18:20.384: I/WormSample(28437): :a(853):b(119):c(802):d(788):e(199):f(881) [at (WormSample.java:18)] 08-15 09:18:20.414: I/WormSample(28437): doAction: Worm object 08-15 09:18:20.414: I/WormSample(28437): :a(853):b(119):c(802):d(788):e(199):f(881) [at (WormSample.java:28)] 可以看到数据被很好的还原了包含内部的序列化对象   二parcel Serializable是java定义的一套序列化机制但是他是操作文件来执行的。或者说它的性能无法满足android上的要求 这样parcel被google发明出来用以取代Serializable。 1.Parcelable 的使用 package com.joyfulmath.androidstudy.bind.worm;import android.os.Parcel; import android.os.Parcelable;public class DataP implements Parcelable {public int n;public DataP(int n) {this.n n;}Overridepublic int describeContents() {return 0;}Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeInt(n);}public static final Parcelable.CreatorDataP CREATOR new Parcelable.CreatorDataP() {public DataP createFromParcel(Parcel in) {return new DataP(in);}public DataP[] newArray(int size) {return new DataP[size];}};private DataP(Parcel in) {n in.readInt();}Overridepublic String toString() {return Integer.toString(n);}} package com.joyfulmath.androidstudy.bind.worm;import java.util.Random;import com.joyfulmath.androidstudy.TraceLog;import android.os.Parcel; import android.os.Parcelable;public class WormP implements Parcelable {static Random rand new Random(47);public DataP[] d { new DataP(rand.nextInt(10)), new DataP(rand.nextInt(10)),new DataP(rand.nextInt(10)) };private WormP next;public byte c;public WormP(int i,byte x){TraceLog.i(Wormp construct:i);c x;if(--i0){next new WormP(i,(byte) (x1));}}Overridepublic int describeContents() {return 0;}Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeByte(c);dest.writeParcelableArray(d, 0);if (next ! null) {dest.writeParcelable(next, 0);}}public static final Parcelable.CreatorWormP CREATOR new Parcelable.CreatorWormP() {public WormP createFromParcel(Parcel in) {return new WormP(in);}public WormP[] newArray(int size) {return new WormP[size];}};private WormP(Parcel in) {c in.readByte();d (DataP[]) in.readParcelableArray(DataP.class.getClassLoader());}Overridepublic String toString() {StringBuilder result new StringBuilder(:);result.append(c);result.append(();for(DataP dat:d){result.append(dat );}result.append());if(next!null){result.append(next);}return result.toString();} } parcel一般使用在intent的内容的传递所以本处做一个简单的模拟 public void doActionP(){TraceLog.i();byte a a;WormP w new WormP(6, a);TraceLog.i(w.toString());Intent intent new Intent();intent.putExtra(wormp, w);///...Intent newIntent new Intent(intent);WormP w2 newIntent.getParcelableExtra(wormp);TraceLog.i(w2.toString());TraceLog.i(end);} 08-15 10:14:11.924: I/WormSample(20183): doActionP: [at (WormSample.java:47)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:6 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:5 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:4 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:3 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:2 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormP(20183): init: Wormp construct:1 [at (WormP.java:21)] 08-15 10:14:11.934: I/WormSample(20183): doActionP: :97(8 5 3 ):98(1 1 9 ):99(8 0 2 ):100(7 8 8 ):101(1 9 9 ):102(8 8 1 ) [at (WormSample.java:50)] 08-15 10:14:11.934: I/WormSample(20183): doActionP: :97(8 5 3 ):98(1 1 9 ):99(8 0 2 ):100(7 8 8 ):101(1 9 9 ):102(8 8 1 ) [at (WormSample.java:59)] 08-15 10:14:11.934: I/WormSample(20183): doActionP: end [at (WormSample.java:61)] 可以看到结果数据完全正确。 以上就是parcel的使用方式在下一篇将探索parcel的实现方式。   参考 http://blog.csdn.net/niu_gao/article/details/6451699  转载于:https://www.cnblogs.com/deman/p/4742995.html
http://wiki.neutronadmin.com/news/287722/

相关文章:

  • 网站建设维护升级模板网站和定制网站的区别是什么
  • 食品品牌网站策划九江市区
  • 网站的设计思路范文免费装修设计图app
  • 宜昌网站设计制作公司唐山做网站那家好
  • 2017年网站建设招标书响应式网站做mip
  • 唐山彩钢中企动力提供网站建设旅游网站网页设计方案
  • 做渠道的网站有哪些有网站开发经验怎么写简历
  • 直播视频下载济南优化哪家好
  • 西安市城乡建设档案馆网站3d打印网站开发
  • 利于seo的建站系统有哪些济南装饰行业网站建设
  • 接做网站单子昆明百度推广优化排名
  • 商城网站设计网站建设怎样设置动态背景
  • 网站开发 兼职项目儿童玩具网站建设实训报告
  • 九江网站建设多少钱百度 网站速度诊断
  • 西安建网站哪家好wordpress是php文件路径
  • 加盟网站建设服务网站建设关键的问题是
  • 河南企业网站排名优化企业建网站的目的
  • 城乡建设吧部网站将page转换为wordpress
  • 中山精品网站建设价位徐州做网站的哪个好
  • 培训网站系统建设个人做流量大的网站
  • 成都 网站原创做英文行程的网站
  • 宁波英文网站建设联系深圳网站制作公司
  • 龙岩网站建设要多久建筑建设行业网站
  • 中国旅游网站的建设吉林网络公司网站建设
  • php开发网站建设书籍f006网站建设
  • 提供做网站服务好小程序开发平台有哪些公司
  • 织梦网站上传的文章只显示摘要不显示内容如何修改seo综合排名优化
  • 优秀国内个人网站网址自己建设个小网站要什么
  • 哪有培训网站开发网站建设专家工作内容
  • 建设营销型网站广州商城类网站模板