Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android -- Service的使用

Android -- Service的使用

編輯:關於Android編程

Service正如其名服務,我們之前了解過Activity表示的是一個頁面,但是如果我們某些操作,不需要展示頁面,值需要進行後台的一個操作,這時候我們可以創建一個Service,一般進行socket通信、http請求等操作。

1、我們創建一個Android的工程
2、增加一個Service,代碼如下

package com.example.learnservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class MyService extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        new Thread() {
            @Override
            public void run() {
                super.run();
                //while (true) {
                    System.out.println("後台運行...");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                //}
            }
        }.start();

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

}

繼承Service並且重寫onStartCommand,此方法在啟用此Service的時候執行。

3、我們在空的activity頁面增加2個按鈕,分別為啟動和停止Service的操作,代碼如下

package com.example.learnservice;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {
    private Intent intent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        intent = new Intent(MainActivity.this, MyService.class);

        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startService(intent);
            }
        });

        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println("關閉後台服務....");
                stopService(intent);
            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

通過startService和stopService操作。

4、我們看下Android的後台運行進程,如圖
這裡寫圖片描述

5、我們先點擊啟動Service按鈕,再查看後台進程
這裡寫圖片描述
看到了嗎,這個是我啟動的Service,它在後台被啟動起來啦 。

6、我們調用stopService方法停止Service,如圖
這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved