《Android UI基础教程》——2.7节完成TIMETRACKER

2.7 完成TIMETRACKER
Android UI基础教程
基本上关于第一个TimeTracker应用程序所需的所有内容我们都讲过了。现在只需要一些处理按键的逻辑。

1.回到TimeTrackerActivity的onCreate方法,并加上以下代码:

`Button startButton = (Button) findViewById(R.id.start`_`stop);`
`startButton.setOnClickListener(this);`
`Button stopButton = (Button) findViewById(R.id.reset);`
`stopButton.setOnClickListener(this);`

这会让TimeTrackerActivity类能够监听按钮事件。你将会在下一章中了解关于事件处理的知识。但仅就现在来说,只需要更新TimeTrackerActivity来实现OnClickListener接口。

2.重写onClick方法。每当一个按钮被按下都会调用这个方法。

`@Override`
`     public void onClick(View v) {`
`          TextView ssButton = (TextView) findViewById`
`          → (R.id.start`_`stop);`

3.检查哪个按钮被按下了。如果用户按下了Start/Stop按钮,检查定时器的状态。如果它被停止了,你需要重新启动并将按钮文字改为“Stop”;反之,则需要停止计时器并把按钮文字改为“Start”。

`          if (v.getId() == R.id.start`_`stop) {`
`               if (isTimerStopped()) {`
`                    startTimer();`
`                    ssButton.setText(R.string.stop);`
`               } else {`
`                    stopTimer();`
`                    ssButton.setText(R.string.start);`
`               }`

4.如果用户按下了Reset按钮,重置定时器和TextView变量counter,并把Start/Stop按钮的文字设为“Start”:

`          } else if (v.getId() == R.id.reset) {`
`               resetTimer();`
`               TextView counter = (TextView) findViewById`
`               → (R.id.counter);`
`               counter.setText(DateUtils.formatElapsedTime(0));`
`               ssButton.setText(R.string.start);`
`          }`
`     }`

现在你可以运行应用了!它运行起来应该像图2.14一样。

你应该可以启动以及暂停计时器并在列表中记录之前的数值。在下一章节中,你将会更进一步—扩展应用使其可用于不同的屏幕尺寸、添加一些通知,以及使得应用在后台运行。

时间: 2024-10-31 03:16:24

《Android UI基础教程》——2.7节完成TIMETRACKER的相关文章

《Android UI基础教程》——2.1节创建一个应用

2.1 创建一个应用Android UI基础教程首先,创建一个名叫TimeTracker的新工程.这将会是整本书中你的应用工程的名字.本章中,你将会做完几个简单的布局并创建一个最低限度功能的应用程序.图2.1展示了在本章结束时你将会构建的应用.本书不会涉及太多后台的逻辑并且会专注于用户界面的编码.不过,本书的网站上有所有可用的代码供读者下载:www.peachpit.com/androiduifundamentals. 图2.1 本章结束之时你将会创建的时间跟踪应用

《Android UI基础教程》——1.3节 Android UI基础

1.3 Android UI基础 Android UI基础教程 用户界面(UI)是应用程序和用户之间联系的桥梁.事实上,对于用户来说,UI就是应用程序.Android 的UI框架足够强大,能够创建复杂的带有图形和动画的 UI,同时它也足够灵活,能够从小屏幕的手持设备扩展到平板电脑以及电视.本节介绍Android UI开发的基础知识,通过本节的学习,你就可以开始为自己的应用程序创建出色的UI了. 1.3.1 主屏幕和通知栏 要创建Android应用程序,首先你应该了解基本的Android OS 本

《Android UI基础教程》——2.3节排布视图

2.3 排布视图 Android UI基础教程 Android视图层次起始于一个布局容器.这些容器包含子视图并安排它们的相对位置.有几个具有不同特征的容器类型,以在不同情况下获得最优解. 2.3.1 FrameLayout 最简单的布局容器是FrameLayout.这个容器完全不安排子视图.它只是简单地呈现每一个视图,从上到下摆下来.视图的顺序是基于它们在XML文件中的声明:视图在文件的后部声明的会被画在顶部.任何时候当你想创建重叠视图时都可以使用这个布局. 当创建自定义的可点击的元素时Fram

《Android UI基础教程》——2.6节 防止应用程序无响应(ANR)

2.6 防止应用程序无响应(ANR) Android UI基础教程 一个Android应用程序运行在它自身的进程之上,是与其他应用无关的沙盒应用.应用被单个线程操控:主线程,或者叫做UI线程.要让应用能够快速响应,Android限制了函数调用的时间.如果函数超过了它的时间限制,则会出现一个应用程序没有响应(ANR)的对话框,提示用户选择继续等待或者强制关闭应用.你应该不惜任何代价避免ANR的出现.当你在主线程上执行长时间的操作时ANR会出现,例子包括网络I/O.磁盘I/O.数据库查询以及密集的C

《Android UI基础教程》——1.1节Hello World

1.1 Hello World Android UI基础教程 在创建一个基础的Hello World应用之前,需要先从developer. android.com下载并且安装Android开发者工具.你需要安装Android 软件开发工具包(SDK).Eclipse以及ADT插件.遵循开发者网站提供的指导配置Eclipse开发环境.本书的所有例子都是用Android SDK Release 13和Eclipse Helios release. 准备就绪之后,依照以下步骤创建Hello World

《Android UI基础教程》——2.2节开始使用Android视图

2.2 开始使用Android视图 Android UI基础教程 一个Android应用的UI是由有层级的视图对象组成的.每一个视图代表着屏幕的一块区域.例如,一个按钮代表一块可以被用户按下的矩形区域.Android应用在layout container中排布视图,这也被称作ViewGroup.视图有指定它们外观和在容器中排布方式的属性.Android框架提供许多视图和容器.图2.2展示了一些常见的视图元素.不过,还有许多,需要你花时间去使用图形化布局编辑器来发现所有可用的视图.通过继承一个Vi

《Android UI基础教程》——2.4节显示列表

2.4 显示列表 Android UI基础教程 用来开发应用最常见的视图类型之一就是ListView.这个视图呈现了一个垂直滚动的项目列表.每一行都会有一些文本但是通常也会包含其他视图,例如ImageView和按钮等(联系人应用就是很好的例子).当你需要把数据列表呈现给用户的时候,使用ListView最合适.它是如此常见,以至于Android实际上提供了展示一个列表的内置活动. 2.4.1 ListActivity 一个ListActivity将绑定到一个包含有ListView的默认视图.不必要

《Android UI基础教程》——2.5节理解活动

2.5 理解活动 Android UI基础教程 2.5.1 声明活动 所有的活动都必须在应用程序的清单文件中声明.如果没有声明,在应用第一次运行时会导致抛出异常.下面是时间跟踪应用的一个示例活动的清单条目: `<activity android:name=".TimeTrackerActivity"` ` `` `` `` android:label="@string/app`_`name">` ` `` `` `` <intent-filter&

《Android UI基础教程》——1.5节结束语

1.5 结束语Android UI基础教程本章简单介绍了如何创建一个标准的 Hello World 应用程序,并介绍了构建Android用户界面所需的工具,通过这样的方法介绍了Android的框架.具体包括以下内容. AndroidManifest.xml文件中声明了应用程序所使用的所有特性.使用manifest来防止应用程序运行在不支持的硬件设备上.图像和布局文件分别被放进不同的文件夹中,从而让Android系统在设备运行时可以根据当前配置为其选择最适合的资源.Activity类是Androi