系统服务详解之时间服务0

Android SDK中内置了多种时间服务,用于处理时间相关的操作。

1、计时器:Chronometer组件

这个组件可以以1秒为时间间隔进行计时。

示例如下:

public class Main extends Activity implements OnClickListener,
		OnChronometerTickListener
{
	private Chronometer chronometer;
	private TextView tvTime;

	@Override
	protected void onRestoreInstanceState(Bundle savedInstanceState)
	{
		// TODO Auto-generated method stub

		super.onRestoreInstanceState(savedInstanceState);
	}

	@Override
	protected void onSaveInstanceState(Bundle outState)
	{
		// TODO Auto-generated method stub
		super.onSaveInstanceState(outState);
	}

	@Override
	public void onConfigurationChanged(Configuration newConfig)
	{
		// TODO Auto-generated method stub
		super.onConfigurationChanged(newConfig);
	}

	@Override
	public Object onRetainNonConfigurationInstance()
	{
		// TODO Auto-generated method stub
		return super.onRetainNonConfigurationInstance();
	}

	@Override
	public void onClick(View view)
	{
		switch (view.getId())
		{
			case R.id.btnStart:
				chronometer.start();
				break;
			case R.id.btnStop:
				chronometer.stop();
				break;
			case R.id.btnReset:
				chronometer.setBase(SystemClock.elapsedRealtime());

				break;
		}
	}

	@Override
	public void onChronometerTick(Chronometer chronometer)
	{

		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

		tvTime.setText("当前时间:" + sdf.format(new Date()));

	}

	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		tvTime = (TextView)findViewById(R.id.tvTime);
		Button btnStart = (Button) findViewById(R.id.btnStart);
		Button btnStop = (Button) findViewById(R.id.btnStop);
		Button btnReset = (Button) findViewById(R.id.btnReset);
		chronometer = (Chronometer) findViewById(R.id.chronometer);
		btnStart.setOnClickListener(this);
		btnStop.setOnClickListener(this);
		btnReset.setOnClickListener(this);
		chronometer.setOnChronometerTickListener(this);
		chronometer.setFormat("计时器:%s");

	}
}

Chronometer组件默认之显示(H):MM:SS格式,通过setFormat方法设置显示信息。

时间: 2024-10-04 01:55:06

系统服务详解之时间服务0的相关文章

系统服务详解之时间服务3

4.全局定时器:AlermManager 全局定时器是与应用程序独立的系统时间服务,并不依赖应用程序而存在. 该对象通过 AlarmManage alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 获得. 通过PendingIntent指定一个Activity,再通过setRepeating方法设置定时器 intent = new Intent(this, MyActivity.class); pendin

系统服务详解之时间服务1

2.Handler是处理定时操作的核心类.通过Handler可以提交和处理一个Runnable对象.该类通过3个方法来处理Runnable对象:                  立即执行:post :指定时间执行:postAtTime:指定的时间间隔:postDelayed 因为该类处理对象为Runnable,所以在调用这3个方法之前,需要实现Runnable接口的run方法. public class Main extends Activity implements OnClickListe

系统服务详解之时间服务2

3.定时器:Timer Timer和Chronometer类似,但功能更加强大.Timer类通过schedule方法设置执行方式和时间,schedule方法的第一个参数为TimerTask,TimerTask类实现了Runnable接口,因此Timer实际上是在线程中执行run方法. 虽然Timer和Handler的处理代码都放在run方法中,但Timer是在线程中执行run方法,Handler是将执行的动作添加到Android系统的消息队列.因此使用Timer执行run方法时,在run方法中不

详解CentOS 7.0源码包搭建LNMP 实际环境搭建_Linux

Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c 一.linux 系统限制配置 1.关闭系统防火墙     systemctl stop firewalld.service 关闭防火墙 systemctl disable firewalld.service 禁用防火墙 2.关闭SElinux sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config setenforce

详解Cocos2dx 3.0正式版本开发环境搭建(Win32/Android)

cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大-- 但是凭心而论,3.0RC版本开始 环境搭建.项目创建.编译的方式更加人性化了. 现在我们进入正题,一步一步搭建cocos2dx的开发环境 cocos2d-x很多tools都是需要使用Python的,因此我们需要先安装Python环境 python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发

详解Spring 3.0基于Annotation的依赖注入实现

简介:Spring 的依赖配置方式与 Spring 框架的内核自身是松耦合设计的.然而,直到 Spring 3.0 以前,使用 XML 进行依赖配置几乎是唯一的选择.Spring 3.0 的出现改变了这一状况,它提供了一系列 的针对依赖注入的注解,这使得 Spring IoC 在 XML 文件之外多了一种可行的选择.本文将详细介绍如 何使用这些注解进行依赖配置的管理. 使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spri

详解.NET 4.0代码契约组件

代码契约组件是对.NET的重要补充,这次我们将提供更为详细的内容. 如果要在.NET 4.0发布之前使用代码契约,我们可以在Visual Studio项目中引用程序集 Microsoft.Contracts.dll,该程序集安装在%PROGRAMFILES%/Microsoft/Contracts/PublicAssemblies目 录下..NET 4.0会在mscorlib.dll中包含契约组件.我们可以指定契约验证,可在编译时(静态)或在运 行时(动态)执行校验. 契约包含几种类型:前置条件

详解Discuz!7.0数据调用功能

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品.Discuz! 7.0 中增强了对论坛的数据调用功能,不仅保留了以前对于基本论坛数据的调用,又增加了脚本模块的调用,可以通过把创建好的各种调用聚合在一个新的模块或是边栏中进行聚合的调用显示. 设置的位置在论坛后台 => 工具 =>

RHEL/CentOS 6.x 系统服务详解

PS:RHEL/CentOS 6.x的系统服务比5.x系列的要多了很多新面孔,估计很多童鞋不甚理解,网上这方面资料也很少.理解这个对运维人员是必要的,因为开启不必要的服务越多,系统就相对越不安全.不需开启的服务尽量关闭.本人结合自己的应用经验做一些讲解说明,有不同理解的童鞋欢迎交流. 1.下面列表是在RHEL/CentOS 6.x最小化桌面环境安装下显示出来的系统服务,其中红色字体标注的是用官方的minimal ISO最小化安装系统后的服务列表. 服务名称 功能  默认   建议  备注说明 N