2009年7月20日
摘要: 在这一章,你学习了怎样使用松散得有联系的应用程序组件来设计强大的应用程序:Activity、Service、Content Provider、Intent和Broadcast Receiver,通过应用程序manifest文件绑定在一起。你了解了Android应用程序的生命周期,了解了每个应用程序的优先级由它的进程状态决定,而进程状态又是又其内部的组件状态决定。充分利用广泛的硬件设备和国际用户群,... 阅读全文
posted @ 2009-07-20 22:40 xirihanlin 阅读(396) 评论(0) 推荐(0) 编辑
摘要: Android SDK包含了一些包装了通用UI 构件的Activity子类。一些非常有用的列在了下面:❑ MapActivity 在Activity中包装所需的资源来支持MapView构件。了解更多关于MapActivity和MapView,请到第7章。❑ ListActivity 以ListView为特性的Activity包装类,绑定数据源作为主要的UI呈现,并且暴露了列表项选择的事件处理函数。... 阅读全文
posted @ 2009-07-20 22:39 xirihanlin 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: 在Activity的full寿命(介于创建与销毁)里,会穿越一至多次的active和visible寿命。每一次的迁移会触发前面描述的事件处理函数。接下来的章节会对每一种寿命及其包含的事件做一次仔细的端视。full寿命Activity的full寿命发生在第一次调用onCreate和最后调用onDestroy。在某些情况下,可能会存在Activity进程会被终止,而没有调用onDestroy方法。使用... 阅读全文
posted @ 2009-07-20 17:52 xirihanlin 阅读(1283) 评论(0) 推荐(0) 编辑
摘要: 为了保证Activity能对状态改变响应,Android提供了一系列的事件处理器。当Activity在它的full、visible和active寿命中迁移时,会触发这些处理器。图3-8就Activity状态而言,概述了这些寿命。图3-8下面的框架代码显示了一个Activity中可利用的状态变化事件的方法处理器。在每一个方法中都有一些提示,描述了在每个状态变化事件里建议采取的动作。package c... 阅读全文
posted @ 2009-07-20 16:51 xirihanlin 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 如图3-7所示,当Activity被创建或销毁时,它们进入或退出Activity栈。当它们做这些动作时,它们就会在四种可能的状态间迁移:❑ Active 当Activity在栈的顶端时,它是可见的,有焦点的前台Activity,用来响应用户的输入。Android会不惜一切代价来尝试保证它的活跃性,需要的话它会杀死栈中更靠下的Activity来保证Active Activity需要的资源。当另一个A... 阅读全文
posted @ 2009-07-20 16:08 xirihanlin 阅读(2698) 评论(0) 推荐(0) 编辑
摘要: 每个Activity的状态由它在Activity栈(一个后进先出容纳所有运行的Activity的容器)中的位置决定。当一个新的Activity启动时,当前前台屏幕进入到栈的顶端。当用户使用Back按钮导航回来的时候,或者前台的Activity结束时,下一个Activity上移变成active状态。这个过程在图3-7中演示。和前面章节的描述一样,应用程序的优先级受它的高优先级Activity影响。A... 阅读全文
posted @ 2009-07-20 15:30 xirihanlin 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 对Activity生命周期很好的理解是极为重要的,它关于应用程序无瑕疵的用户体验和正确的资源管理。和之前解释的一样,Android应用程序不能控制自己进程的寿命;Android运行时管理着每一个应用程序的进程,也顺道管理了应用程序中的Activity。当运行时终止和管理Activity的进程时,Activity的状态有助于决定父应用程序的优先级。应用程序的优先级,反过来又影响着运行时终止应用程序和... 阅读全文
posted @ 2009-07-20 15:09 xirihanlin 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 为了创建一个新的Activity,你需要继承Activity类,定义UI,实现功能。新的Activity的最基本的框架代码如下所示:package com.paad.myapplication;import android.app.Activity;import android.os.Bundle;public class MyActivity extends Activity {/** Call... 阅读全文
posted @ 2009-07-20 14:40 xirihanlin 阅读(4174) 评论(2) 推荐(0) 编辑
摘要: 为了创建应用程序的UI,你需要继承Activity类,使用Views来与用户交互。每一个Activity代表一个屏幕(和桌面开发的Form原理相似),用来将应用程序呈现给用户。应用程序越复杂,所需要的屏幕可能就越多。你需要为要显示的屏幕创建新的Activity。一般说来,它需要有一个基本的用户屏幕来显示应用程序功能的主要UI,另外,还需要其他的Activity来输入信息、显示数据的不同视图或者支持... 阅读全文
posted @ 2009-07-20 14:04 xirihanlin 阅读(542) 评论(0) 推荐(0) 编辑
摘要: Android通过终止、重启应用程序来重新加载资源文件,以做到对语言、区域和硬件实时变化的支持。它的默认的行为不是总是方便和令人满意的,尤其当配置变化(如屏幕方向和键盘可视)、用户旋转设备或划出键盘等。你可以通过监测和响应定制你的应用程序来对这些变化作出响应。为了能让Activity能监听实时的配置变化,需要在manifest节点里添加“android:configChanges... 阅读全文
posted @ 2009-07-20 12:41 xirihanlin 阅读(1522) 评论(2) 推荐(0) 编辑
摘要: 外置资源一个很重要的原因是Android的动态资源选取机制。使用下面描述的结构,你可以为指定的语言、区域和硬件配置创建不同的资源值,供Android系统在运行时动态选取。这能让你创建指定语言、区域和硬件的用户界面,而不需要更改你的代码。通过在/res文件夹下设置平行的文件夹来设定供选择的资源,使用“-”分割符来指定应用程序支持的条件。下面的层次例子,显示了文件夹结构,包括默... 阅读全文
posted @ 2009-07-20 11:02 xirihanlin 阅读(1718) 评论(1) 推荐(1) 编辑