상세 컨텐츠

본문 제목

[Andrid] Service 예제

Android 개발

by mobile 2012. 8. 12. 14:35

본문

반응형

▶ Service

안드로이드에서 서비스는 백그라운드에서 실행되는 프로세스를 의미 합니다. 지금까지 사용한 액티비티와 다른 점은 화면이 없다는 것인데 화면이 없다는 것을 제외하면 사실상 애플리케이션의 구성요소로서 액티비티 처럼 동작한다고 생각할 수 있을 것입니다. 서비스도 애플리케이션 구성요소 이므로 새로 만든 후에 항상 매니페스트 파일에 등록해야 하며, 메인 엑티비티에서 서비스를 시작하고 싶은 경우에는 startService() 메소드를 이용해 서비스를 시작 시킬 수 있습니다.


▶ SampleServiceActivity.java

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;


public class SampleServiceActivity extends Activity {

@Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        Intent myIntent = new Intent(this, MyServices.class);

        startService(myIntent);

    }


    @Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

}

}


▶ MyService.java

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import android.util.Log;


public class MyServices extends Service implements Runnable {

public static final String TAG = "MyService";

private int count = 0;

@Override

public void onCreate() {

// TODO Auto-generated method stub

super.onCreate();

Thread myThread = new Thread(this);

myThread.start();

}


public void run() {

// TODO Auto-generated method stub

while(true){

try {

Log.i(TAG, "my service called #" + count);

count++;

Thread.sleep(5000);

} catch(Exception ex) {

Log.e(TAG, ex.toString());

}

}

}


@Override

public IBinder onBind(Intent arg0) {

// TODO Auto-generated method stub

return null;

}

}


▶ AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.sampleservice"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="15" />


    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".SampleServiceActivity"

            android:label="@string/title_activity_sample_service" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        <service android:name="MyServices" android:enabled="true" >

        </service>

    </application>


</manifest>


반응형

'Android 개발' 카테고리의 다른 글

[Android] 리소스와 메니페스트  (0) 2012.08.14
[Android]브로드캐스트 수신자  (0) 2012.08.12
[Android] Activity 수명주기  (0) 2012.08.12
[Android] Parcelable 인터페이스  (0) 2012.08.11
[Android] Activity 와 Stack Flag  (0) 2012.08.11

관련글 더보기

댓글 영역