Android学习笔记(1)

来源:互联网 发布:红蜘蛛软件破解 编辑:程序博客网 时间:2024/06/11 05:22

Android的学习刚刚起步,这几天都在学习界面编程的一些基础内容。

今天学习的是时钟(AnalogClock和DigitalClock),此外还学习了一个计时器组件:Chronometer(继承TextView),它会显示一段文本,但并不显示当前时间,而是显示从某个起始时间开始,一共过去了多少时间。

书上的例子是通过一个Button按钮来计时,20秒后使计时停止。我觉得这个例子相对比较死板,所以就增添了一个EditText,这样,用户可以输入任意的秒数进行计时,并且在计时停止时给予用户“时间到!”的提示。

代码如下:

package com.example.chronometertest;import android.os.Bundle;import android.os.SystemClock;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.view.Menu;import android.view.View;import android.view.View.*;import android.widget.*;import android.widget.Chronometer.OnChronometerTickListener;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final Chronometer ch=(Chronometer) findViewById(R.id.ch);Button start=(Button) findViewById(R.id.start);final EditText edtime=(EditText) findViewById(R.id.time);//定义一个AlertDialog.Builder对象final Builder builder=new AlertDialog.Builder(this);start.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//设置开始计时时间ch.setBase(SystemClock.elapsedRealtime());//启动开始计时ch.start();}});ch.setOnChronometerTickListener(new OnChronometerTickListener(){//当计时器改变时触发该监听器@Overridepublic void onChronometerTick(Chronometer arg0) {// TODO Auto-generated method stub//获取输入的时间秒数final int time=Integer.parseInt(edtime.getText().toString());if(SystemClock.elapsedRealtime()-ch.getBase()>time*1000){ch.stop();builder.setTitle("提示").setMessage("时间到!").setPositiveButton("确定",null).show();edtime.setText("");//将字段清空}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


0 0