Android开发之Service用法实例

本文实例讲述了Android开发之Service用法。分享给大家供大家参考。具体分析如下:

Service是一个生命周期较长而且没有界面的程序。

下面通过一个播放mp3的例子来学习。

先看MainActivity.java

package com.example.servicetest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btnstart = (Button) findViewById(R.id.btnstart);
    btnstart.setOnClickListener(new OnClickListener() { 

      @Override
      public void onClick(View v) {
        startService(new Intent("com.yarin.Android.MUSIC"));
      }
    });
    Button btnstop = (Button) findViewById(R.id.btnstop);
    btnstop.setOnClickListener(new OnClickListener() { 

      @Override
      public void onClick(View v) {
        stopService(new Intent("com.yarin.Android.MUSIC"));
      }
    });
  }
}

在界面上定义了两个按钮。

再看MusicService.java

package com.example.servicetest;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class MusicService extends Service {
  private MediaPlayer player;
  @Override
  public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
  }
  public void onStart(Intent intent, int startId) {
    super.onStart(intent, startId);
    player = MediaPlayer.create(this, R.raw.a);
    player.start();
  }
  public void onDestroy() {
    super.onDestroy();
    player.stop();
  }
}

定义了在start和destroy的时候做的事情。

在res目录下新建一个raw文件夹并将a.mp3放到该目录下。

这样,在点击开始按钮的时候,就可以播放那个mp3文件了。点击停止,就可以停止播放。

希望本文所述对大家的Android程序设计有所帮助。

(0)

相关推荐

  • Android提高之Service用法实例解析

    前面文章介绍了Activity以及Intent的使用,本文就来介绍Service.如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行.Service跟Activity一样也由Intent调用.在工程里想要添加一个Service,先新建继承Service的类,然后到AndroidManifest.xml -> Application ->Application Nodes中的Service标签中添加. Service要由Activi

  • Android实现Service重启的方法

    本文实例讲述了Android实现Service重启的方法.分享给大家供大家参考.具体如下: 做APP的时候,我们可能需要一个后台服务一直在运行着,得用到Service组件. 但服务可能在如下情况被杀死: A.用户手动点击停止. B.采用第三方软件(比如360手机卫士)进行清理,当然这样子除了系统服务外,其他的进程肯定也会被杀死,除非跟手机厂商联系. 这时候可能需要重启该服务,上网看了半天,有提到用Timer.AlarmManager去实现间歇性的发送广播启动Service(注册的广播接收后,启动

  • Android中Service(后台服务)详解

    1.概念: (1).Service可以说是一个在后台运行的Activity.它不是一个单独的进程,它只需要应用告诉它要在后台做什么就可以了. (2).它要是实现和用户的交互的话需要通过通知栏或者是通过发送广播,UI去接收显示. (3).它的应用十分广泛,尤其是在框架层,应用更多的是对系统服务的调用. 2.作用: (1).它用于处理一些不干扰用户使用的后台操作.如下载,网络获取.播放音乐,他可以通过INTENT来开启,同时也可以绑定到宿主对象(调用者例如ACTIVITY上)来使用. (2).如果说

  • android中实现完全退出程序方法(退出所有activity)

    这是一个很多很多人都 会遇到的问题,我也试过了很多方法,都不怎么好用. 比如: 复制代码 代码如下: System.exit(0); 不行. 还有什么跳转到第一个activity,同时把栈顶的activity全部清除,最后再finish();还是不行..不知道为什么. 这里是我自己的一个方法,效果非常好. 原理:在每个activity都注册一个广播接收器,用来接收关闭activity的广播.当需要退出程序的时候就发送一条关闭activity的广播,这样所有的activity都会接收到,然后所有a

  • Android中的Activity生命周期总结

    概述 有图有真相,所以先上图: 上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合此图详细介绍一下Activity的生命周期. Activity四大基本状态 Activity生命周期一般分为四个基本状态,分别是活动状态(running),暂停状态(paused),停止状态(stopped)和死亡状态. 1.活动状态(running) 活动状态一般是指该Activity正处于屏幕最

  • Android的activity学习笔记

    一.什么是activity     Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能.它是 android 应用程序的基本功能单元.Activity 本身是没有界面的.所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的activity(使用Activ

  • Android中Service实时向Activity传递数据实例分析

    本文实例讲述了Android中Service实时向Activity传递数据的方法.分享给大家供大家参考.具体如下: 这里演示一个案例,需求如下: 在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把更新后的数值在界面上实时显示. 步骤如下: 1.新建一个android项目工程,取名为demo. 2.新建一个Service类,用来实时生产数值,供界面实时显示. package com.ljq.activity; import android.app.Service;

  • Android开发中Activity属性设置小结

    Activity是Android组件中最基本也是最为常见用的四大组件之一,在 android开发中 ,运用极为广泛,作为初学者需要熟练掌握,下例为Activity属性常用设置. android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务. android:alwaysRetainTaskState 是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态 android:clearTaskOn

  • android使用service和activity获取屏幕尺寸的方法

    本文实例讲述了android使用service和activity获取屏幕尺寸的方法.分享给大家供大家参考.具体实现方法如下: 1. activity: DisplayMetrics dm = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(dm); sW = dm.widthPixels; sH = dm.heightPixels; 2. service: DisplayMetrics dm

  • Android实现Service获取当前位置(GPS+基站)的方法

    本文实例讲述了Android实现Service获取当前位置(GPS+基站)的方法.分享给大家供大家参考.具体如下: 需求详情: 1).Service中每隔1秒执行一次定位操作(GPS+基站) 2).定位的结果实时显示在界面上(要求得到经度.纬度) 技术支持: 1).获取经纬度 通过GPS+基站获取经纬度,先通过GPS来获取,如果为空改用基站进行获取–>GPS+基站(基站获取支持联通.电信.移动). 2).实时获取经纬度 为了达到实时获取经纬度,需在后台启动获取经纬度的Service,然后把经纬度

随机推荐