zoukankan      html  css  js  c++  java
  • Android调用远程Service的参数和返回值都需要实现Parcelable接口

    import android.os.Parcel;
    import android.os.Parcelable;

    public class Person implements Parcelable{
      private Integer id;
      private String name;
      private String pass;

      public Person() {
        super();
      }

      public Person(Integer id, String name, String pass) {
        super();
        this.id = id;
        this.name = name;
        this.pass = pass;
      }

      public Integer getId() {
        return id;
      }

      public void setId(Integer id) {
        this.id = id;
      }

      public String getName() {
        return name;
      }

      public void setName(String name) {
        this.name = name;
      }

      public String getPass() {
        return pass;
      }

      public void setPass(String pass) {
        this.pass = pass;
      }

      @Override
      public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result +((name == null) ? 0 : name.hashCode());
        result = prime * result +((pass == null) ? 0 : pass.hashCode());
        return result;
      }

      @Override
      public boolean equals(Object o) {
        if(this == o){
          return true;
        }
        if(o == null){
          return false;
        }
        if(getClass() != o.getClass()){
          return false;
        }
        Person other = (Person) o;
        if(name == null){
          if(other.name != null){
            return false;
          }
        }else if(!name.equals(other.name)){
          return false;
        }
        if(pass == null){
          if(other.pass != null){
            return false;
          }
        }else if(!pass.equals(other.pass)){
          return false;
        }
        return true;
      }

      //实现Parcelable接口必须实现的方法
      @Override
      public int describeContents() {
        return 0;
      }

      //实现Parcelable接口必须实现的方法
      @Override
      public void writeToParcel(Parcel dest, int flags) {
        //把该对象所包含的数据写到Parcel
        dest.writeInt(id);
        dest.writeString(name);
        dest.writeString(pass);
      }

      //添加一个静态成员,名为CREATOR。该对象实现了Parcelable.Creator接口
      public static final Parcelable.Creator<Person> CREATOR
            = new Parcelable.Creator<Person>() {

        @Override
        public Person[] newArray(int size) {
          return new Person[size];
        }

        @Override
        public Person createFromParcel(Parcel source) {
          // 从Parcel中读取数据,返回Person对象
          return new Person(source.readInt(),
              source.readString(), source.readString());
        }
      };

    }

  • 相关阅读:
    如何使用Flannel搭建跨主机互联的容器网络
    移动端——touch事件
    Javascript 模块化指北
    vue重构--H5--canvas实现粒子时钟
    redux-saga框架使用详解及Demo教程
    前端代码编写规范
    探秘JS的异步单线程
    POJ 3714 Raid 近期对点题解
    EditText把回车键变成搜索
    Swift语言概览
  • 原文地址:https://www.cnblogs.com/jiww/p/5604640.html
Copyright © 2011-2022 走看看