第一次利用android studio 使用aidl文件。发现和eclipse有很大的不同。在android  使用aidl文件进行进程之间的通信的时候。首先切换到projrct视图下面


然后在src/main下面的任意目录下如图选择aidl File


然后弹出一个框框,输入名字后,系统自动会在main下面建立一个aidl文件夹,并且在该文件夹下自动新建一个包和你项目清单文件中的包名是一样一样的


在新建的aidl文件中会有系统生成的事例代码,如果不想使用,就删除掉,自己写一个。

但是开头的包名一定和上述自动生成的包名要一样

 

现在检查在build\generated\source\aidl\debug  下能不能产生对应的包和接口文件,如果不能则注释所有有错的地方,先让程序运行一遍,编译一遍,确认在build\generated\source\aidl\debug  下能产生对应的包和接口文件

 

 

写好这个以后,只是定义了一个进程之间通信的接口而已,简单的理解为双方需要达成的协议.进程之间实现通信需要在接受通信的应用中创建一个服务的类



这个服务用来接受信息

这个类实现了android.app.Service,然后在需要实现的方法中返回绑定的粘合剂对象,粘合剂对象实现了aidl文件里面的接口,并且实现了里面的方法.



 

到这里就写好了一个可以接受命令的跨进程的服务

 

下面开始写发送命令的进程

之前我们在上述刘成忠新建aidl文件的时候是不是在src/main下面有一个文件夹aidl

拷贝第一个应用的src/main  下面的aidl文件夹,原封不动的粘贴到要发送命令的应用的

src/main  下

可以发现粘贴过来以后包名还是第一个应用的包名,此时切记不要修改它!粘贴好后也让程序走一遍,让编译器在build\generated\source\aidl\debug  下能产生对应的包和接口文件

然后在mainActivity中的oncreate方法中显示的绑定服务

这里用到的action是第一个应用中的项目清单文件中的service组件中的action属性

由自己定义

 

绑定之后就可以向服务发送命令啦,也就实现了跨进程发送消息

更多相关文章

  1. AutoCAD即将为Android智能手机和平板电脑推出免费客户端
  2. Android(安卓)Studio导入项目gradle报错,解决方案
  3. Android设备使用USB的硬件接口
  4. Android(安卓)studio下的Android(安卓)JNI调用以及动态链接库.so
  5. 基于NDK的Android防破解
  6. android程序自动化生成apk的过程
  7. Android应用程序的编译流程及使用Ant编译项目的攻略
  8. 仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Androi
  9. android apk 加固

随机推荐

  1. 跨服务器操作数据库?其实很简单!(上)
  2. TCP为什么是三次握手四次hui'shou
  3. c++ this
  4. 最简单的JVM内存结构图
  5. python 基础学习系列(一)
  6. 2021-03-11:go中,协程内部再启用协程,它们是
  7. 学习Clickhouse_目录
  8. kubernetes存储之ceph-csi
  9. 记一次Linux内核崩溃:kdump,crash,vmcore
  10. 学习感悟一