• 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());
        }
      };

    }

  • 相关阅读:
    线程带参数操作
    静态页面不识别include
    当网站遭遇DDOS攻击的解决方案及展望
    带进度条上传控件
    用js实现了表格数据管理的以下几个功能:
    怎么面试一个人
    map的使用
    在Axapta中实现trim函数
    Axapta财务过账分析(一)
    在Axapta中实现split函数
  • 原文地址:https://www.cnblogs.com/jiww/p/5604640.html
Copyright © 2020-2023  润新知