Activity的直接子类

  • AccountAuthenticatorActivity,
  • AliasActivity
  • ExpandableListActivity
  • FragmentActivity
  • ListActivity
  • NativeActivity

间接子类:

  • LauncherActivity

  • PreferenceActivity

  • TabActivity

    1. AccountAuthenticatorActivity 类在后面中介绍.
AliasActivity:
  • 定位:存根Activity,用这个Activity来加载其他的Activity,它的子类必须实现onCreate()方法。可以在onCreate()方法中调用finish()方法,这时Activity跳过生命周期直接调用onDestroy()方法。

使用这个类的方法在API原文中的介绍是:To use this activity, you should include in the manifest for the associated component an entry named "android.app.alias". It is a reference to an XML resource describing an intent that launches the real application.

  • AliasActivity在AndroidManifest.xml文件中用activity-alias标签声明,她可以有自己的intent-filter,meta-date子标签,activity-alias具体属性有:
属性 含义 fdf
android:targetActivity 目标Activity 这个属性的值必须是声明在activity-alias标签前的Activity的android:name
android:name alias的唯一标识
android:enabled 是否运行aliasActivity加载targetActivity 缺省为true
android:exported 是否运行其他的Application通过使用aliasActivity来加载targetActivity

在AliasActivity类中的onCreate(Bundle)方法中有这样的代码(其余细节请查看AliasActivity源码):

Java代码

	Intent intent = parseAlias(parser);
if (intent == null) {
throw new RuntimeException(
"No <intent> tag found in alias description");
}
startActivity(intent);
finish();
ExpendableListActivity:

展示一个可以展开的list,其中的item通过ExpandableListAdapter接口来绑定数据源。当用户选择其中某一项时可以自己定义处理方法。ExpendableListActivity 含有一个ExpandableView对象,用两层的方法来展示数据,第一层是组,下面那一层是它的孩子。使用自己定义的xml来定制布局,则ExpandableListView一定要用"@id/android:list"作为id,另外使用一个id"@id/android:empty"来表示空的list。

ExpandableListAdapter通过ExpendableListActivity 中的setListAdapter(ExpandableListAdapter)方法来设置view中的每一行数据,这个Adapter为组和孩子都分别有方法。比较简单的方法是通过SimpleCursorTreeAdapter和SimpleExpandableListAdapter来作为绑定数据的适配器,SimpleCursorTreeAdapter通过Cursor来抓取数据,而SimpleExpandableListAdapter则通过List中的Map来获取数据。Android在R.layout类中提供了一下标准的行布局比如ssimple_list_item_1, simple_list_item_2, 和two_line_list_item。。我感觉最重要的是布局和SimpleExpandableListAdapter的子类实现最为重要。

ListActivity和ExpendableListActivity 大同小易不做介绍
PreferenceActivity 是ListActivity的子类,用于设置首选项的Activity,和android.preference配合使用,有空学习整个包的时候再看。
TabActivity 被废弃使用,可以使用FragmentActivity来代替
ActivityGroup 被废弃使用,可以使用Fragment 和 FragmentManager 来代替
LauncherActivity ListActivity的子类,抽象类,用来陈列所有在给定intent下能使用的Activity,当点击时加载Activity
NativeActivity 没有必要继承这个类,只需要在AndroidManifest.xml声明就可以用来展示C++程序了。
FragmentActivity 用来支持Fragment和 Loader 等API的基类,在android.support.v4包下顶

Activity的直接子类的更多相关文章

  1. 【转】Android Activity原理以及其子类描述,androidactivity

        Android Activity原理以及其子类描述,androidactivity 简介 Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实 ...

  2. 每天一点Android干货-Activity的生命周期

    Activity Activity是这样一个程序组件,它为用户提供一个用于任务交互的画面. 一个应用程序通常由多个activity组成,它们彼此保持弱的绑定状态.典型的,当一个activity在一个应 ...

  3. Android 学习手札(二) 活动(Activity)组件

    1.建立和配置Activity 建立Android工程时已经自动生成了一个默认的Activity,同时也生成了很多与Activity相关的文件,例如,res目录中的XML及图像文件.AndroidMa ...

  4. Android activity创建三部曲

    1.新建类继承Activity或其子类,现在一般继承AppCompatActivity public class TestActivity extends AppCompatActivity { @O ...

  5. Activity的介绍

    Activity类是Android应用程序的重要组成部分,activity的启动和组合方式是平台应用程序模型的基本组成部分.Android系统通过调用与其生命周期的特定阶段相对应的特定回调方法来启动A ...

  6. Android学习笔记二之初始Activity

    初识Activity,跟着教程学习敲了一遍这一章的内容,下面根据目录结构总结知识点: 一.活动是什么 上篇博文中我们提到了Android四大组件,其中有一个Activity,我们将之称为活动.活动是最 ...

  7. 启动第二个Activity

    启动第二个Activity activity_main.xml文件: <? xml version="1.0" encoding="utf-8"?> ...

  8. Android零基础入门第73节:Activity初入门,创建和配置如此简单

    Activity是Android应用的重要组成单元之一,也是Android应用最常见的组件之一.前面看到的示例通常都只包含一个Activity或一个AppCompatActivity,但在实际应用中这 ...

  9. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

随机推荐

  1. bootstrap学习之利用CSS属性pointer-events禁用表单控件

    参考链接: CSS3 pointer-events:none应用举例及扩展 首先pointer-events在除去SVG中的应用只有两个值:AUTO | NONE pointer-events:non ...

  2. HTML5之indexedDB

    从陌生到了解,花了一下午的时间,以下的地址还是不错的参考资料,省的到处去找 HTML5本地存储——IndexedDB(一:基本使用) 官方API接口文档 官方使用示例 html5 初试 indexed ...

  3. javascript 之作用域-06

    作用域 作用域是指变量和函数可访问范围,他规定了如何查找变量,也就是确定当前执行代码对变量的访问权限. 作用域有两种工作模式: 静态作用域 :又称为词法作用域,在编译阶就可以决定变量的引用,由程序定义 ...

  4. C++继承(07)

    继承 通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原来的类叫做“基类”,新建立的类则叫做“派生类”.另一方面,从类的成员角度看,派生类自动地将基类的所有成员作为自己的成员,这叫做“继承”.基 ...

  5. PhiloGL学习(4)——三维对象、加载皮肤

    前言 上一篇文章中介绍了如何响应鼠标和键盘事件,本文介绍如何加载三维对象并实现给三维对象添加一个漂亮的皮肤. 一. 原理分析 我对三维的理解为:所谓三维对象无非是多个二维对象拼接到一起,贴图就更简单了 ...

  6. 在 ASP.NET Core 中使用 SignalR

    https://weblogs.asp.net/ricardoperes/signalr-in-asp-net-core 作者:Ricardo Peres 译者:oopsguy.com 介绍 Sign ...

  7. (转)linux下如何批量杀JAVA进程或某个进程方法

    在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们 ...

  8. 负载均衡集群企业级应用实战—LVS

    一.负载均衡集群介绍 1.集群 ① 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技 ...

  9. 为Lua5.3编写C模块简单示例

    为Lua5.3编写C模块简单示例 一.编译安装Lua5.3 MSVC 命令行安装脚本: @echo off md bin md lib md include cd src cl /c /nologo ...

  10. glog 使用

    glog 使用 来源:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一.安装配置 1.简介 google 出的 ...