Android Service使用方法

Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了。Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行。

Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开一个音乐播放器来听音乐,在听音乐的同时也想做下其它的事情,比如上网聊Q、或者上网浏览新闻之类的事情。这样的话,我们就需要用到Service服务了。下面我们以一个简单的音乐播放器的实例来说明下Service的生命周期和Service的使用。

下面是音乐播放器Demo的程序结构图:

Android Service使用方法

Android Service 的生命周期:

Android中Service的生命周期并不是很复杂,只是继承了onCreate(), onStart(), onDestory()三个方法。当我们第一次启动Service服务时,调用onCreate() --> onStart()两个方法,当停止Service服务时,调用onDestory()方法。如果Service已经启动了,第二次再启动同一个服务时,就只是调用 onStart() 这个方法了。

Android Service 的使用:

[1] 参照上面的程序结构图,我们可以创建一个Android程序,在src目录下创建一个Activity,一个继承自Service类的服务类;同时在资源文件夹res目录下创建一个raw的文件夹存放音频文件,如把music.mp3音乐文件放在该目录下。该程序的主界面如下:

Android Service使用方法

[2] layout目录下的main.xml文件的源码:

<?xml version="1.0" encoding="utf-8"?>    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:orientation="vertical"       android:layout_width="fill_parent"       android:layout_height="fill_parent"       >        <TextView             android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:text="Welcome to Andy's blog!"          android:textSize="16sp"/>           <TextView             android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:text="音乐播放服务"/>        <Button           android:id="@+id/startMusic"            android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="开启音乐播放服务"/>        <Button           android:id="@+id/stopMusic"            android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="停止音乐播放服务"/>       <Button          android:id="@+id/bindMusic"           android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="绑定音乐播放服务"/>       <Button          android:id="@+id/unbindMusic"           android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="解除 ——绑定音乐播放服务"/>    </LinearLayout>  

[3] src目录下MusicService.java源码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfwjx.html