1. 程式人生 > >Android四大元件—Service

Android四大元件—Service

1、要使用Service,首先就是在配置檔案裡嗎新增Service,如果不填加,你的Service是不能夠使用的。目前學到的方法有兩種

   方法一:<service android:enabled="true" android:name=".PlayService" />

   方法二:<service android:name=".PlayService" />

  點後面是Service類的名字。

2、工程包括兩個類:

  ServiceActivity.java

  PlayService.java

  其中:ServiceActivity.java定義了兩個按鈕,分別控制音樂的播放與停止。

  用startService和stopService完成Activity與Service之間的切換,啟動Service以及取消Service,

  如果不用按鈕,可以在Activity的OnCreate和OnDestrpy裡面啟動和取消Service,如下:

  buttonOn.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
         startService(new Intent(MainActivity.this,PlayService.class));
        
     }
   });

  buttonOff.setOnClickListener(new View.OnClickListener() {
     @Override
      public void onClick(View view) {
         stopService(new Intent(MainActivity.this,PlayService.class));

          //stopService(new Intent(this, PlayService.class));

    }
});

  PlayService,java

public class PlayService extends Service {
    MediaPlayer mediaPlayer;
    String TAG = "main";
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        Log.e("main","onbind");
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(this, "Play Service Created", Toast.LENGTH_LONG).show();
        Log.e(TAG, "ServiceonCreate");

        mediaPlayer = MediaPlayer.create(this, R.raw.aaa);

    }

    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Toast.makeText(this, "Play Service onStart", Toast.LENGTH_LONG).show();
        Log.e(TAG, "ServiceonStart");
        mediaPlayer.start();

    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.e(TAG, "onStartCommand");

        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "Play Service Stopped", Toast.LENGTH_LONG).show();
        Log.e(TAG, "ServiconDestroy");
        mediaPlayer.stop();
    }
}

輸出結果:

12-15 06:00:40.908 4396-4396/com.example.myapplication E/main: ServiceonCreate
12-15 06:00:40.919 4396-4396/com.example.myapplication E/main: onStartCommand
12-15 06:00:40.922 4396-4396/com.example.myapplication E/main: ServiceonStart
12-15 06:00:44.532 4396-4396/com.example.myapplication E/main: ServiconDestroy
12-15 06:00:48.503 4396-4396/com.example.myapplication E/main: onpause
12-15 06:00:49.173 4396-4396/com.example.myapplication E/main: onstop
12-15 06:00:49.173 4396-4396/com.example.myapplication E/main: ondestroy


相關推薦

Android四大元件-Service

概念: android 四大元件之一,提供在後臺執行的服務,屬於計算型元件。 特點: 在後臺執行,無使用者介面,生命週期長。 啟動方式 startservice: 不與Activity繫結,啟動之後會無限期的執行下去,除非遇到記憶體低情況被回收,需要呼叫stopSer

android 四大元件service 音樂播放器的實現

新建立一個Android工程《音樂播放器》,包名:com.itheima.musicPlayer。 在res目錄下新建一個資料夾raw(名字必須為raw,約定大於配置的原則),然後在raw目錄中拷貝進一個音樂檔案,注意檔名必須遵循Android資原始檔的命名

Android四大元件-Service工作過程探究

Service工作過程 服務是一種執行在後臺的元件,可能我們一般情況是見不到服務的具象表現的,但是他在我們的android開發中卻是不可或缺的東西,下來我們就來結合原始碼具體分析一下他的工作過程 如果對service的使用還是不太瞭解的話,煩請移駕這裡

Android四大元件--Service詳解

Service 作為 Android 四大元件之一,可以說是一個合格的 Android 應用的基石。它主要用於在後臺處理一些耗時的邏輯,或者去執行某些需要長期執行的任務。必要的時候我們甚至可以在程式退出的情況下,依然讓 Service 在後臺保持執行狀態。

Android四大元件Service

1、要使用Service,首先就是在配置檔案裡嗎新增Service,如果不填加,你的Service是不能夠使用的。目前學到的方法有兩種    方法一:<service android:enabled="true" android:name=".PlayService"

Android 四大元件Service的啟動、繫結小述

