//工具接口
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 786scrollview 中加入多个控件如 edittext 后会 ... -
android 布局式跑马灯,非TextView
2015-04-07 10:51 448如题,简单的实现了跑马灯效果,把Scroll.java放入an ... -
Android圆角图片
2015-03-11 17:44 646my_wane_shape.xml 快速圆角背景边框实现, ... -
SQLite多线程读写实践及常见问题总结
2015-02-13 17:06 897基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了一 ... -
android加速度感应
2015-01-19 10:25 14321.android测量数据 (1)android设备坐标系 ... -
MatrixCursor的使用
2015-01-19 09:49 1013ContentProvider对外共享数据的时候的query( ... -
Android 获取控件的宽高高级用法(MeasureSpec)
2015-01-15 14:23 937一个MeasureSpec封装了父 ... -
Android_GridView_GridView概述及实现水平滑动
2015-01-14 17:14 11151.GridView简介 GridView是ViewGroup ... -
Android MMS,SMS之常用Uri
2014-09-19 16:32 1289Android MMS,SMS之常用Uri Android ... -
android短彩信查询以及MMS表结构
2014-09-19 16:31 2102android短信的数据库的Uri是不公开的, 读取起来时灰常 ... -
使用Android自带DownloadManager下载文件
2014-08-19 11:04 733SDK在API Level 9中加入了DownloadMan ... -
android textview里链接点击事件,增加图片
2014-08-07 16:45 1099Android系统默认给TextView插入图片提供了三种方 ... -
android Home事件汇总
2014-07-18 11:30 963方法一:android 4.0以后无法通过更改页面的类型来 ... -
Android风格与主题(style and theme)
2014-07-16 16:35 637Android xml风格和主题文 ... -
Android中播放声音的两种方法
2014-05-30 15:09 607在Android中,音频、视 ... -
android 杀进程方法
2014-05-26 17:43 971关闭应用的方法: 1.System.exit(0); ... -
android service 生命周期
2014-04-21 16:16 736有了 Service 类我们如何启动他呢,有两种方法: ... -
解决ADB端口被占用的问题
2014-04-21 16:14 780究其源就是adb server没启动 经过分析整理如下: ... -
输入法隐藏打开
2013-12-23 14:24 763首次进入activity,如果有个edittex ... -
google经纬度互转
2013-07-11 16:34 894https://developers.google.com/ ...
相关推荐
android service实例
Activity和Service生命周期及使用AIDL通信
public class ServiceList extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...// 获取Activity管理器 List<Activ
android intent service 实例android intent service 实例android intent service 实例
Android Service实例 Android Service 一般处理比较耗时的操作
实例019 巧用位移运算符获取汉字编码值 24 实例020 使用条件运算符判断指定年份 是不是闰年 25 实例021 使用流程控制语句报销业务花销 26 2.3 关键字的使用 27 实例022 使用checked关键字处理溢出错误 27 实例023 ...
Android创建服务实例图文实测,基于Eclipse, Android7, target=android-24 build-tools=25.0.2
实例042: 自动获取手机屏幕的分辨率 109 实例043: 自动获取手机电池的剩余电量 112 实例044: 来电时自动发送信息提醒 115 实例045: 获取手机存储卡的容量 119 实例046: 操作存储卡和内存卡中的数据 122 实例047...
obj.Service myobj = new obj.Service(); //实例化 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindPro(); BindCity(); BindWeather(); } } // 获得省份 ...
本文实例讲述了Android实现Service获取当前位置(GPS+基站)的方法。分享给大家供大家参考。具体如下: 需求详情: 1)、Service中每隔1秒执行一次定位操作(GPS+基站) 2)、定位的结果实时显示在界面上(要求得到经度、...
11.15 实例——获取报表列表和预览报表 第12章 InterBase组件页 12.1 InterBase组件页 12.2 InterBase Admin组件页 12.3 InterBase组件页应用实例 第13章 Server组件页 13.1 Word和Excel程序对象 13.2 ...
Android获取USB扫描枪扫描数据。Android 平板热插拔USB扫描枪应用场景多,在有界面如EditText时,扫描枪扫描内容自动输入到编辑框了,在...AccessibilityService不了解的同学看看http://www.jianshu.com/p/4cd8c109cdfb