Jollen 的 Android 教学(10): 如何检查 Service 是否已启动?使用 Android 除错器
2009-12-09 12:47
786 查看
Activity 是一个有 UI 的类别,Service 则是一个没有 UI 的类别。要知道 Activity 是否启动,只要看看手机是否出现画面即可;要知道 Service 是否有启动,最容易的方式就是透过「除错」的方式。以下我们实际以一个完整项目方式来对 Android 应用程序做除错。
建立 MokoService 类别
点击 Eclipse 的 File -> New -> Class 项目,利用 Eclipse 的自动新增功能,在先前的 HelloMoko 项目里建立 MokoService 类别,如图1。字段「Superclass」应填入 android.app.Service。
图1: 建立 MokoService 类别
修改 MokoService 实作
在新增的 MokoService 类别里,加入 onStart() 与 onDestory() 实作,如图2。onStart() 的实作如下:
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
因为 onStart() 是一个负载(override)实作,因此要呼叫 superclass 的 onStart() 方法。接着,将鼠标移到 MokoService 类别里的第 17 行(super.onStart),然后点击 Run -> Toggle Breakpoint 在程序代码第 17 行的地方建立一个断点。
图2: onStart() 与 onDestory() 实作与设定断点
除了 MokoService 类别外,我们还要修改 AndroidManifest.xml 并在 Activity 里启动 MokoService 类别,请参考 [教学, #9] 的说明。
启动除错器
点击 Run -> Debug Configurations 执行项目,并启动除错器。当 Android 应用程序成功安装到 target device 并执行时, 会出现一个询问对话框,选 Yes 即可,Eclipse 会将环境切换至除错模式,如图3。
图3: 是否要切换到除错模式?
接着可以在除错模式下看到 Android 应用程序停在先前所设定的断点(breakpoint),这表示 MokoService 类别已被 Android 系统加载并执行了,如图4。
图4: 程序在断点暂停
--jollen
原文(http://www.miiceic.org.cn/07/0710/071010/200906301703576.asp)
中程在线(北京)科技有限公司
中国信息产业培训网
www.miiceic.org.cn
咨询热线:400-7068-123
建立 MokoService 类别
点击 Eclipse 的 File -> New -> Class 项目,利用 Eclipse 的自动新增功能,在先前的 HelloMoko 项目里建立 MokoService 类别,如图1。字段「Superclass」应填入 android.app.Service。
图1: 建立 MokoService 类别
修改 MokoService 实作
在新增的 MokoService 类别里,加入 onStart() 与 onDestory() 实作,如图2。onStart() 的实作如下:
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
因为 onStart() 是一个负载(override)实作,因此要呼叫 superclass 的 onStart() 方法。接着,将鼠标移到 MokoService 类别里的第 17 行(super.onStart),然后点击 Run -> Toggle Breakpoint 在程序代码第 17 行的地方建立一个断点。
图2: onStart() 与 onDestory() 实作与设定断点
除了 MokoService 类别外,我们还要修改 AndroidManifest.xml 并在 Activity 里启动 MokoService 类别,请参考 [教学, #9] 的说明。
启动除错器
点击 Run -> Debug Configurations 执行项目,并启动除错器。当 Android 应用程序成功安装到 target device 并执行时, 会出现一个询问对话框,选 Yes 即可,Eclipse 会将环境切换至除错模式,如图3。
图3: 是否要切换到除错模式?
接着可以在除错模式下看到 Android 应用程序停在先前所设定的断点(breakpoint),这表示 MokoService 类别已被 Android 系统加载并执行了,如图4。
图4: 程序在断点暂停
--jollen
原文(http://www.miiceic.org.cn/07/0710/071010/200906301703576.asp)
中程在线(北京)科技有限公司
中国信息产业培训网
www.miiceic.org.cn
咨询热线:400-7068-123
相关文章推荐
- [转]Jollen 的 Android 教學,#10: 如何檢查 Service 是否已啟動?使用 Android 除錯器
- Android中如何判断service是否启动并停止
- 如何检查后台服务(Android的Service类)是否正在运行?
- 如何检查后台服务(Android的Service类)是否正在运行?
- 如何检查Android后台服务线程(Service类)是否正在运行
- 如何检查Android后台服务线程(Service类)是否正在运行
- Jollen 的 Android 教学(9): 启动 Service - startService()
- 如何检查Android后台服务线程(Service类)是否正在运行
- 如何检查后台服务(Android的Service类)是否正在运行?
- 如何检查后台服务(Android的Service类)是否正在运行?
- Android中如何做到Service被关闭后又自动启动
- Android service跨进程调用和启动检查
- android 使用BroadcastReceiver实现开机启动Service或Activity
- Android使用Intent启动Service的Intent必须是显式的
- Android如何配置init.rc中的开机启动进程(service)【转】
- android如何实现开机自动启动Service或app
- Android 5.0 禁止使用隐式Intent来启动Service.异常:service intent must be explicit
- Android init.rc如何启动service去执行sh脚本
- Android init.rc如何启动service去执行sh脚本
- Android如何实现开机自动启动Service