package com.kawa;
import com.kawa.MyService.Mybind;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/*
* 测试service 生命周期
* @author 蒋胜辉
*/
public class MainActivity extends Activity {
private Button btn_start;
private Button btn_end;
private Button btn_bind;
private Button btn_unbind;
private MyService myService;
private MyServiceConnection sConnection=new MyServiceConnection() ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialView();
BindClick();
}
/*初始化控件*/
public void initialView(){
btn_start=(Button) findViewById(R.id.button1);
btn_end=(Button) findViewById(R.id.button2);
btn_bind=(Button) findViewById(R.id.button3);
btn_unbind=(Button) findViewById(R.id.button4);
}
/*事件绑定*/
public void BindClick(){
btn_start.setOnClickListener(new MyStartOnClickListener());
btn_end.setOnClickListener(new MyEndOnClickListener());
btn_bind.setOnClickListener(new MyBindOnClickListener());
btn_unbind.setOnClickListener(new MyUnbindOnClickListener());
}
class MyStartOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.startService(intent);
}
}
class MyEndOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.stopService(intent);
}
}
class MyBindOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.bindService(intent, sConnection,Context.BIND_AUTO_CREATE);
}
}
class MyUnbindOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent("kawa.service");
MainActivity.this.unbindService(sConnection);
}
}
/*
* service 连接类,通过它找到bindService 然后在找到 service
*/
class MyServiceConnection implements ServiceConnection{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
myService=((MyService.Mybind)service).getMyService();
myService.add();
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
}
}
//service 类
package com.kawa;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import android.app.Service;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Binder;
import android.os.IBinder;
public class MyService extends Service{
private Mybind mybind=new Mybind();
@Override
public IBinder onBind(Intent intent) {
System.out.println("service onBind");
return mybind;
}
class Mybind extends Binder implements IBinder{
public MyService getMyService(){
return MyService.this;
}
}
@Override
protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
super.dump(fd, writer, args);
System.out.println("service dump");
}
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("service finalize");
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
System.out.println("service onConfigurationChanged");
}
@Override
public void onCreate() {
super.onCreate();
System.out.println("service onCreate");
}
@Override
public void onDestroy() {
super.onDestroy();
System.out.println("service onDestory");
}
@Override
public void onLowMemory() {
super.onLowMemory();
}
@Override
public void onRebind(Intent intent) {
super.onRebind(intent);
System.out.println("service onRebind");
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
System.out.println("service onStart");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.out.println("service onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
@Override
public boolean onUnbind(Intent intent) {
System.out.println("hello onUnbind");
return super.onUnbind(intent);
}
public void add(){
System.out.println("hello world");
}
}
分享到:
相关推荐
Android 四大组件之Service的Demo
Android四大组件简述demo用例。
service的启动,停止,绑定,取消绑定,以及IntentService的生命周期走向测试和IntentService与访问者信息通信过程,不清楚之处请参阅我的博客《Android开发四大组件之Service总结》
这是一个介绍android四大组件中Service的ppt文档,里面阐述了该组件的基本应用,非常有价值。
android四大组件详细介绍,activity,service等从基础到应用开发,熟练的掌握android 组件的应用。
文档主要是讲Android开发的四大组件详解,包含 Activity详解 ,Service详解,Broadcast Receiver详解,Content Provider详解 外加一个重要组件 intent的详解。 文章内容来自网络,本文是一个总结性文章。
android service 四大组件 完整代码 非常好用 非常经典 完整的代码.
Android四大组件之ServiceService的生命周期被启动(startService)的服务的生命周期:被绑定(bindService)的服务的生命周期:被启动又被绑定的服务的生命周期:实例布局创建Service类启动ServiceDemo下载 android开发...
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。
Android四大基本组件介绍与生命周期Android四大基本组件分别是Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。 Android四大基本组件介绍与生命周期 Android四大基本组件分别是...
简要解释一下activity、 intent 、intent filter、service、Broadcast、BroadcaseReceiver
根据博客内容,写的一个android 服务实例程序
Android四大组件——Service后台服务、前台服务、IntentService、跨进程服务、无障碍服务、系统服务
博文android基础知识05:四大组件之service 02:远程调用中关于远程调用service的实例程序
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器......
android service的实例程序,用于博文http://blog.csdn.net/xianming01/article/details/7341877
今天小编就为大家分享一篇关于Android四大组件之Service详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
安卓四大组件 Service 服务
服务常常被用来在后台悄悄的执行一些事情,这些事情是用户在不影响用户使用的情况下完成的,比如后台更新天气,下载文件等等,这个也是几乎每一款app产品都有的功能,这里是一个简单的服务demo