1,服务端 首先在src下建立一个my.test.service包,在包下建立一个*.aidl文件(跟接口相类似,但是没有修饰符) android的aidl工具会自动根据aidl文件生成对应的java类
2,接下来定义一个service服务
3 ,在服务器端的manifest.xml中注册service
服务器端到此告一段落
接下来是客户端调用服务器端的方法
1,把服务器端的aidl文件连同包一起拷贝到客户端的src下
2,定义布局文件
3,在客户端的mainactivity的java类中
定义一个成员变量 flag 默认为false ,定义一个ServiceConnection 的实例对象
public ServiceConnection connect=new ServiceConnection(){
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
bookQuery = IBook.Stub.asInterface(service); //该方法是处理client与service 连接时调用
flag=true; //当连接成功是修改flag为true (解决nullpoint异常的)
}
@Override
public void onServiceDisconnected(ComponentName name) {
bookQuery = null;
}
在按钮的点击事件中 加入以下判断
当flag为true时才去调用 服务器端的方法
本人第一次写博客,写的不好还请见谅,如有问题大家可以提出一起讨论