android在eclipse下创建service服务的简单实现

来源:互联网 发布:java程序员年终总结 编辑:程序博客网 时间:2024/05/20 15:38

安卓的service的创建和调用其实和activity基本上一个样,很简单,只是继承Service类,在里面写一个onStartCommand()方法,然后在该方法下写自己的代码就可以了。

在这里创建一个class,在里面继承Service类,这就是一个service了。


然后这个是服务下面的代码,就是在onStartCommand()方法下面写了一个线程,里面加了一个循环来一直输出一段文字,代码如下:

package com.iaiot.myservice;import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service {@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {// TODO Auto-generated method stubnew Thread() {public void run() {for (int i = 0; i < 100; i++) {System.out.println("我是后台运行的服务执行的代码" + i);try {sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}};}.start();return super.onStartCommand(intent, flags, startId);}}

下面是在其他activity里面对该服务的调用,启动了,和启动另一个activity基本一样,(注意:启动服务是用的startService()方法,启动另一个activity是用的startActivity()方法)代码如下:

package com.iaiot.myservice;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;public class MainActivity extends Activity {private Intent intent;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);intent = new Intent(MainActivity.this,MyService.class);findViewById(R.id.start_service).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartService(intent);}});}}

最后在配置文件里面注册一下就可以了,这个和activity的注册一个样,在activity下面并列写就行了。

        <service android:name="MyService" >        </service>

如果还没有弄好,这里有源代码可以参考:http://download.csdn.net/detail/iaiot/9386298

0 0
原创粉丝点击