AIDL---Android Interface Definition Language
看了很多AIDL传递对象的例子,但是始终不成功,不知道是哪里出问题了
这里说一下我的做法,这里最好有了解bindService()的基本知识
工具AS1.5
服务器端
在代码里会有解释
1.在java的包里面新建一个User实体类,用作传递
2.右击java-->new-->AIDL-->AIDL File User.aidl(名字和实体类一样)
3.新建LoginAidl.aidl文件,这里面有接口,是用来传递对象的
4.Gradle
5.新建服务LoginService
最后的目录结构,也有把User和两个aidl放在一起的,我这样做了,编译时会报找不到类的错误
User.java
这里的代码都是自动生成的。注意要实现parcelable接口
import android.os.Parcel;
import android.os.Parcelable;
/**
* Author Kevin
* Date 2016/1/11 9:18
* Email Bridge_passerby@outlook.com
*/
public class User implements Parcelable {
public User(String name, String pwd) {
this.name = name;
this.pwd = pwd;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
if (name != null ? !name.equals(user.name) : user.name != null) return false;
return !(pwd != null ? !pwd.equals(user.pwd) : user.pwd != null);
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31