Android调用远程Service的参数和返回值都需要实现Parcelable接口
Posted 奋斗青年一族
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
}
};
}
以上是关于Android调用远程Service的参数和返回值都需要实现Parcelable接口的主要内容,如果未能解决你的问题,请参考以下文章
怎样在android的service中调用Activity中的getWindow函数
Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )(代