对象序列化

Android-Parcelable理解与使用(对象序列化)

試著忘記壹切 提交于 2020-03-10 18:49:21
parcel定义介绍: android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用来封装数据的容器,封装后的数据可以通过Intent或IPC传递,除了基本类型外,只有实现了Parcelable接口的类才能放入parcel中。 parcel一般都用在Binder通信,通过read和write方法进行客户端与服务端的数据传递(通信)。 比如:frameworks层服务端与hardware客户端的Binder通信 reply->writeInt32(getCardReaderSize()); int mid = data.readInt32(); 用来存放parcel数据的是内存(RAM),而不是永远介质(Nand等)。 parcelable定义了把数据写入parcel和从parcel读出数据的接口,一个类的实例,如果需要封装到消息中去,就必须实现这一接口,如果实现了这个接口,该类的实例就是可以“被打包”。 Parcelable的定义: 下面我们看下parcelable的源码: 内容描述接口,没什么作用 public int describeC ontents(); 写入接口函数,用来打包 public void writeToParcel(Parcel dest, int flags); 读取接口

JavaScript面向对象学习——4

岁酱吖の 提交于 2020-02-28 17:54:40
对象的创建 1)字面量、2)new、3)Object.create() 属性的访问 1、可以通过点(.)或方括号([」)运算符来获取属性的值。运算符左侧应当是一个表达式,它返回一个对象。对于点(.)来说,右侧必须是一个以属性名称命名的简单标识符。对于方括号来说(「)),方括号内必须是一个计算结果为字符串的表达式,这个字符串就是属性的名字。在ECMAScript 3中,点运算符后的标识符不能是保留字,比如,o.for或o.class是非法的,因为for是JavaScript的关键字,class是保留字。如果一个对象的属性名是保留字,则必须使用方括号的形式访问它们,比如。[ "for" ]和。[ "class"] o ECMAScript 5对此放宽了限制(包括ECMAScript 3的某些实现),可以在点运算符后直接使用保留字。当使用方括号时,我们说方括号内的表达式必须返回字符串。其实更严格地讲,表达式必须返回字符串或返回一个可以转换为字符串的值。在第7章里有一些例子中的方括号内使用了数字,这情况象是非常常见的。 2、假设要查询对象。的属性X,如果。中不存在X,那么将会继续在。的原型对象中查询属性x。如果原型对象中也没有X,但这个原型对象也有原型,那么继续在这个原型对象的原型上执行查询,直到找到X或者查找到一个原型是f1U11的对象为止。可以看到,对象的原型属性构成了一个“链”