当前课程知识点:智能设备应用开发(基于Android平台) > 单元6 Service与BroadcastReceiver > 任务一 启动和关闭一个Service > 启动和关闭一个Service
返回《智能设备应用开发(基于Android平台)》慕课在线视频课程列表
返回《智能设备应用开发(基于Android平台)》慕课在线视频列表
今天我们要完成的任务是
启动和关闭一个service
程序运行之后显示如下界面
单击启动service按钮
依次显示如下效果
单击关闭service
显示效果如下
通过这个任务我们可以学习到
第一:service的创建和配置方法
第二:service的启动和停止方法
下面我们来完成这个任务
首先创建一个Android项目,命名为firstservice
第二步:在leyout下面添加一个
使用线性布局技术的布局文件
命名为mian.xml
其内包含两个button
id分别为start和stop
第三步:双击打开src目录下的源文件mainactivity.java
将此处修改为我们创建的布局文件
main.xml
声明两个button类型的变量,分别为start和stop
导入相关包
第四部:在oncreate方法中获取start和stop
第五步:在src下添加一个service类
在这里就涉及到一个新的知识点
service的基本使用方法
下面我们首先学习一下这个知识点
service是Android中与activity最相似的组件,他们都代表可执行的程序
两者的区别是:service一直在后台运行,没有用户界面
在程序中activity与service的选择标准是如果某个程序组件需要在运行时向用户呈现某种界面
或则该程序需要与用户交互,就需要使用activity,否则就应该考虑使用service
开发service的步骤类似于activity,步骤如下:
(1)定义一个继承service的子类
(2)在Androidmanifest.xml文件中配置该service
配置service的代码与activity类似,例如:
与activity相似,service中也定义了系列生命周期方法:
onbind方法:该方法是service子类必须实现的方法
该方法返回一个ibinder对象,应用程序可以通过该对象与service进行通信
oncreate:当该service第一次被创建时将会回调该方法
ondestroy方法:当该service被关闭时回调该方法
开发完service之后,可通过如下两种方式运行service:
(1)通过startservice方法:通过该方法启动service
访问者与service之间没有关联,即使访问者退出了,service仍然运行
例如
(2)通过bindservice方法绑定,使用该方法启用service
访问者与service绑定在一起,访问者一旦退出,service也就终止
学习完service的基本使用方法之后
下面我们来完成第五步
在src下添加一个类
命名为firstservice
继承service
并导入相关包
实现其onbind方法
实现其oncreate方法
在其内添加一个toast提示信息框
实现其onstartcommand方法
在其内添加一个toast提示信息框
实现其ondestroy方法
在其内添加一个toast提示信息框
第六步,在Androidmanifest.xml中
对service进行注册
第七步,在maniactivity.java中编写启动service按钮的事件监听基类
命名为listener1
实现onclicklistener接口
导入相关包
实现其onclick方法
实现启动一个service
首先,实例化一个intent
导入相关包
设置intent的action属性
通过startservice方法
启动指定的service
第八步,编写关闭service按钮的事件监听基类
命名为listener2
实现onclicklistener接口
实现其onclick方法
实现一个关闭service
首先实例化一个intent
实质intent的action属性
通过stopservice方法关闭指定的service
第九步,分别为start和stop按钮绑定监听器
程序到此,功能全部实现
点击运行程序
显示效果如下
-任务一 开发第一个Android应用程序
--外部链接
-单元1 开发第一个Android应用程序--任务一 开发第一个Android应用程序
-任务一 唐诗赏析软件
--html
--外部链接
-任务一 唐诗赏析软件--作业
-任务二 用户注册界面设计
--用户注册界面设计
-单元2 界面编程--任务二 用户注册界面设计
-任务三 用户登录界面设计
--用户登录界面设计
-单元2 界面编程--任务三 用户登录界面设计
-任务四 游戏开始界面设计
--游戏开始界面设计
-单元2 界面编程--任务四 游戏开始界面设计
-任务五 图片浏览器
--2-5-1
--2-5-2
-任务五 图片浏览器--作业
-任务六 个人信息收集界面设计
--个人信息收集界面
--RadioButton(单选按钮)和CheckBox(复选框)
--html
-任务六 个人信息收集界面设计--作业
-任务七 日期和时间选择器
--日期和时间选择器
-任务七 日期和时间选择器--作业
-任务八 猜拳游戏
--2-8-1
--2-8-2
-任务八 猜拳游戏--作业
-任务九 制作选项菜单
--制作选项菜单
--选项菜单
-任务九 制作选项菜单--作业
-任务十 简单的文本编辑器
--简单的文本编辑器
-任务十 简单的文本编辑器--作业
-任务十一 制作滚动视图界面
--制作滚动视图界面
-任务十一 制作滚动视图界面--作业
-任务一 用户登录功能实现
--3-1-1
--3-1-2
--3-1-3
--html
--Video
-任务一 用户登录功能实现--作业
-任务二 Activity的一生
--3-2-1
--3-2-2
--3-2-3
--3-2-4
-任务一 使用Intent的Action属性实现页面之间的跳转
--4-1-1
--4-1-2
--Intent的Action、Category属性与intent-filter配置
-任务二 返回系统HOME页面
--4-2-1
--4-2-2
--通过标准Action和Category调用系统Activity
-任务三 浏览Google首页、打开一幅图片、启动给指定号码打电话、发短信页面
--4-3-1
--4-3-2
--html
-任务一 使用SharePreferences存储和读取数据
--5-1-1
--5-1-2
-任务一 使用SharePreferences存储和读取数据--作业
-任务二 应用程序数据文件夹里的文件读写
--5-2-1
--5-2-2
--文件存储
--文件读取
-任务二 应用程序数据文件夹里的文件读写--作业
-任务三 基于SQLite的用户信息存储器
--5-4-1
--5-4-2
-任务三 基于SQLite的用户信息存储器--作业
-任务一 启动和关闭一个Service
--html
--html
--html
-任务一 启动和关闭一个Service--作业
-任务二 来电监听器
--来电监听器
--html
-任务二 来电监听器--作业
-任务一 基于TCP协议的点对点通信
--默认
--7-1-2
--7-1-3
-任务一 基于TCP协议的点对点通信--作业
-任务二 使用HTTP访问网络资源
--默认
--7-2-2
--html
-任务二 使用HTTP访问网络资源--作业
-任务三 天气预报软件实现
--7-3-1
--7-3-2
--7-3-3
--7-3-4
--7-3-5
--html
-课程介绍
--课程定位
--内容选取
--内容组织
--教学模式
--教学平台
-课程建设
--建设目标
--建设思路
--建设规划
--教材建设
--政策支持
-教学设计
--教学设计
--教学改革
-教学资源
--课程标准
--教案
--企业案例
-模拟题库
--技术答疑
--习题库
-实践教学
--实训项目指导书
--实训项目资源
--教学条件
-拓展资源
--案例库
--素材库
--培训项目包
-特色创新
--课程特色