«

Android学习笔记(1)

时间:2024-3-2 19:01     作者:韩俊     分类: Android


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 {

@Override
protected 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(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime());
//启动开始计时
ch.start();
}
});

ch.setOnChronometerTickListener(new OnChronometerTickListener(){//当计时器改变时触发该监听器

@Override
public 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("");//将字段清空
}
}
});
}

@Override
public 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;
}
}


标签: android

热门推荐