因为多数启动服务不必同时处理多个请求(在多线程情景下会很危险),所以使用IntentService类实现服务是很好的选择。本经验将通过继承IntentService输出当前时间教大家如何使用IntentService。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.basillee.asus.demo.MainActivity5">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前时间"
android:id="@+id/button_current_time"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>

  然后我们在编写一个CurrentTimeService类,继承IntentService

package com.basillee.asus.demo;
import android.app.IntentService;
import android.content.Intent;
import android.text.format.Time;
import android.util.Log;
public class CurrentTimeService extends IntentService {
public CurrentTimeService(){
super("CurrentTimeService");
}
@Override
protected void onHandleIntent(Intent intent) {
Time time=new Time();
time.setToNow();
String currentTime=time.format("%Y-%m-%d %H:%M:%S");
Log.i("CurrentTimeService",currentTime);
}
}

  然后我们在Oncreate方法里面编写如下代码为button增加监听事件

package com.basillee.asus.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity5 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity5);
Button button= (Button) findViewById(R.id.button_current_time);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startService(new Intent(MainActivity5.this, CurrentTimeService.class));
}
});
}
}

  更多细节请看: http://jingyan.baidu.com/season/48891

最新文章

  1. jdk8 Lambda表达式与匿名内部类比较
  2. 百度和google的区别
  3. web相关问题总结 - imsoft.cnblogs
  4. 百度Hi之CSRF蠕虫攻击
  5. ubuntu出现有线已连接却无法上网
  6. DirectShow VS2013 控制台下捕捉摄像头而且显示
  7. BestCoder冠军赛 - 1005 Game 【DP】
  8. HDU5141--LIS again (LIS变形)
  9. inux中tail命令---用于查看文件内容
  10. jQuery File Upload 插件 php代码分析
  11. CentOS 安装 clamav
  12. Mac 性能测试环境搭建——理论篇
  13. beta冲刺4
  14. Android 几种网络请求的区别与联系
  15. Linux 下使用umount强行卸载设备
  16. MySQL分页时统计总记录行数并使用limit返回固定数目的记录
  17. 第26月第7天 mac如何matplotlib中文乱码问题
  18. Linux环境下运行简单java程序
  19. H5离线缓存技术Application Cache
  20. 【Java算法】获得一个随机字符串

热门文章

  1. flashback data archive (转)
  2. 转载 8天掌握EF的Code First开发之Entity Framework介绍
  3. Everything
  4. 关于local storage 和 session storage以及cookie 区别简析
  5. session 重写进入redis测试
  6. http://oncenote.com/2015/09/16/Security-2-HTTPS2/ (轉載)
  7. CentOS 下SSH无密码登录的配置
  8. systemd service
  9. 【iOS知识学习】_iOS动态改变TableView Cell高度
  10. 本地win8系统部署网站遇到的问题