远程服务

作者: 大话程序 | 来源:发表于2016-09-29 08:52 被阅读101次

把接口java文件的后缀名改成aidl# 远程服务

  • 本地服务:指的是服务和启动服务的activity在同一个进程中
  • 远程服务:指的是服务和启动服务的activity不在同一个进程中

远程服务的启动

服务和活动类似,均有显示启动和隐式启动。而远程服务的启动只能通过显示启动

  • 服务的注册

    <service android:name="com.example.android_service.RemoteService">
        <!--支持隐式启动的服务需配置intent-filter标签-->
        <intent-filter >
            <action android:name="com.itheima.remote"/>
        </intent-filter>
    </service>
    
  • 启动远程服务

    //匹配action内容
    Intent intent = new Intent("com.itheima.remote");
    startService(intent);
    

启动,绑定,解绑,关闭远程服务的方法和操作本地服务的方法一样

和远程服务进行通信

进程间通信使用的机制是:AIDL(Android interface definition language)

操作步骤:
1. 把远程服务的方法抽取成一个单独的接口java文件
2. 把接口java文件的后缀名改成aidl xxx.java ---> xxx.aidl
3. 在gen目录中会自动生成的xxx.java文件中,内部有一个静态抽象类Stub,它已经继承了Binder类,实现了抽取出来的服务接口,这个类就是新的中间人
4. 在远程服务类中,定义一个内部类继承静态抽象类Stub,实现其需要实现的方法,在服务绑定时,返回此内部类的对象
5. 把aidl文件复制粘贴到启动远程服务的项目中,粘贴的时候注意,aidl文件所在的包名必须原aidl所在的包名一致
6. 在启动远程服务的项目中,强转中间人对象时,直接使用Stub.asInterface()

Stub.asInterface(service);

相关文章

  • 综合架构之SSH服务

    远程服务概念说明远程服务连接原理远程服务连接方式远程服务配置文件远程访问防范入侵方案 远程服务概念说明: teln...

  • 5.1 RemoteViews的应用

    1. RemoteViews简介 远程View?远程服务更好理解。远程服务是跨进程的服务,那么远程View当然是跨...

  • SCP命令常用操作

    传输本地文件至远程服务器 传输本地目录至远程服务器 传输远程服务器文件到本地 传输远程服务器目录到本地

  • java远程调试

    本文档实现调用远程接口,远程服务调用本地代码调试。(保持本地代码和远程代码一致) 远程服务器配置在远程服务器启动参...

  • 【Android】远程服务(Remote Service)的使用

    QQ交流群:668524118 kotlin中文学习交流 1.远程服务简介 什么是远程服务 远程服务(Remot...

  • Windows服务器部署

    一、远程连接云服务器 1.远程连接服务器 远程是否允许 云服务安全组是否配置允许远程登录 远程连接需要加端口号 二...

  • 远程管理服务 SSH

    1. 远程管理服务概念介绍 1.1 常见的 远程管理 服务 1.1.1 ssh 服务 安全的 远程连接 协议,数据...

  • windows下bat关闭【远程桌面】服务并重启

    windows下重启【远程桌面】服务,如果在远程服务器上,手动关闭远程服务,则当前远程连接也会立即中断,所以使用b...

  • 【Android】远程服务(Remote Service)的使用

    1.远程服务简介 什么是远程服务远程服务(Remote Service)也被称之为独立进程,它不受其它进程影响,可...

  • SSH-远程连接

    1.远程服务概念说明 ssh: 远程安全连接 22 互联网服务器 可以默认root用户远程登录telnet:远程连...

网友评论

    本文标题:远程服务

    本文链接:https://www.haomeiwen.com/subject/xppkyttx.html