android中自定义service的详解(例子)

Android高级应用开发实践之service服务“家教”篇总结笔记【附代码)| 优快云创作打卡 Android高级应用开发实践之service服务“家教”篇总结笔记【附代码】,新手必会,老手更惠! 阅读详情
 

1、RPC Service:
(1)创建一个AIDL文件来向客户端定义接口
AIDL 文件使用 java语法,它的扩展名是点 .aidl 使用的包名称与Android项目所使用的包相同
package cn.gpb.service;
interface IPerson{
  void setAge(int age);
  void setName(String name);
  String display();
}
(2)将AIDL 文件添加到项目的任意包下。Android Eclipse 插件将调用AIDL编译器来从 AIDL 文件生成 Java接口。这一步是eclipse插件ADT自动生成代码(在包gen下面)。
(3)实现一个服务并从 onBind()方法返回所生成的接口。
/**
 * 使用service将接口暴露给客户端
 */
public class MyRemoteService extends Service {
 //声明IPerson接口
 private Stub iperson = new IPersonImpl();
 @Override
 public IBinder onBind(Intent intent) {
  return iperson;
 }
}
(4)写实现类IPersonImpl extends IPerson.Stub 来实现接口
/**
 * IPerson 的实现类
 */
public class IPersonImpl extends IPerson.Stub{
 private int age;
 private String name;
 public String display() throws RemoteException {
  return "name:"+name+" age: "+age;
 }

 public void setAge(int age) throws RemoteException {
  this.age = age;
 }

 public void setName(String name) throws RemoteException {
  this.name = name;
 }
}
(4)将服务配置添加到 AndroidManifest.xml文件中 。
 <!-- RPC Service-->
         <service  android:name=".service.MyRemoteService" >
              <intent-filter >
                  <action android:name="cn.gpb.service.MyRemote_service"  />
              </intent-filter>
         </service>

(5)客户端进行连接:
public class ServiceActivity extends Activity {
 private Button rpcButton;
        private IPerson iperson;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.service);
  // 实例化按钮组件
  rpcButton   = (Button) findViewById(R.id.rpcButton);//rpc监听
  rpcButton.setOnClickListener(rpc_listener);

 }
 private OnClickListener rpc_listener = new OnClickListener() {
  public void onClick(View arg0) {
   Intent intent = new Intent();
   intent.setAction("cn.gpb.service.MyRemote_service");
   // 绑定服务
   bindService(intent, rpcConn, Service.BIND_AUTO_CREATE);
  }
 };

 //RPC 实例化ServiceConnection
 private ServiceConnection rpcConn = new ServiceConnection() {
  synchronized public void onServiceConnected(ComponentName name, IBinder service)  {
     //获取IPerson接口
   iperson = IPerson.Stub.asInterface(service);
   if(iperson!=null){
    try {
     iperson.setName("gongpeibao");
     iperson.setAge(25);
     String msg = iperson.display();
     //显示方法调用返回值
     Toast.makeText(ServiceActivity.this, msg,        Toast.LENGTH_LONG).show();
    } catch (RemoteException e) {
     e.printStackTrace();
    }
    
   }
  }
    }

Android P中如何自定义一个系统Service 1. Context中新建service name frameworks/base/core/java/android/content/Context.java public static final String JUSTART_SERVICE = "justart"; 2. 创建aidl文件 frameworks/base/core/java/android/app/IJustAr... 阅读详情

相关推荐

Android安卓进程保活(二)设置前台Service

其它文章首先你要知道Android中的进程以及它的优先级,下面来说明它进程前台进程 (Foreground process)可见进程 (Visible process)服务进程 (Service process)后台进程 (Background process)空进程 (Empty process)

2401_85763843的博客 1109

android入门之创建service

Service意为:服务,是一种运行时用户不可见的活动机制。可以理解为它是一个没有布局的Activity。 典型的场景:音乐后台播放、后台下载。 Service不同于子线程,Service是运行在主线程中的,因此不能进行耗时操作。

qq_33163046的博客 7976

Android Bind Service机制详解

     在android中有一个程序员大量使用的操作,就是bindservice,通过一个service可以实现代码的复用以及解耦,所以对这个bindservice的理解的深度直接影响了一个开发人员对于android系统开发的整体的掌握情况。    好啦,废话不多说,首先我们来看一个我开发过程中遇到的例子。    在开发中我们常常要用到这们一种情况,我们的UI逻辑和为UI逻辑提供

SunGuoqing 2万+

android中service的使用方法-小例子讲解

