`
zhenzxie
  • 浏览: 68191 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Android学习之路——5.Activity子类

阅读更多
本篇是翻译的
Activity的直接子类:AccountAuthenticatorActivity  AliasActivity,ExpandableListActivity,FragmentActivity,ListActivity, NativeActivity
间接子类:LauncherActivity, PreferenceActivity, TabActivity

(1)AccountAuthenticatorActivity 类在后面中介绍

(2)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具体属性有:
android:targetActivity 目标Activity,这个属性的值必须是声明在activity-alias标签前的Activity的android:name
android:name alias的唯一标识
android:enabled 是否运行aliasActivity加载targetActivity,缺省为true
android:exported 是否运行其他的Application通过使用aliasActivity来加载targetActivity
(具体参考:
android-sdk\docs\guide\topics\manifest\activity-alias-element.html)

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

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

(3)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的子类实现最为重要。

(4)ListActivity和ExpendableListActivity 大同小易不做介绍

(5)PreferenceActivity 是ListActivity的子类,用于设置首选项的Activity,和android.preference配合使用,有空学习整个包的时候再看。

(6)TabActivity  被废弃使用,可以使用FragmentActivity来代替

(7)ActivityGroup  被废弃使用,可以使用Fragment 和 FragmentManager 来代替

(8)LauncherActivity ListActivity的子类,抽象类,用来陈列所有在给定intent下能使用的Activity,当点击时加载Activity

(9)NativeActivity 没有必要继承这个类,只需要在AndroidManifest.xml声明就可以用来展示C++程序了。

(10)FragmentActivity 用来支持Fragment和 Loader 等API的基类,在android.support.v4包下
  • 大小: 60 KB
  • 大小: 57.2 KB
1
1
分享到:
评论

相关推荐

    安卓Android源码——TabFragmentProject.rar

    5. **Android Architecture Components**: 这个项目也可能使用了Android的Architecture Components,如LiveData和ViewModel。LiveData是响应式数据持有者,可以确保数据在Activity或Fragment的生命周期内保持活跃...

    安卓Android源码——Snake.zip

    《安卓Android源码深度解析——以Snake游戏为例》 在移动操作系统领域,安卓(Android)以其开源、灵活的特性,吸引了无数开发者投身其中。对于想要深入理解安卓系统工作原理或者提升自身开发技能的程序员来说,...

    安卓Android源码——TabHostDemo.rar

    在这个“安卓Android源码——TabHostDemo”中,我们将深入探讨TabHost的使用方法及其背后的原理。 TabHost是Android SDK提供的一种布局管理器,它允许开发者在一个屏幕中展示多个Tab,每个Tab可以关联一个Intent,...

    安卓Android源码——MockDialogSample.rar

    1. **Dialog的使用**:Android中的Dialog是一种轻量级窗口,通常悬浮于父Activity之上,用于显示一些简短的信息或交互。MockDialogSample可能包含对Dialog的基本使用,如`AlertDialog.Builder`的创建、设置标题、...

    关于Android二维码——1.生成二维码

    在Android平台上,生成二维码是一项常见的任务,特别是在移动应用开发中,二维码可以用于快速分享信息、登录网站、支付等场景。本篇文章将详细讲解如何在Android应用中生成二维码,以实现高效的信息传递功能。 首先...

    安卓Android源码——SimpleAdapterSample.rar

    **安卓Android源码——SimpleAdapterSample详解** 在安卓开发中,`SimpleAdapter`是一个非常实用的适配器,它简化了将数据集绑定到ListView、GridView等视图的过程。本项目`SimpleAdapterSample`旨在深入解析`...

    安卓Android源码——Calculator.rar

    【Android 源码分析:Calculator 应用程序】 在 Android 开发中,理解源码是提升技能的重要途径。"Calculator" 是一个基础的计算器应用,它的源码为我们揭示了 Android 应用程序的设计和实现原理。让我们深入探索这...

    Android源码——备忘录源码.zip

    这份“Android源码——备忘录源码.zip”压缩包很可能包含了一个完整的备忘录应用的源代码,对于学习Android开发,特别是对UI设计、数据存储和事件处理感兴趣的开发者来说,是一个宝贵的资源。下面我们将详细探讨这个...

    安卓Android源码——android 自定义对话框.zip

    通过研究"安卓Android源码——android 自定义对话框.zip"中的示例,你可以学习到如何将自定义布局应用于对话框,以及如何处理各种交互事件。这将帮助你更加熟练地在Android应用中运用自定义对话框,提升用户体验。...

    安卓Android源码——网页浏览器源码.zip

    总的来说,这份"安卓Android源码——网页浏览器源码.zip"是学习Android开发,特别是WebView使用和浏览器应用开发的宝贵资源。通过深入研究源码,开发者可以提升自己的Android编程能力,理解底层工作原理,并能更好地...

    游戏引擎——Rokon.pdf

    这是`Activity`的子类,提供了引擎的基本参数设置和视图转换功能。 - **生命周期方法** - `onCreate()`:入口函数,子类必须重写该函数。在此函数中可以设置全屏、横屏或竖屏、界面尺寸等,并创建引擎、实例化...

    安卓Android源码——六角形画面.zip

    以上就是从“安卓Android源码——六角形画面.zip”压缩包中可以学习到的主要知识点,它涵盖了自定义视图、几何图形绘制、事件处理等多个Android开发的核心概念。通过理解和实践这些内容,开发者可以更好地掌握...

    安卓Android源码——记账本源码.zip

    这份“安卓Android源码——记账本源码.zip”压缩包包含了一个完整的记账本应用程序的源代码,为开发者提供了一个实践和学习Android应用开发的宝贵资源。下面将对其中的关键知识点进行深入讲解。 1. **安卓应用结构*...

    安卓Android源码——与js交互.zip

    本资料“安卓Android源码——与js交互.zip”可能包含了一个示例项目,名为“AndroidJsTest”,用于演示如何在Android应用中实现与JavaScript的通信。 一、Android与JavaScript交互的原理 1. **WebView组件**:这是...

    安卓Android源码——日记本.zip

    "安卓Android源码——日记本.zip" 提供了一个关于日记本应用的源代码实例,这将帮助我们深入理解Android应用的基本架构和工作原理。在这个项目中,我们可以看到如何创建一个用户友好的日记应用,包括数据存储、UI...

    安卓Android源码——自动清空edittext.zip

    总之,"安卓Android源码——自动清空edittext.zip"这个压缩包提供的源码示例,将帮助开发者学习如何利用TextWatcher和相关事件来自动清空Edittext组件,提升用户体验。实际应用时,应结合具体场景灵活调整清空文本的...

    安卓Android源码——博客园客户端.zip

    本篇文章将围绕"安卓Android源码——博客园客户端.zip"这个主题,详细探讨如何通过分析博客园客户端的源码,来学习和掌握Android开发中的关键知识点。 首先,我们要了解的是Android项目的结构。在"AndroidCnblogs...

    安卓Android源码——Fragment例子.zip

    - Fragment类是Android.app.Fragment的子类,包含一个UI视图,可以添加到Activity的布局中。 - 通过调用`setContentView()`方法,将Fragment包含在Activity的XML布局文件中,或者通过编程方式动态添加。 2. **...

    Android源码——网页浏览器源码.zip

    这份"Android源码——网页浏览器源码.zip"包含的资源提供了一个实现这一功能的基础框架。通过分析这个源码,我们可以深入理解Android开发中的关键概念,尤其是与网络浏览相关的部分。 首先,Android网页浏览器的...

Global site tag (gtag.js) - Google Analytics