`
huaxin803
  • 浏览: 108423 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
当一个Activity启动另一个Activity时,它们都经历了生命周期的转换。第一个Activity被暂停和终止(即使它在后面依然可见而不想终止)时,另一个Activity就会被创建。在这种情况下,Activity共享的数据要保存到光盘或其他地方,理解在第二个Activity被创建之前,第一个Activity不能完全被终止是至关重要的。否则,正在启动的第二个Activity的进程会覆盖正在终止的第一个Activity的进程。 特别是当在同一个进程中的两Activity之间切换时,生命周期回调的顺序都被很好的定义了。以下是Activity A启动Activity B是发生的操作。 ...
某些设备配置能够在运行期间改变(如屏幕方向、键盘的可用性、语言等)。当这些改变发生时,Android会重建正在运行的Activity(系统调用onDestroy()方法后,立即调用onCreate()方法)。设计这个行为来帮助应用程序自动的适应新的配置,重新加载应用程序的替代资源(针对不同屏幕方向和尺寸的布局)。 如果正确的设计你的Activity使它能够处理屏幕方向改变期间重启和恢复以上描述的Activity状态,就会使你的应用程序对于Activity生命周期内的费异常事件的处理更富有弹性。 处理像重启这类事件的最好方法是使用前面章节中讨论的onSaveInstanceState( ...
在介绍管理Activity生命周期一节中简单的提到,Activity被暂停或终止时,它的状态是被保留的。确实,因为Activity被暂停或终止时它依然被保留在内存中---所有的关于它的成员和当前状态的信息依然存活着,这样Activity中的任何用户模式的改变都被保留以便它返回前台时,那些改变依然存在。 但是当系统为了恢复内存而销毁一个Activity时,这个Activity对象就被销毁了,因此系统不能简单的用它的完整的状态来恢复它。相反,如果用户导航返回到这个Activity了,系统就必须重新创建它。然而,对于被系统销毁的Activity的重建,用户是感知不到的,因此,用户可能预期Acti ...
通过实现回调方法来管理Activity的生命周期是开发强壮和灵活应用程序的关键。Activity的生命周期直接受到与之相关的Activity、任务和回退堆栈的影响。 Activity存在基本的三种状态: 恢复态(Resumed)、 这种状态下,Activity在屏幕的前端,并有有用户焦点(这种状态有时也叫“运行态”) 暂停态(Paused) 这种状态下的Activity,另一个Activity在这个Activity的前端,并且拥有焦点,但是这个Activity依然可见,也就是说,在这个Activity之上的另一个Activity是可见的,并且那个Activi ...
通过调用finish()方法你能够关闭一个Activity,也可以通过调用finishActivity()方法来关闭前面被启动的独立的Activity。 注:大多数情况下,你不应该使用这些方法来确切的关闭一个Activity,在后续的关于Activity生命周期的讨论中,你会了解到,Android系统为你管理着每个Activity的生命,因此你不需要关闭你自己的Activity。调用这些方法会对预期的用户体验带来不利的影响,只有在明确不需要用户再返回这个Activity的实例时才应该使用这个方法。 注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。 ...
你能够通过调用startActivity()方法来启动另外一个Activity,在调用这个方法时要给它传递一个你想要启动的描述Activity的Intent作为参数。这个Intent既可以确切的指定你想要启动的Activity,也可以是你想要执行的动作的类型的描述(系统会给你选择相应的Activity,甚至可以从不同的应用程序中选择)。Intent也能够携带少量的用于启动Activity所需的数据。 当在自己的应用程序中工作时,你会经常的需要简单加载一个已知的Activity,你能够使用类名,通过创建一个你想启动的明确定义的Activity的Intent来做这件事。例如,下面的 ...
<Activity>元素中也能使用<intent-filter>元素来指定各种Intent过滤器,以便声明其他应用程序组件可以怎样激活它。 当你使用AndroidSDK工具创建一个新的应用程序是,自动创建的那个Activity包含了一个声明Activity响应“Main”动作的Intent过滤器,并且这个过滤器被放在“Launcher”分类中。过滤器声明如下: <activity android:name=".ExampleActivity" android:icon="@drawable/app_icon&qu ...
一个Activity的用户界面是通过View树来提供的---这些View对象继承View类。每个View在Activity的窗口中都控制一个特定的的矩形区域,并且能够响应用户的操作。例如,一个按钮在用户点击它时,可以启动一个动作。 Android提供了很多已经准备好的View,你能够使用这些View来设计和组织到你的布局中。“Widgets”是给屏幕提供的可见的并可交互的View元素。如按钮、文本域、检查框、或图片等。“Layouts”是继承于ViewGroup的View,它给它的子View提供了一个唯一的布局模式,如线性布局、网格布局、或相对布局等。你也能够通过继承View和ViewGr ...
要创建一个Activity,你必须创建一个Activity的子类(或者是现存的Activity子类)。在这个子类中,需要实现系统调用的回调方法,以便Activity在生存周期的各种状态间转换。如Activity正在被创建、被终止、被恢复、或被销毁等状态,其中两个最重要的回调方法是: onCreate() 你必须在Activity子类中实现这个方法。在Activity创建时,系统会调用这个方法。在你的实现中,应该初始化必要的Activity组件。最重要的,在这儿你必须调用setContentView()方法来定义Activity的用户界面的布局。 onPause() 当用户 ...
一个Activity是提供给用户的用于与程序进行交互的界面组件,如打电话、拍照片、发邮件、或看地图等。每个Activity就是一个用来描画用户界面的接口,通常这个窗口时全屏的,但是也可以比屏幕小,并且可以浮动在其他窗口的上面。 一个应用程序通常由多个Activity组成,它们彼此松散的绑定到一起。通常,在一个应用程序中要指定一个Activity作为主Activity,当用户启动应用程序时,这个Activity首先表现给用户。然后,每个Activity为了执行不同的行为,能够启动另一个Activity。每启动一个新的Activity,前一个Activity会被停止,但系统把这个Act ...
Android应用程序是用Java编程语言编写的。Android SDK工具把应用程序的代码、数据和资源文件一起编译到一个Android程序包中(这个程序包是以.apk为后缀的归档文件),一个Android应用程序就是一个单独.apk文件中的所有内容,并且Android设备使用这个文件来安装应用程序。 安装在设备上的每个Android应用程序都生活在它们自己的安全沙箱中: 1. Android操作系统一个多用户的Linux系统,在这个系统中每个应用程序都是一个不同的用户。 2. 默认情况下,系统给每个应用程序分配一个唯一的Linux用户ID(这个ID只能被系统使用, ...
Android核心库包含了Java编程语言核心库所提供的大部分功能。 每个Android应用程序都运行在它自己的进程中,每个进程都拥有自己的Dalvik虚拟机实例。Dalvik被设计成在一个设备上能有效运行多个虚拟机实例的Java虚拟机。在Dalvik可执行(.dex)格式中Dalvik虚拟机可执行文件对内存的需求被优化到最小。这个虚拟机是基于寄存器的,并且运行被Java语言编译器编译的类,这些类通过”dx”工具转换成.dex格式。 Dalvik虚拟机依赖Linux内核底层功能,如线程和底层内存管理。 注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。 ...
Android包含了一组被Android系统各种组件使用的C/C++类库。这些类库功能通过Android应用框架暴露给开发者。下面列出一些核心类库: 系统C库------派生与BSD的标准C库(libc)的实现,并且基于嵌入式的Linux设备进行了调整; 多媒体库------基于PacketVideo公司OpenCORE的多媒体类库,这个类库支持许多流行的音/视格式的回放和录音,以及静态的图片文件,如:PPEG4、H.264、MP3、AAC、JPG、PNG。 界面管理器------管理对显示子系统的访问,并且把应用程序与2D和3D图形层无缝的融合到一起。 LibWeb ...
Adroid通过提供一个开发的开发平台,给开发者提供构建丰富而新颖的应用程序的能力。开发者可以自由的利用硬件设备、访问本地信息、运行后台服务、设置闹钟、在状态栏上添加通知等。 开发者完全访问那些被核心应用使用的framework的API,应用架构的设计,旨在简化组件的重用。任何应用都可以发布它的功能,以便其他的应用能够重用这些功能(在框架强制性安全约束之下)。同样这种机制允许组件被用户替换。 所有的应用程序都是一组相关的服务和系统,包括: 能够用于构建应用程序的丰富的、可扩展的视图(Views)集,包括列表、表格、文本框、按钮以及可嵌入的Web浏览器; 内 ...
Android是一个针对移动设备的软件包,包括操作系统、中间件和关键的应用程序。Android SDK提供了在Android平台上使用Java编程语言进行应用开发所必须的工具和APIs。 功能特点 1. Application Framework使组件能够重用和替换; 2. 针对移动设备而优化的Dalvik虚拟机; 3. 集成了基于开源代码---WebKit引擎的浏览器; 4. 通过定制的2D图形库驱动图形优化;基于OpenGL ES1.0规范的3D图形(可选硬件加速); 5. 基于SQLite的结构化数据存储策略; 6. 对通用的 ...
Global site tag (gtag.js) - Google Analytics