1、RPC Service:(1)创建一个AIDL文件来向客户端定义接口AIDL 文件使用 java语法,它的扩展名是点 .aidl 使用的包名称与Android项目所使用的包相同package cn.gpb.service;interface IPerson{  void se

技术人宝哥 1137

Android 四大组件之Service的详解

** 一、Service的简介 ** Service是Android中实现程序后台运行的解决方案,适用于去执行那些不需要和用户交互而且还要求长期运行的任务。Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。 作用:提供 需在后台长期运行的服务 特点:无用户界面、在后台运行、生命周期长 1、Service的生命周期

路宇的博客 5976

Docker网络冲突?手把手教你解决Dify社区版无法访问172.18.0.0网段的问题

本文详细解析了在部署Dify社区版时,因Docker默认网段与局域网冲突导致无法访问172.18.0.0网段的问题。通过剖析Docker网络原理,提供了修改Docker守护进程默认地址池的根治方案,并介绍了在Compose文件中指定自定义网络等备选方法,帮助用户彻底解决网络冲突,保障服务稳定运行。

p8q9r0的博客 484

Android入门教程 | 四大组件之Service(前台服务,后台服务)

Service是一种可在后台执行长时间运行操作而不提供界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。此外,组件可通过绑定到服务与之进行交互,甚至是执行进程间通信 (IPC)。例如,服务可在后台处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序进行交互。

Android23333的博客 6700

第7篇-SAP MM模块-JIT应用实战解析,从计划协议到JIT供应的关键配置与流程

本文深入解析SAP MM模块中的JIT(Just In Time)供应模式,从计划协议到JIT供应的关键配置与流程。通过动态计划行管理、需求聚合与分解等核心功能,实现精确数量、时间和地点的物料供应。文章详细介绍了主数据准备、计划协议配置、MRP参数精调及EDI集成方案,并提供了实施中的典型问题与解决方案,助力企业优化供应链管理。

weixin_30363509的博客 948

android自定义service,Android自定义Service的启动方式

一. 自定义Service启动方式Service没有用户界面,运行与后台。一般用于给前台Activity提供特定服务。服务不能自己运行,启动用户自定义Service的方式有两种:Context.startService或 Context.bindService。(一)startService使用startService()方法启用服务后,调用者与服务之间没有关连。调用者直接退出(假设应用没有退出)...

weixin_42110070的博客 1476

STK传感器配置全攻略:从光学到雷达的7种视场类型详解(附避坑指南)

本文详细解析了STK软件中传感器的7种视场类型,从基础的Simple Conic、Complex Conic到高级的SAR与EOIR,提供了完整的配置步骤与实战避坑指南。重点阐述了雷达、光学等不同物理设备的建模选择逻辑,并针对常见的“No Access”等报错问题给出了系统性的排查方案,帮助工程师高效完成卫星系统设计与任务分析。

weixin_29232507的博客 228

IATF16949核心职位全解析

TM / Top MgmtMR / QMRProcess OwnerQMQAQCSQECQEPQEPETEMEIEPM / PJMFMEA ModeratorMSA CoordinatorSPC CoordinatorCM / CCB内审员CP / CPK

weixin_49938552的博客 972

android 自定义permission的说明

以跨进程调用service的例子来说明(aidl),在app1中的定义: 1 2 3   4    5             android:permission="wo.cao"> 6        7    下面说明一下1,表示我们要自定义一个permission,2表示要使用这个permission 5,表示所有调用service的client都要使

u012398902的专栏 2114

51单片机STC8G1K08驱动ws2812记录

使用51单片机控制17个2812灯,这里选择STC8芯片,最大频率可以达到35M,参考网上的各种文章案例,使用定时器做的时候实测做不到规格书要求的245-345ns,STC8G1K08不带PWM,所以只能使用nop来做,好在单片机在这里只有做编程灯的功能,省略测试过程,下面是程序,使用的是24MHz内部晶振 //设置一个灯珠 void SendOnePix(unsigned char *ptr) { unsigned char i,j; unsigned char temp; fo...

的博客 7320

安卓服务Service详解

service(服务)是安卓中的四大组件之一,它通常用作在后台处理耗时的逻辑,与Activity一样,它存在自己的生命周期,也需要在清单文件中配置相关信息,本博客将对Service的各个知识点进行详细讲解。 一Service的基本用法: 1使用本地服务 1)服务的启动方式 1通过Context的startService()方法启动服务:以该方法启动的服务,开启该服务的应用组

(* ̄︶ ̄) 6万+

