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

    }

  • 相关阅读:
    iis 部署网站常见问题
    提高你开发效率的十五个Visual Studio 2010使用技巧
    SQL SERVER 错误代码 0x534
    SQL Server2005修改计算机名后不能发布订阅
    Fedora桌面系统Idea中的部分中文无法显示解决
    最近去滴滴面试的一道题:斐波拉契数列非递归实现
    二叉查找树之红黑树
    二叉查找树之AVL树
    二叉查找树
    再看SpringMVC通过一个DispatcherServlet处理Servlet
  • 原文地址:https://www.cnblogs.com/jiww/p/5604640.html
Copyright © 2011-2022 走看看