创建Activity

要创建一个新的Activity,需要对Activity类进行扩展,在新类定义用户界面并实现新的功能。

视图是用来显示数据和提高用户交互的Ui控件。Android提供了多个布局类,称为ViewGroup,它可以包含多个视图来帮助布局UI。Fragment用来封装UI的各个部分,从而能够方便地创建动态界面。

Activity需要在Manifest中对其进行注册。在Manifest的application节点内添加新的activity标签;activity标签包含像标签、图标、必需的权限以及Activity所使用的主体这样的元数据的属性。

在activity标签中,可以添加intent-filter节点来指定能够用来启动该Activity的Intent。

Activity的生存期

Android应用程序不能控制它们自己的进程的生存期;而Android运行时可以管理每一个应用程序的进程,也就是说,它也可以管理进程内的每个Activity

1.Activity 栈

每一个Activity的状态是由它在Activity栈中所处的位置所决定的,Activity栈是当前所有正在运行的Activity的后进先出的集合。


 

2.Activity 的状态

活动状态:位于栈顶的时候,可见的、具有焦点的前台Activity,这时它可以接收用户输入。

暂停状态:可见的,但没有获得焦点。不能接受用户的输入事件

停止状态:不可见的时候。Activity仍然会停留在内存中,保存所有的状态信息,然而当系统的其他地方要求使用内存的时候,他们就会成为被终止的首要候选对象。

非活动状态:一个Activity被终止之后,在启动之前它就处于非活动状态。处于非活动状态的Activity已经从Activity栈中移除了。

状态转化是非确定性的,完全由Android内存管理器处理。Android首先会关闭包含非活动状态Activity的应用程序,接着会关闭那些停止的应用程序。

3.监控状态改变

保证Activity可以对状态改变做出反应,Android提供了一     系列事件处理程序,当Activity在完整的、可见的和活动的生存期之间转化时,它们就会被触发。

4.理解Activity的生存期

完整生存期:onCreate方法的第一次调用和对onDestory方法的最后一次调用之间的时间范围

可见生存期:onStart和onStop之间的那段时间。

活动生存期:onResume以及对应的onPause之间的那段时间

Android Activity 类

Android SDK 包含了一些Activity子类来封装对常用的用户界面Widget的使用。下面列出了一些比较有用的Activity子类。

MapActivity  在一个Activity中封装了支持MapViewWidget所有求的资源处理

ListActivity Activity包装类,它将一个ListView绑定到了一个数据源,从而作为主Ui元素,并提供了列表项选择的事件处理程序

ExpandableListActivity 与ListActivity类似,但是它支持ExpandableListView

【Android4高级编程笔记】深入探讨Android Activity的更多相关文章

  1. Android高级编程笔记(四)深入探讨Activity(转)

    在应用程序中至少包含一个用来处理应用程序的主UI功能的主界面屏幕.这个主界面一般由多个Fragment组成,并由一组次要Activity支持.要在屏幕之间切换,就必须要启动一个新的Activity.一 ...

  2. UNIX环境高级编程笔记之文件I/O

    一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书 ...

  3. javascript高级编程笔记01(基本概念)

    1.在html中使用JavaScript 1.  <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...

  4. C#高级编程笔记之第三章:对象和类型

    类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型, ...

  5. C#高级编程笔记之第二章:核心C#

    变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段, ...

  6. C#高级编程笔记 (6至10章节)运算符/委托/字符/正则/集合

    数学的复习,4^-2即是1/4/4的意思, 4^2是1*2*2的意思,而10^-2为0.01! 7.2运算符 符号 说明 例   ++ 操作数加1 int i=3; j=i++; 运算后i的值为4,j ...

  7. Java基础知识强化之网络编程笔记24:Android网络通信之 AndroidAsync(基于nio的异步通信库)

    1. AndroidAsync   AndroidAsync 是一个基于nio的异步socket ,http(客户端服务器端),websocket,socket.io库,AndroidAsync 是一 ...

  8. Java基础知识强化之网络编程笔记23:Android网络通信之 Volley(Google开源网络通信库)

    联合网上资料学习:http://www.open-open.com/lib/view/open1451223702339.html 一.Volley的介绍 1. Volley简介 在这之前,我们在程序 ...

  9. Java基础知识强化之网络编程笔记22:Android网络通信之 Android常用OAuth登录(获取个人信息)

    1. 获取百度个人信息(使用Gson解析): 2. 代码案例: (1)工程一览图,如下: (2)activity_main.xml: <LinearLayout xmlns:android=&q ...

随机推荐

  1. 如果两个人,两台电脑同时登录同一个帐号,同时对同一个账单提交,账单同时被服务器处理,那服务器应该先处理谁的,或者怎么规避这个问题。 非单点登录,重定向,stoken拦截器的问题

    方法一:给用户设置个状态 服务器端坐标记,比如数据库中增加一列,标识是否登陆,登录时先判断这个就行了,不过要考虑非正常退出的情况 http 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态  ...

  2. WPF之ContextMenu的命定绑定

    在WPF中右击菜单项的XMAL代码是: <ContextMenu x:Key="sampleContextMenu"> <MenuItem Header=&quo ...

  3. ODP.NET OracleBulkCopy

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using Oracle.DataA ...

  4. 使用case语句给字体改变颜色

    使用case语句给字体改变颜色 #!/bin/bash color(){ RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1; ...

  5. Poj 3287 Catch That Cow(BFS)

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  6. PostgreSQL 备份和恢复

    备份和恢复有三种不同的基本方法来备份PostgreSQL数据SQL转储文件系统级备份File system level backup连续归档 1. SQL转储 pg_dump dbname > ...

  7. Python数据库(一)-Mysql数据库的连接

    首先需要安装pymysql模块 然后用pymysql连接mysql并执行命令来查看数据 连接mysql数据库后需要创建游标来执行SQL语句 # -*- coding:utf-8 -*- __autho ...

  8. MessageBox如何输出整数

    int cx=10;CString s;s.Format(_T("整数是:%d"),cx);MessageBox(s);

  9. SetConsoleCtrlHandler演示

    #include "stdafx.h"#include <Windows.h> static BOOL WINAPI Handler(DWORD cntrlEvent) ...

  10. leetcode458

    原本没有思路,参考了网上的解题思路,自己独立完成了代码. int poorPigs(int buckets, int minutesToDie, int minutesToTest) { ; ; wh ...