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);
Android四大组件之服务的更多相关文章
- Android四大组件之服务-Service 原理和应用开发详解
一.Android 服务简介 Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它跟Acti ...
- Android四大组件之服务的两种启动方式详解
Service简单概述 Service(服务):是一个没有用户界面.可以在后台长期运行且可以执行操作的应用组件.服务可由其他应用组件启动(如:Activity.另一个service).此外,组件可以绑 ...
- Android 四大组件 Service 服务
1.Service简单介绍 依照使用范围分类: 类别 优点 缺点 差别 应用 本地服务 Local Service 本地服务在一定程度上节约了资源,另外本地服务由于是在同一进程,因此不须要IPC,也 ...
- Android学习之基础知识十三 — 四大组件之服务详解第一讲
一.服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使程序被切换到后台, ...
- 入职小白随笔之Android四大组件——服务(Service)
Service Android多线程编程 当我们在程序中执行一些耗时操作时,比如发起一条网络请求,考虑到网速等原因,服务器未必会立刻响应我们的请求,此时我们就需要将这些操作放在子线程中去运行,以防止主 ...
- Android四大组件之一“广播”
前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...
- Android 四大组件 与 MVC 架构模式
作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...
- android四大组件(简单总结)
activity 一个Activity通常就是一个单独的屏幕(窗口) Activity之间通过Intent进行通信 android应用中每一个Activity都必须要在AndroidManifest. ...
- Android 四大组件之再论service
service常见的有2种方式,本地service以及remote service. 这2种的生命周期,同activity的通信方式等,都不相同. 关于这2种service如何使用,这里不做介绍,只是 ...
随机推荐
- C#简单代码转移数据库数据
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;u ...
- C 碎片四 流程控制
前面介绍了程序中用到的一些基本要素(常量,变量,运算符,表达式),他们是构成程序的基本成分,下面将介绍C语言中流程控制的三种结构:顺序结构.分支结构.循环结构 一.顺序结构 顺序结构的程序设计是最简单 ...
- 从零开始的全栈工程师——js篇2.4
条件语句与循环语句 变量提升: 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作 ...
- #include stdio.h(1)
#include <stdio.h> int main() { //************一.运算符********** //1.赋值运算符 = ; //赋值运算符表示的是将等号右边的赋 ...
- 使用vuex管理数据
src/vuex/store.js 组件里面使用引入store.js,注意路径 import store from 'store.js' 然后在使用的组件内data(){}同级放入store 三大常用 ...
- 美团Java面试154道题
Java集合22题 ArrayList 和 Vector 的区别.ArrayList与Vector区别 说说 ArrayList,Vector, LinkedList 的存储性能和特性.ArrayLi ...
- testNG测试基础一
1.TestNG概念 TestNG:Testing Next Generation 下一代测试技术,是一套根据JUnit和Nunit思想构建的利用注释来强化测试功能的测试框架,可用来做单元测试,也可用 ...
- php生成纯数字、字母数字、图片、纯汉字的随机数验证码
现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡! 首先,我们开始先生成一个放验证码的背景图片 注:没有Imagejpg()这个函数,只有imagepng()函数 imagecreatet ...
- vue+node+mongodb实现的页面
源代码地址:https://github.com/GainLoss/vue-node-mongodb 目前这个项目实现的是: 1.利用vue-cli实现前台页面的编写 (1)页面的跳转利用的是vue- ...
- UOJ#126【NOI2013】快餐店
[NOI2013]快餐店 链接:http://uoj.ac/problem/126 YY了一个线段树+类旋转卡壳的算法.骗了55分.还比不上$O(n^2)$暴力T^T 题目实际上是要找一条链的两个端点 ...