Android四大组件之服务

创建一个服务,并与活动绑定

作为安卓四大组件之一的服务,毫无例外也要在manifast中进行注册

  • 新建服务类继承于Service,并覆盖onBind( )方法,用于与活动绑定
public class MySevice extends Service {

    //创建DownloadBinder对象mBinder
    private DownloadBinder mBinder = new DownloadBinder();

    //创建DownloadBinder类,实现服务中需要等待活动指示来执行的方法
    class DownloadBinder extends Binder {   //必须是pubilc修饰的方法
        public int getProcess() {
            return 0;
        }
    }

    @Nullable
    @Override
    //返回DownloadBinder对象mBinder
    public IBinder onBind(Intent intent) {
        return mBinder;
    }

    @Override
    //创建服务时执行
    public void onCreate() {
        Toast.makeText(this, "服务创建成功", Toast.LENGTH_LONG).show();
        super.onCreate();
    }

    @Override
    //启动服务时执行
    public int onStartCommand(Intent intent, int flags, int startId) {
        Toast.makeText(this, "服务启动成功", Toast.LENGTH_LONG).show();
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    //关闭服务时执行
    public void onDestroy() {
        Toast.makeText(this, "服务关闭成功", Toast.LENGTH_LONG).show();
        super.onDestroy();
    }
}
  • 在Activity中找到传递过来的mBinder对象
    private MySevice.DownloadBinder mDownloadBinder;
    //创建匿名内部类ServiceConnection(),重写方法onServiceConnected(),onServiceDisconnected()分别在绑定和取消绑定时调用
    private ServiceConnection mConnection = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            //向下转型,找到mDownloadBinder对象,并调用对象中的public方法
            mDownloadBinder = (MySevice.DownloadBinder) service;
            mDownloadBinder.getProcess();
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {

        }
    };
  • 绑定服务与活动
    Intent thread_bind_service = new Intent(ThreadDemoActivity.this, MySevice.class);
    bindService(thread_bind_service,mConnection,BIND_AUTO_CREATE);
    /* bindService()方法接收三个参数,第一个参数就是刚刚构建出的 Intent 对象,
    *  第二个参数是前面创建出的 ServiceConnection 的实例,
    *  第三个参数则是一个标志位,这里传入 BIND_AUTO_CREATE 表示在活动和服务进行绑定后自动创建服务
    */
  • 解除绑定
  unbindService(mConnection);
时间: 2024-07-28 19:28:41

Android四大组件之服务的相关文章

Android四大组件之服务-Service

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

Android四大组件之服务的两种启动方式详解

Service简单概述 Service(服务):是一个没有用户界面.可以在后台长期运行且可以执行操作的应用组件.服务可由其他应用组件启动(如:Activity.另一个service).此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC).例如:服务可以处理网络事务.播放音乐,执行文件 I/O 或与内容提供程序交互,而这一切均可在后台进行. 进程的优先级 了解进程的优先级可以帮助你理解服务~ 1. Foreground process(前台进程) 一句话总结:当前跟用户有交互

Android 四大组件 Service 服务

1.Service简介 按照使用范围分类: 类别 优点 缺点 区别 应用 本地服务 Local  Service 本地服务在一定程度上节约了资源,另外本地服务因为是在同一进程,因此不需要IPC,也不需要AIDL.相应bindService会方便很多. 主进程被Kill后,服务便会终止. 本地服务依附在主进程上,而不是独立的进程,用于应用程序内部 . 音乐播放服务 远程服务 Remote Service 对应进程名格式为所在包名加上指定的android:process字符串.由于是独立的进程,因此

Android 四大组件 详解

[置顶] Android四大组件详解 分类: Android四大组件2013-02-09 16:23 19411人阅读 评论(13) 收藏 举报 Android开发 注:本文主要来自网易的一个博主的文章,经过阅读,总结,故留下文章在此 Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个

android四大组件

Activity 为应用提供了可视化用户界面,与用户进行交互 启动模式 standard singleTop singleTask singleInstance ContentProvider内容提供者 共享数据,为跨应用的数据交换提供了一个标准 insert update delete query ContentResovler uri BroadcastReceiver广播接收者 用于接收程序(包括用户开发的程序和系统内建程序)所发出的broadcastReceiver 耗电量 开机启动 窃

Android四大组件及其应用-->

android四大组件分别为:activity/service/content provider/broadcast receiver; 1.activity--> (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. 2.service--> (1)service用于在后台完成

android四大组件--ContentProvider详解

一.相关ContentProvider概念解析: 1.ContentProvider简介 在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,例如我们需要操作系统里的媒体库.通讯录等,这时我们就可能通过ContentProvider来满足我们的需求了. 2.为什么要选择Conte

Android四大组件——Service

Service相关链接 Service初涉 Service进阶 Service精通 Service是Android系统中的一种组件,它跟Activity的级别差不多,但是它不能自己运行,只能后台运行,并且可以和其他组件进行交互.Service是没有界面的长生命周期的代码.Service是一种程序,它可以运行很长时间,但是它却没有用户界面.这么说有点枯燥,来看个例子,打开一个音乐播放器的程序,这个时候若想上网了,那么,我们打开Android浏览器,这个时候虽然我们已经进入了浏览器程序,但是,歌曲播

android四大组件(详细总结)

Android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activity (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. 2.service (1)servic