文档章节

转:一个Demo学完Android中所有的服务

一别经年
 一别经年
发布于 2014/01/18 15:03
字数 747
阅读 34
收藏 0

这个例子来自“安卓巴士”,经阅读,理解,写此文章,希望通过这篇一个Demo学完Android中所有的服务对对广大读者有所帮助。

说明:这个例子实现了Android中常见的许多服务,下面是实现的截图

接下来,以源代码的方式分析这个例子

1.MainActivity--主界面

这个类主要是实现用户所看到的这个Activity,其中包含了一系列的按钮,用户点击按钮执行相应的动作,所以在这个类中主要是对按钮的定义和对按钮绑定相应的监听器,下面是实现的代码:

package lovefang.stadyService;      
import android.app.Activity;   
import android.os.Bundle;   
import android.widget.Button;   
import android.view.View;   
import android.content.Intent;   
import android.util.Log;   
/**这是使用后台服务的学习例子*/   
public class MainStadyServics extends Activity {           
/**参数设置*/       
    Button startServiceButton;// 启动服务按钮       
    Button shutDownServiceButton;// 关闭服务按钮       
    Button startBindServiceButton;// 启动绑定服务按钮       
    Button sendBroadcast;// 使用广播       
    Button notificationButton;// 使用通知功能       
    Button alarmButton;// 使用闹钟       
    Button handlerButton;// 使用handler       
    Button asyncButton;// 使用异步加载       
    Button phoneStateButton;// 查看手机状态       
    Button callphoneButton;// 拨打电话       
    Button vibratorButton;// 使用震动        
    CountService countService;              
    @Override       
    public void onCreate(Bundle savedInstanceState) {           
        super.onCreate(savedInstanceState);           
        Log.v("MainStadyServics", "setContentView");           
        setContentView(R.layout.main);           
        getWidget();           
        regiestListener();       
    }           
    /**获得组件*/       
    public void getWidget(){           
        startServiceButton = (Button)findViewById(R.id.startServerButton);                   
        startBindServiceButton = (Button)findViewById(R.id.startBindServerButton);           
        shutDownServiceButton = (Button)findViewById(R.id.sutdownServerButton);              
        sendBroadcast = (Button)findViewById(R.id.sendBroadcast);           
        notificationButton = (Button)findViewById(R.id.notification);           
        alarmButton = (Button)findViewById(R.id.alarm);           
        handlerButton = (Button)findViewById(R.id.handler);           
        asyncButton = (Button)findViewById(R.id.async);           
        phoneStateButton = (Button) findViewById(R.id.phonestate);           
        callphoneButton = (Button) findViewById(R.id.callphone);           
        vibratorButton = (Button) findViewById(R.id.vibrator);       
    }           
    /**为按钮添加监听*/       
    public void regiestListener(){           
        startServiceButton.setOnClickListener(startService);           
        shutDownServiceButton.setOnClickListener(shutdownService);           
        startBindServiceButton.setOnClickListener(startBinderService);           
        sendBroadcast.setOnClickListener(broadcastReceiver);           
        notificationButton.setOnClickListener(notification);           
        alarmButton.setOnClickListener(startAlarm);           
        handlerButton.setOnClickListener(handler);           
        asyncButton.setOnClickListener(async);           
        phoneStateButton.setOnClickListener(phonestate);           
        callphoneButton.setOnClickListener(callphoneEvent);           
        vibratorButton.setOnClickListener(vibrator);       
   }           
   /**启动服务的事件监听*/       
   public Button.OnClickListener startService = new Button.OnClickListener(){               
       public void onClick(View view){                   
           /**单击按钮时启动服务*/               
           Intent intent = new Intent(MainStadyServics.this,CountService.class);                
           startService(intent);               
           Log.v("MainStadyServics", "start Service");           
       }       
   };           
   /**关闭服务*/       
   public Button.OnClickListener shutdownService = new Button.OnClickListener(){           
       public void onClick(View view){                   
           /**单击按钮时启动服务*/               
           Intent intent = new Intent(MainStadyServics.this,CountService.class);                
           /**退出Activity是,停止服务*/               
           stopService(intent);               
           Log.v("MainStadyServics", "shutDown serveice");           
       }       
  };           
  /**打开绑定服务的Activity*/       
  public Button.OnClickListener startBinderService = new Button.OnClickListener(){           
      public void onClick(View view){                   
          /**单击按钮时启动服务*/                   
          Intent intent = new Intent(MainStadyServics.this,UseBrider.class);                   
          startActivity(intent);               
          Log.v("MainStadyServics", "start Binder Service");           
      }       
  };           
  /**打开广播学习的按钮*/       
   public Button.OnClickListener broadcastReceiver = new Button.OnClickListener(){          
       public void onClick(View view){               
          Intent intent = new Intent(MainStadyServics.this,UseBroadcast.class);                
          startActivity(intent);               
          Log.v("MainStadyServics","start broadcast");           
       }       
   };           
 /**打开通知*/       
     public Button.OnClickListener notification = new Button.OnClickListener(){               
         public void onClick(View view){               
             Intent intent = new Intent(MainStadyServics.this, UseNotification.class);            
             startActivity(intent);               
             Log.v("MainStadyService ","start Notification");                        
         }       
    };           
     /**使用闹钟*/       
     public Button.OnClickListener startAlarm = new Button.OnClickListener(){                 
         public void onClick(View view){               
            Intent intent = new Intent(MainStadyServics.this, UseAlarmManager.class);            
            startActivity(intent);               
            Log.v("MainStadyService ","start alarm");                          
         }       
    };       
    public Button.OnClickListener handler= new Button.OnClickListener(){           
        public void onClick(View view){               
            Intent intent = new Intent(MainStadyServics.this, UseHandleMessage.class);           
            startActivity(intent);               
            Log.v("MainStadyService ","start handle");           
        }       
   };       
   public Button.OnClickListener async= new Button.OnClickListener(){           
       public void onClick(View view){               
           Intent intent = new Intent(MainStadyServics.this, UseAsyncTask.class);               
           startActivity(intent);               
           Log.v("MainStadyService ","start handle");           
       }       
    };       
    public Button.OnClickListener phonestate= new Button.OnClickListener(){                 
        public void onClick(View view){               
           Intent intent = new Intent(MainStadyServics.this, UsePhoneState.class);              
           startActivity(intent);               
           Log.v("MainStadyService ","start phonestate");           
       }       
    };       
    public Button.OnClickListener callphoneEvent= new Button.OnClickListener(){              
        public void onClick(View view){               
            Intent intent = new Intent(MainStadyServics.this, UseActionCall.class);              
            startActivity(intent);               
            Log.v("MainStadyService ","start callphone");           
        }       
    };       
    public Button.OnClickListener vibrator= new Button.OnClickListener(){           
        public void onClick(View view){               
            Intent intent = new Intent(MainStadyServics.this, UseVibrator.class);                
            startActivity(intent);               
            Log.v("MainStadyService ","start callphone");           
        }       
    };           
    /***/       
    protected void onDestroy(){           
        super.onDestroy();           
        Intent intent = new Intent(MainStadyServics.this,CountService.class);               
        /**退出Activity时,停止服务*/           
        stopService(intent);       
    }                     
}


