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

西安企业网站排名优化工具怎样建设和维护网站

西安企业网站排名优化工具,怎样建设和维护网站,金华手机模板建站,网站建设骗子公司Android中的Parcelable 接口 在Android中#xff0c;Parcelable接口是用于实现对象序列化和反序列化的一种机制。它允许我们将自定义的Java对象转换成一个可传输的二进制数据流#xff0c;以便在不同组件之间传递数据。通常在Activity之间传递复杂的自定义对象时#xff0c…Android中的Parcelable 接口 在Android中Parcelable接口是用于实现对象序列化和反序列化的一种机制。它允许我们将自定义的Java对象转换成一个可传输的二进制数据流以便在不同组件之间传递数据。通常在Activity之间传递复杂的自定义对象时使用Parcelable接口比使用Java的Serializable接口更高效。 Parcelable接口的工作原理是通过将对象的数据拆分成原始数据类型并在写入和读取时进行序列化和反序列化。这样可以避免使用Java的反射机制提高了性能。 要实现Parcelable接口首先需要让自定义的Java类实现Parcelable接口并实现以下几个方法 writeToParcel(Parcel parcel, int flags): 将对象的数据写入Parcel对象以进行序列化。在这个方法中需要将对象的各个字段写入Parcel对象。 createFromParcel(Parcel parcel): 从Parcel对象中读取数据以进行反序列化。在这个方法中需要读取Parcel中的数据并将其设置为对象的各个字段。 newArray(int size): 创建一个指定大小的对象数组通常用于反序列化的过程。 接着需要在类中添加一个静态的Parcelable.Creator对象用于创建和反序列化对象。这个对象需要实现Parcelable.Creator接口并实现以下方法 createFromParcel(Parcel parcel): 根据Parcel对象创建并返回对象实例。 newArray(int size): 创建一个指定大小的对象数组。 最后在类中添加一个public static final的Parcelable.Creator对象以供系统使用。 下面是一个简单的示例演示了如何在Android中实现Parcelable接口 import android.os.Parcel; import android.os.Parcelable;public class Student implements Parcelable {private String name;private int age;public Student(String name, int age) {this.name name;this.age age;}protected Student(Parcel in) {name in.readString();age in.readInt();}Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeString(name);dest.writeInt(age);}Overridepublic int describeContents() {return 0;}public static final CreatorStudent CREATOR new CreatorStudent() {Overridepublic Student createFromParcel(Parcel in) {return new Student(in);}Overridepublic Student[] newArray(int size) {return new Student[size];}}; }在这个例子中我们创建了一个名为Student的类实现了Parcelable接口。在writeToParcel方法中我们将Student对象的name和age字段写入Parcel对象。在createFromParcel方法中我们从Parcel对象中读取name和age字段并创建一个新的Student对象。 通过实现Parcelable接口我们可以在不同的Android组件之间传递Student对象而不需要进行繁琐的序列化和反序列化操作。同时Parcelable接口也比Serializable接口更高效适用于在性能要求较高的场景下使用。 代码举例说明 当使用Parcelable接口时我们可以将自定义的Java类对象传递给Android组件例如Activity之间的传递。下面是一个简单的示例展示如何实现Parcelable接口和在Activity之间传递自定义对象 首先创建一个名为Student的Java类该类包含一些基本的字段和方法 import android.os.Parcel; import android.os.Parcelable;public class Student implements Parcelable {private String name;private int age;public Student(String name, int age) {this.name name;this.age age;}protected Student(Parcel in) {name in.readString();age in.readInt();}public String getName() {return name;}public int getAge() {return age;}Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeString(name);dest.writeInt(age);}Overridepublic int describeContents() {return 0;}public static final CreatorStudent CREATOR new CreatorStudent() {Overridepublic Student createFromParcel(Parcel in) {return new Student(in);}Overridepublic Student[] newArray(int size) {return new Student[size];}}; }接下来在发送方的Activity中我们创建一个Student对象并使用Intent将其传递给接收方的Activity import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity;public class SenderActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_sender);// 创建一个Student对象Student student new Student(Alice, 20);// 使用Intent传递Student对象给ReceiverActivityIntent intent new Intent(this, ReceiverActivity.class);intent.putExtra(student, student);startActivity(intent);} }最后在接收方的Activity中我们从Intent中获取传递过来的Student对象 import android.os.Bundle; import android.support.v7.app.AppCompatActivity;public class ReceiverActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_receiver);// 从Intent中获取传递过来的Student对象Student student getIntent().getParcelableExtra(student);if (student ! null) {// 使用Student对象的数据String name student.getName();int age student.getAge();// 在这里进行相关操作例如显示学生信息}} }通过实现Parcelable接口我们可以轻松地在Activity之间传递自定义的Student对象而不需要进行额外的序列化和反序列化操作。在接收方的Activity中我们可以获取传递过来的Student对象并使用其中的数据进行相应的处理。这样我们就实现了自定义对象的传递和使用。
http://www.hkea.cn/news/14292873/

相关文章:

  • 网站一键生成wapwordpress 页面 浏览量
  • 馨雨公司网站建设策划方案开源快速网站搭建平台
  • 大连模板网站制作公司电话wordpress官方主题下载
  • 固镇县住房和城乡建设局网站wordpress不能注册
  • 嘉兴优化网站排名定制化网站建设公司
  • 网站建设费无形资产摊销动画做视频在线观看网站
  • 北京住房和建设部网站搭建网站案例
  • 厦门中科做网站总打电话来注册公司在哪个网站系统
  • 太仓网站制作网站建设毕业答辩ppt模板下载
  • 房地产网站制作公司淘宝网页版电脑版
  • wordpress建立网站实例深圳建筑公司招聘信息
  • 泊头市做网站湖北高端网站建设
  • 贵州省城乡与住房建设厅网站非织梦做的网站能仿吗
  • 高端网站建设的流程是什么做设计必须知道的几个网站
  • 专门做淘宝代运营的网站wordpress 全屏浮动
  • 大作设计网站官网登录入口网站怎么做qq登录
  • 买什么样的主机(用来建网站的)支持下载宣传推广方案范文
  • app应用开发的价位上海搜索优化推广
  • 河南网站建设问一问公司做网站的协议书和计划书
  • 门户网站的基本特征有做建站较好的网站
  • 电子商务网站建设c做百度推广的网络公司广州
  • 锤子网站cms版本如何解决旅游网站建设问题
  • 陕西交通建设集团蓝商分公司网站阜沙网站建设
  • 唐山个人网站建设大名县建设局网站
  • 网站落地页如何做网站搭建软件d
  • 云服务器怎么建立网站网站建设ppt答辩
  • asp化妆品网站wordpress微软雅黑
  • 云南省住房和城乡建设厅网站互联网公司的经营范围有哪些
  • 编写个人网站规划电子商务网站建设方案
  • 汕头网站模板价格2023年5月新冠症状