这是一个日志性的记录。
在android中 service是一种当你的程序被最小化是也能够执行一种类,也就是进程
那么开始学习android长得service吧
1.在这里只是为了演示我创建了一个按钮来开始service 另一个按钮来结束service
在MainActivity.xml 中定义两个按钮 分别给个id btn1,btn2
在src目录下创建一个新的class 让他继承 android.app.service
并实现其中的 onCreate(),onStartCommand(),onStart(),onDestroy()方法
package com.example.services;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class ExampleService extends Service {
private final String TAG = "ExampleService";
@Override
public IBinder onBind(Intent arg0)
{
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate()
{
Log.i(TAG, "ExampleService-->onCreate()");
super.onCreate();
}
@Override
public void onDestroy()
{
Log.i(TAG, "ExampleService-->onDestroy()");
super.onDestroy();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
Log.i(TAG, "ExampleService-->onStartCommand()");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onStart(Intent intent, int startId)
{
// TODO Auto-generated method stub
super.onStart(intent, startId);
}
}
用log来输出 程序执行到哪一步
在MainActivity中 定义两个按钮 给按钮添加onClick事件
startService.setOnClickListener(listener1);
stopservice.setOnClickListener(listener1);
private OnClickListener listener1 = new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this, ExampleService.class);
switch (v.getId())
{
case R.id.StartService:
startService(intent);
Toast.makeText(MainActivity.this, "start service", Toast.LENGTH_LONG).show();
break;
case R.id.StopService:
stopService(intent);
Toast.makeText(MainActivity.this, "stop service", Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
};
但是事情还没有结束
因为需要在AndroidManifest中 设置一个service
<service android:name=".ExampleService"></service>
他才能找到service