本文转载自:http://www.360doc.com/content/14/0118/14/11224502_346176869.shtml

下一篇: TabHost使用
一别经年
粉丝 17
博文 174
码字总数 60456
作品 0
西安
程序员
私信 提问
百度社会化分享服务评测

详情由devstore提供 一 如何嵌入客户端SDK 1.开发准备 从Android开发者中心下载适合自己平台的android开发工具包。解压后,里面带有一个配置好的eclipse。 2.申请应用 使用说明 3.新建工程 ...

devstore
2014/05/05
386
1
翻翻git之---丰富多样的路由跳转开源库 ARouter

版权声明:本文为博主原创文章,允许转载,但请保留出处。 https://blog.csdn.net/ddwhan0123/article/details/54409574 转载请注明出处:王亟亟的大牛之路 有一段时间没更新博客了,最近也没...

王亟亟
2017/01/13
0
0
Android应用实例之---使用Linkify + 正则式区分微博文本链接及跳转处理

如同新浪微博Android版的应用上,当我们点击微博文本上的链接会自动跳转界面,或网站链接跳转网页浏览,或邮箱链接跳转邮箱服务,或电话号码链接跳转拨号界面。Android 帮我们设计了一个类:...

鉴客
2011/12/14
1K
0
Android 面试(四):Android Service 你真的能应答自如了吗?

本次我们没有采取分享公众号推文的方法,我想直接这样看看效果。 本文首发于微信公众号「nanchen」,你可以直接在公众号搜索「nanchen」或者扫描最下面的二维码关注我。做不完的开源,写不完...

nanchen2251
2017/11/06
0
0
ARouter原理剖析及手动实现

本文由玉刚说写作平台提供写作赞助,版权归玉刚说微信公众号所有 原作者:Xiasem 版权声明:未经玉刚说许可,不得以任何形式转载 前言 路由跳转在项目中用了一段时间了,最近对Android中的A...

xiasem
2018/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu或ubuntu kylin优麒麟中安装QQ、wechat微信、百度网盘

从中国国内的地址下载deepin wine,码云上的。这样网速比较快。然后,按照说明向下安装。 https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu...

gugudu
11分钟前
0
0
基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源...

别打我会飞
31分钟前
8
0
Zookeeper的实践指南

本章重点 1.数据存储2.基于Java API初探Zookeeper的使用3.深入分析Watcher机制的实现原理4.Curator客户端的使用,简单高效 数据存储 事务日志快照日志运行时日志 bin/zookeepe...

须臾之余
34分钟前
1
0
MySQL mybatis Point类型数据

MySQL中的point用于表示GIS中的地理坐标,在GIS中广泛使用 如何写入mysql,如下图: CREATE TABLE `test-point` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号', `point` ......

张欢19933
46分钟前
2
0
设计模式-适配器模式

适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入...

HOT_POT
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部