首先定义activity_main.xml文件

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Chronometer
android:id="@+id/myChronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/butStart"
android:text="开始计时"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/butStop"
android:text="停止计时"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

  然后改写MainActivity类

代码如下:

package com.example.myclock;

import android.os.Bundle;
import android.os.SystemClock;
import android.os.Vibrator;
import android.app.Activity;
import android.app.Service;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener; public class MainActivity extends Activity {
private Chronometer myChronometer = null;
private Button butStart = null;
private Button butStop = null;
private Vibrator vibrator = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.myChronometer = (Chronometer)super.findViewById(R.id.myChronometer);
this.vibrator = (Vibrator)super.getApplication().getSystemService(Service.VIBRATOR_SERVICE);
this.butStart = (Button)super.findViewById(R.id.butStart);
this.butStop = (Button)super.findViewById(R.id.butStop);
this.butStart.setOnClickListener(new OnClickListenerlmplStart());
this.butStop.setOnClickListener(new OnClickListenerlmplStop());
this.myChronometer.setFormat("当前计时时间:%s。");
this.myChronometer.setOnChronometerTickListener(new OnChronometerTickListenerlmpl()); }
private class OnChronometerTickListenerlmpl implements OnChronometerTickListener{
public void onChronometerTick(Chronometer chronometer){
String time = chronometer.getText().toString().replaceAll("[^(\\d{2}:\\d{2})]", "");
if("01:00".equals(time)){
MainActivity.this.vibrator.vibrate(new long[]{1000,10,1000,100},0);
}
}
}
private class OnClickListenerlmplStart implements OnClickListener{
public void onClick(View view){
MainActivity.this.myChronometer.start();
}
}
private class OnClickListenerlmplStop implements OnClickListener{
public void onClick(View view){
MainActivity.this.myChronometer.stop();
MainActivity.this.myChronometer.setBase(SystemClock.elapsedRealtime());
MainActivity.this.vibrator.cancel();
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

  最后改写AndroidMainfest.xml文件

代码如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myclock"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="15" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission
android:name="android.permission.VIBRATE"/>
</manifest>

  运行效果如下图:

最新文章

  1. Javassist 字节码操作
  2. mutation annovar
  3. Entity Framework与ADO.Net及NHibernate的比较
  4. SPREAD_NET6
  5. centos 安装http协议的git server
  6. servlet request.getParamter 有时获取参数为null
  7. java dos下中文乱码
  8. [汇编语言]-第七章 用[bx+idata]的方式进行数组的处理
  9. CF437D(The Child and Zoo)最小生成树
  10. MVC中使用泛型仓储模式和依赖注入
  11. 通过浏览器navigator判断浏览器版本或者手机类型&amp;&amp;判断微信访问
  12. JDK工具 javap
  13. 模拟用户登录(获取cookie/实例化session)
  14. Python 爬虫三 beautifulsoup模块
  15. git----------如何创建develop分支和工作流,以及如何将develop上的代码合并到master分支上
  16. Python【知识点】傻傻的函数内变量
  17. plaidctf-2016 Pwn试题小结
  18. 刚刚安装完nginx,服务启动,通过浏览器无法访问的问题
  19. 在AD中存取照片
  20. 浅谈ES6新特性

热门文章

  1. Apache配置文件中的deny和allow的使用
  2. discuz 帖子模块用到的表及自动发帖函数
  3. Android 启动画面
  4. HDU2067卡特兰数
  5. [Android Pro] 横竖屏切换时,禁止activity重新创建,android:configChanges=&quot;keyboardHidden|orientation&quot; 不起作用
  6. Paths on a Grid(poj 1942)
  7. HTTP状态码和常用对照表
  8. Android textView点击滚动(跑马灯)效果
  9. Java中Json用法
  10. SVN服务器搭建和使用(一)(转载)