别再为PT100测温发愁了!手把手教你用ADS1247+STM32搞定高精度温度采集(附完整源码)

本文详细介绍了如何利用ADS1247高精度ADC与STM32微控制器构建PT100测温系统,实现±0.1℃的温度测量精度。内容涵盖硬件设计、寄存器配置、SPI通信优化及温度换算算法,特别适合工业自动化和精密仪器领域的嵌入式开发人员参考。

weixin_26897585的博客 428

“Agent Harness”和“Harness Engineering”

摘要:2026年AI工程化领域,"Agent Harness"(AI代理运行控制系统)与"Harness Engineering"(马具工程方法论)常被混淆。前者是管理AI代理非推理事务的技术实体(工具调用、记忆管理、安全约束等7层架构),后者是设计优化该系统的工程学科。研究表明,优化的Harness设计可使同一模型性能提升10倍。两者关系如同"马具"与"制具工艺":Harness Engineering指导Agent Harn

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 840

Android之 Service服务详解

Service服务详解

qq_29848853的博客 5121

「Unity3D」Addressable版本冲突解析:SBP与Addressables兼容性问题实战指南

本文深入解析Unity3D中Addressable与SBP(Scriptable Build Pipeline)版本冲突问题,提供实战解决方案。当遇到「Build Task CreateBuiltInShadersBundle failed」错误时,可通过版本匹配、临时资源引用或构建参数调整解决。文章详细分析兼容性原理,并给出版本组合指南与最佳实践,帮助开发者高效处理资源构建问题。

weixin_29001683的博客 410

Android四大组件——Service详解

Service 为后台运行,不可见,没有界面。优先级高于Activity(内存不足时先杀掉Activity),运行在主线程且不能做耗时操作。

小旭的专栏 7629

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android service是什么,Android service是什么 Android service详解

Android service是什么 Android service详解时间:2017-04-06来源:Android开发学习网什么是Android Service?service是Android四大组件之一,其余的是activity、BroadcastReceiver、Content Provider。android service是一个能够在后台执行长时操作的应用程序组件,它不提供用...

weixin_33997566的博客 3923

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

安卓Service 详解

 Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:Service简单概述Service在清单文件中的声明Service启动服务实现方式及其详解Service绑定服务的三种实现方式关于启动服务与绑定服务间的转换问题前台服务以及通知发送服务Service与线程Thread的区别管理服务生命周期的要点Android 5.0以上的隐式启动问题及其解决方案保证服务不被杀死的实现思...

hdhhd的博客 5万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

一个Android Service小例子

写过一些android程序,但是android中的Service的组件却不曾用过,因此,对它也不甚了解,所以,今天写个小例子来学习如何使用Service。这其实也是我学习新东西的一个方法,对于陌生的东西,看书只是理论只是的了解,但是实际的情况如何,还是需要写些程序来测试,那样的理解更深刻。   测试目的:了解Service的生命周期,以及在startService和bindServic

u012398902的专栏 4777

Android安卓进阶技巧之——Android Service 服务

’ 一、 Service简介 Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的。 Service的

m0_58479348的博客 1万+

【Android】安卓四大组件之服务(Service)详解:从基础到进阶

Service作为安卓应用后台任务处理的核心组件,在保障应用功能完整性和提升用户体验方面起着不可或缺的作用。通过掌握Service的生命周期、分类及使用场景,开发者能够合理设计应用架构,实现高效、稳定的后台任务处理。随着安卓系统的不断升级,Service的使用也需与时俱进,结合新特性和替代方案,让应用在后台运行中发挥更大价值。希望本文能帮助大家深入理解Service,在安卓开发中灵活运用这一强大工具

m0_59734531的博客 1522

Android之Service详解

与前一篇Android之Activity的细枝末节是同一系列的文章,是自己在学习和研发过程中,对Service的一些知识点的总结,汇总得到这篇文章。这篇文章会从Service的一些小知识点,延伸到Android中几种常用进程间通信方法。

王三的专栏 8630

Android Service服务(有例子)

服务 1.服务简介 服务(Service)是Android中的四大组件之一,是一个长期运行在后台的用户组件,没有用户界面。即使切换到另一个应用程序,服务也可以在后台运行,因此服务更适合执行一段时间而又不需要显示界面的后台操作,例如下载数据,播放音乐等。 2.服务的创建 在程序包上右键,选择【new】>>【Service】>>【Service】选项,在弹出窗口上输入名称即可。...

码出精彩 4995
上一篇: ServletContextListener的用法
下一篇: android应用的欢迎启动界面效果
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值