{
... // Set the initial brew values setBrewCount(0); setBrewTime(3); } /** * Set an absolute value for the number of minutes to brew. * Has no effect if a brew is currently running. * @param minutes The number of minutes to brew. */ public void setBrewTime(int minutes) { if(isBrewing) return; brewTime = minutes; if(brewTime < 1) brewTime = 1; brewTimeLabel.setText(String.valueOf(brewTime) + "m"); } /** * Set the number of brews that have been made, and update * the interface. * @param count The new number of brews */ public void setBrewCount(int count) { brewCount = count; brewCountLabel.setText(String.valueOf(brewCount)); } /** * Start the brew timer */ public void startBrew() { // Create a new CountDownTimer to track the brew time brewCountDownTimer = new CountDownTimer(brewTime * 60 * 1000, 1000) { @Override public void onTick(long millisUntilFinished) { brewTimeLabel.setText(String.valueOf(millisUntilFinished / 1000) + "s"); } @Override public void onFinish() { isBrewing = false; setBrewCount(brewCount + 1); brewTimeLabel.setText("Brew Up!"); startBrew.setText("Start"); } }; brewCountDownTimer.start(); startBrew.setText("Stop"); isBrewing = true; } /** * Stop the brew timer */ public void stopBrew() { if(brewCountDownTimer != null) brewCountDownTimer.cancel(); isBrewing = false; startBrew.setText("Start"); } ... }这段代码唯一和Android相关的就是使用setText方法来设置文本的显示文字。在startBrew方法中,我们创建,并开始了一个CountDownTimer来开每秒递减计数直到计数器为0。注意,我们定义了CountDownTimer以内联方式监听onTick 和 onFinish方法。 onTick 方法将每1000毫秒(1秒)执行一次,并递减, 当计数器为0的时候,onFinish方法被调用。
避免在你的代码中硬编码
为了使教程代码简单,我故意地在程序中将控件的标号直接写到字串中(例如: “Brew Up!”, “Start”, “Stop”) 通常,这不是一个好的做法,因为如果在大型项目中,这样做会使得修改变得麻烦。
Android 提供了一种简洁的方法让你使用R对象来使字符串和代码分离。R 让你在xml文件(res/values/strings.xml)定义所有你程序中字符串,并让你可以在代码中应用到这些字符串。例如:
# /res/values/strings.xml
<string name="brew_up_label">Brew Up!</string>
...# /res/com/example/brewclock/BrewClockActivity.java
...
brewLabel.setText(R.string.brew_up_label);
...现在,如果你想改变Brew Up! 字样,你只要一次性的修改strings.xml文件就行了。你的应用将生成一堆代码来保证你程序中所有使用到这些字符串的地方都能被生效!
运行Brew Clock
代码完成之后,现在是试运行程序的时候了。单击Run 或 Ctrl+F11 在模拟器中启动我们的应用. 所有都运行良好,你将会看到你创建的用户界面在准备时间一到就可以喝你所泡的茶了!试着设置不同的时间,并点击Start 观看倒计时。

总结
在这个关于Android的简单介绍中,你已学会如何安装Android SDK和Eclipse的Android 开发工具插件(ADT)。你也学会如何创建一个模拟设备,并通过这个设备来测试你的应用程序。你还学会了如何开发Android应用程序。上面了那些作为标题的关键概念在以后你自己开发Android应用程序的时候将会经常用到。
我们希望,这个教程能激发你的开发移动应用程序的欲望,并步入这个令人激动的领域。Android为当前和即将到来的移动设备应用程序开发提供了一条宽广的道路。如果你已经开发你自己的移动应用,请在评论中告诉我们。
(ik), (vf)
(全文完)