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

    }

  • 相关阅读:
    java中的 equals 与 ==
    String类的内存分配
    SVN用命令行更换本地副本IP地址
    npoi 设置单元格格式
    net core 微服务框架 Viper 调用链路追踪
    打不死的小强 .net core 微服务 快速开发框架 Viper 限流
    net core 微服务 快速开发框架 Viper 初体验20201017
    Anno 框架 增加缓存、限流策略、事件总线、支持 thrift grpc 作为底层传输
    net core 微服务 快速开发框架
    Viper 微服务框架 编写一个hello world 插件02
  • 原文地址:https://www.cnblogs.com/jiww/p/5604640.html
Copyright © 2011-2022 走看看