//工具接口
public interface ServiceCreator {
Service getService();
public static class ServiceBinder<T extends Service> extends Binder {
private ServiceCreator mServiceCreator;
public ServiceBinder(ServiceCreator serviceFactory) {
mServiceCreator = serviceFactory;
}
@SuppressWarnings("unchecked")
public T getService() {
return (T) mServiceCreator.getService();
}
public void setCallBack(ServiceCreator cb) {
mServiceCreator = cb;
}
}
}
//实现接口
public class ServiceServer extends Service implements ServiceCreator {
private ServiceBinder<ServiceServer> mBinder;
public int test;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
mBinder = new ServiceBinder<ServiceServer>(this);
test = 10;
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
test=50;
//返回binder传给ServiceConnection
return mBinder;
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
return super.onUnbind(intent);
}
@Override
public ServiceServer getService() {
// TODO Auto-generated method stub
return ServiceServer.this;
}
}
//绑定Service
Intent intent = new Intent();
intent.setClass(this, ServiceServer.class);
bindService(intent, conn, Context.BIND_AUTO_CREATE);
//ServiceConnection
ServiceConnection conn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
//从service里的onBinder得到ServiceBinder
server = ((ServiceCreator.ServiceBinder<ServiceServer>) service)
.getService();
System.out.println("server:"+server.test);
}
};
核心思想为:
private Binder myBinder = new Binder (){
public getService(){
return MyService.this ;
}
}
public onBind(){
return myBinder ;
}
- Server.zip (69.5 KB)
- 下载次数: 2
发表评论
-
ScrollView嵌套Edittext
2015-04-08 18:26 843scrollview 中加入多个控件如 edittext 后会 ... -
android 布局式跑马灯,非TextView
2015-04-07 10:51 494如题,简单的实现了跑马灯效果,把Scroll.java放入an ... -
Android圆角图片
2015-03-11 17:44 694my_wane_shape.xml 快速圆角背景边框实现, ... -
SQLite多线程读写实践及常见问题总结
2015-02-13 17:06 944基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了一 ... -
android加速度感应
2015-01-19 10:25 14731.android测量数据 (1)android设备坐标系 ... -
MatrixCursor的使用
2015-01-19 09:49 1045ContentProvider对外共享数据的时候的query( ... -
Android 获取控件的宽高高级用法(MeasureSpec)
2015-01-15 14:23 998一个MeasureSpec封装了父 ... -
Android_GridView_GridView概述及实现水平滑动
2015-01-14 17:14 11511.GridView简介 GridView是ViewGroup ... -
Android MMS,SMS之常用Uri
2014-09-19 16:32 1323Android MMS,SMS之常用Uri Android ... -
android短彩信查询以及MMS表结构
2014-09-19 16:31 2236android短信的数据库的Uri是不公开的, 读取起来时灰常 ... -
使用Android自带DownloadManager下载文件
2014-08-19 11:04 767SDK在API Level 9中加入了DownloadMan ... -
android textview里链接点击事件,增加图片
2014-08-07 16:45 1146Android系统默认给TextView插入图片提供了三种方 ... -
android Home事件汇总
2014-07-18 11:30 1005方法一:android 4.0以后无法通过更改页面的类型来 ... -
Android风格与主题(style and theme)
2014-07-16 16:35 672Android xml风格和主题文 ... -
Android中播放声音的两种方法
2014-05-30 15:09 668在Android中,音频、视 ... -
android 杀进程方法
2014-05-26 17:43 1008关闭应用的方法: 1.System.exit(0); ... -
android service 生命周期
2014-04-21 16:16 787有了 Service 类我们如何启动他呢,有两种方法: ... -
解决ADB端口被占用的问题
2014-04-21 16:14 833究其源就是adb server没启动 经过分析整理如下: ... -
输入法隐藏打开
2013-12-23 14:24 817首次进入activity,如果有个edittex ... -
google经纬度互转
2013-07-11 16:34 935https://developers.google.com/ ...
相关推荐
本篇文章将深入探讨`Android Service`的实例,帮助开发者更好地理解和运用这一核心功能。 首先,Service的基本概念是:它是一个没有用户界面的后台组件,可以执行长时间的操作,比如播放音乐、处理网络请求或同步...
在Android应用开发中,Activity和Service是两个至关重要的组件,它们各自承载着不同的功能和应用场景。本篇将深入探讨Activity和Service的生命周期以及如何利用Android Interface Definition Language (AIDL)进行...
public class ServiceList extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...// 获取Activity管理器 List<Activ
本篇文章将深入解析"android service 简单实例源代码",帮助你理解如何在Android应用中创建和使用Service。 首先,我们来了解一下Service的基本概念。Service主要分为两种类型:标准Service和IntentService。标准...
在这个"android intent service实例"中,我们将深入探讨Intent Service的工作原理、创建过程以及如何在实际应用中使用。 Intent Service的基本概念: 1. 工作队列:Intent Service使用一个工作队列来顺序处理Intent...
服务端开发的主要目的是通过WebService技术提供服务接口,以便客户端可以获取服务端的信息。以下是创建服务端的步骤: 1. 创建WebService项目,选择默认的JAX-WS框架。 2. 导入必要的支持包。 3. 手动创建要发布...
Android Service实例的使用是开发者必备的技能,尤其对于那些需要在后台持续运行的任务,如音乐播放、定时任务或者网络通信等场景。 **服务的生命周期** Service的生命周期由系统控制,主要涉及以下方法: 1. `...
Action类可以通过Spring的注解进行依赖注入,获取Service实例。 最后,创建JSP页面作为视图,展示数据和提供用户交互界面。Struts2通过Struts Tags或者OGNL表达式与后台数据进行交互。 在实际运行时,用户通过...
Service接口继承自`javax.xml.rpc.Service`,在J2EE环境中,通常通过JNDI(Java Naming and Directory Interface)查找来获取Service实例。以下是一个在J2EE环境中使用生成的Stub的示例代码: ```java package ...
通常,我们可以在Activity、Service或Application中直接获取`Context`实例。然而,在非UI线程或自定义类中,可能无法直接获得`Context`,这时候反射就派上用场了。 要通过反射获取`Context`实例,首先我们需要一个...
6. **测试与运行**:利用Spring的`ApplicationContext`加载配置,获取Service实例进行测试。在实际项目中,通常会配合Spring Boot或Maven插件进行自动化构建和测试。 以上就是Mybatis-Spring整合的基础知识,这个...
当我们需要在非Activity或非Service类中使用Context时,可以通过各种方式获取,其中之一就是利用Java的反射机制。本示例"通过反射获取Context实例的Demo"将展示如何在没有直接Context引用的情况下,通过反射来获取...
首先,你需要获取Web服务的WSDL文档,这是描述服务接口、操作和绑定的关键文件。你可以将这个文档导入到Delphi项目中,Delphi会自动生成对应的客户端代理类。 导入WSDL后,Delphi会创建一个或多个接口类,这些接口...
- 示例代码中的MyService创建了一个内部类MyBinder,实现了Binder接口,使得Activity可以通过getMyService()方法获取Service实例并调用其方法。 6. **ServiceConnection的使用** - ServiceConnection用于管理...
`Start Service`主要用于执行非交互式的任务,例如后台音乐播放或数据同步,而`Bound Service`则提供客户端-服务端接口,允许其他组件与之交互并获取结果。 在`Start Service`中,服务一旦启动就会持续运行,直到...
### Oracle Service Bus 实例开发详解 #### 概述 Oracle Service Bus (OSB) 是一款高性能、可扩展的企业级服务总线产品,旨在提供企业应用集成和服务导向架构(SOA)的支持。它允许开发者和系统架构师利用消息传递...
总的来说,Web Service实例代码演示了如何使用VS2008和SQL Server 2008构建一个简单的数据查询服务。这涉及到了Web服务的生命周期、数据访问、XML序列化和反序列化,以及客户端与服务端的交互过程。通过学习和实践这...
假设我们的Service名称为`IKuiService`,则可以通过以下步骤获取Service实例: ```cpp sp<IServiceManager> sm = defaultServiceManager(); sp<IBinder> binder = sm->getService(String16("kuiService")); sp...