一、概述 學習過Android的小夥伴就不可能不知道Service是什麼,因為Service是Android四大元件之一,聲名赫赫有木有,所以在這裡我就不詳細介紹了,本節主要還是充當筆記的作用,因為我待記性如初戀,記性虐我千百遍。 二、Service的建立 Service是一

Android 四大元件之——Service(一)

一、什麼是服務        服務,是Android四大元件之一, 屬於 計算型元件。   長期後臺執行的沒有介面的元件 ,特點是無使用者介面、在後臺執行、生命週期長 二,什麼時候使用服務?  

Android--四大元件Service

####1. Service是什麼? ####2. 啟動方式 ######1). 差異 ######2). 關聯 ####3. 生命週期 ######1). startService ######2). bindService ####4.本地服務與遠端服務 ####5.Intent

Android 四大元件Service的建立與啟動小述

一、概述 學習過Android的小夥伴就不可能不知道Service是什麼,因為Service是Android四大元件之一,聲名赫赫有木有,所以在這裡我就不詳細介紹了,本節主要還是充當筆記的作用,因為我待記性如初戀,記性虐我千百遍。 二、Service的建立 建立

Android四大元件Service全面解析(一)

 在小杰的上一篇博文中給大家講了一下Android四大元件之一的Activity,也是最重要的,這一篇文章,給大家講一下Service。 什麼是Service  Service是Android的四大元件之一應用廣泛,它是一個能在後臺進行一個長時間的操作並且不提供使用者介面

Android四大元件service

原文:https://blog.csdn.net/javazejian/article/details/52709857 ,詳細瞭解的童鞋可以看這篇原文,寫的很棒! 1.Service簡單概述   Service(服務)是一個一種可以在後臺執行長時間執行操作而沒有使用者介面

android四大元件service總結

Service通常總是稱之為“後臺服務”,其中“後臺”一詞是相對於前臺而言的,具體是指其本身的執行並不依賴於使用者可視的UI介面,因此,從實際業務需求上來理解,Service的適用場景應該具備以下條件: 1.並不依賴於使用者可視的UI介面(當然,這一條其實也不是絕對的,如前臺Service就

Android 四大元件之" Service "

前言 作為四大元件之一的Service,想必不少開發者都是瞭解的,那具體熟悉嗎?是不是對Service中的每個知識點是否瞭解,它與Activity的關係又是什麼樣的,我們所理解的後臺服務跟Service是否一樣,那跟Thread有什麼區別呢,帶著這些問題,就可以寫一篇文章來一一展開了。 目錄 Service

Android四大元件(Service的開啟與關閉)

個人開發的微信小程式,目前功能是書籍推薦,後續會完善一些新功能,希望大家多多支援! 前言 服務(Service)是Android系統中的四大元件之一。服務主要用於兩個目的:後臺執行和跨程序訪問。通過啟動 一個服務,可以在不顯示介面的前提下在後臺執行指定的

Android四大元件Service史上最全面解析

前言 Service作為Android四大元件之一,應用非常廣泛 本文將介紹對Service進行全面介紹(基礎認識、生命週期、使用和應用場景) 目錄 1. 基礎知識 定義:服務,屬於Android中的計算型元件 作用

Android四大元件Service第二章:Bound Service

這一章介紹bound service(我也不知道怎麼翻譯比較好。。)。建議先看前一章對服務有個大概的瞭解了再看bound service。 Android四大元件之Service第一章:service及其生命週期 bound service是一種採用了cli

Android四大元件應用系列——Activity與Service互動實現APK下載

private Thread downloadThread; private void startDownload(){ downloadThread=new Thread(new Runnable() { @Override public void run

Android四大元件應用系列——使用BroadcastReceiver和Service實現倒計時

public class ClockActivity extends Activity { private TextView tvClock; public static final String CLOCK_ACTION="com.jereh.Clock_Action";

Android四大元件應用系列5——使用AIDL實現跨程序呼叫Service

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

android 四大元件service學習總結(二)

1.Started Service 程式碼詳解 Started Service實現方法及步驟: 1、建立一個Started Service類必須繼承Service這個類。 2、在Started Service類中實現如下介面:       onStartCommand(In