`
_wyh
  • 浏览: 61034 次
社区版块
存档分类
最新评论

Android的Activity组件

阅读更多

 

一,Activity:

      一个Activity通常就是一个单独的屏幕。

     每创建一个Activity都必须在androidManifest.xml配置文件中声明。

     Activity和Activity之间通过Intent通信,包括跳转。

     Activity通过栈来管理,Activity的跳转及存储遵循栈先进先出的特点。屏幕显示的Activity总是处于栈顶,程序的初始界面处于栈底。

 

二,Activity的四种基本状态:

    1,Active,是完全呈现给用户的界面,此时Activity处于栈最顶端。

    2,Paused, 仍然可见,但是已经失去焦点,不可交互。 被一个透明Activity或者Dialog样式的Activity覆盖。

    3,Stopped, 完全失去焦点,完全被另一个Activity覆盖。

    4,Killed,  没有启动或者被系统杀死。

 

三,Activity的生命周期:

    1,onCreate:  创建(每个Activity必须实现)

    2,onStart:界面可见

    3,onRestart:Activity重新启动

    4,onResume:界面可以交互

    5,onPause:界面暂停,开始失去焦点(在stop之前)

    6,onStop:界面完全不可见

    7,onDestory:销毁

举例:

    第一个Activity启动:

         onCreate()   ->   onStart()   ->   onResume

    第一个Activity跳转到第二个Activity:

         onPause()(第一个)   ->   onCreate()(第二个)    ->   onStart()(第二个)    ->   onResume()(第二个)    ->   onStop()(第一个) 

    按返回键后:

         onPause()(第二个)   ->   onRestart()(第一个)   ->   onStart()(第一个)   ->   onResume()(第一个)   ->   onStop()(第二个)   ->   onDestory()(第二个)

 

四,Activity的四种加载方式:

    在androidManifest.xml中配置Activity时可以设置,属性为launchMode。

    1,standard:标准模式,每次跳转到另一个Activity都会创建一个新实例。

    2,singleTop:如果之前已经创建过这个Activity的实例,就不会再次创建另一个新的Activity,而是直接调用newInstance()来入栈。

    3,singleTask:会在一个新的task中产生这个实例。每次再使用该Activity时,都会使用该Activity,不会再去创建新的。

    4,singleInstance:与singleTask基本一样。只有一个区别:在這个模式下的Activity实例所处的task中,只能有這个activity实例,不能有其他的实例。

 

五,Activity之前的简单通信:

     使用Intent装取信息。

Intent intent = new Intent(xxxxx.this, xxxxx.class);
Bundle bundle = new Bundle();
bundle.putString("string", "I am a String");
bundle.putInt("int", 20);
bundle.putBoolean("boolean", true);
intent.putExtra("key", bundle);
startActivity(intent);

     其中xxxx.this中的xxxx为需要跳转到另一个界面的Activity,xxxx.class的xxxx为跳转的Activity。

     创建Bundle保存信息,每个信息都有一个key,bundle存入intent时,也需要一个key。

     下面是在另一个Activity中的读取:

 Intent intent = getIntent();
Bundle bundle = intent.getBundleExtra("key");
String s = bundle.getString("string");
int i = bundle.getInt("int");
boolean b = bundle.getBoolean("boolean");

 

     上面的方法比较复杂,下面是稍简单的方法:

Intent intent = new Intent(xxxx.this, xxxx.class);

intent.putExtra("string", "I am a string");
intent.putExtra("boolean", true);
intent.putExtra("int", 20);
startActivity(intent);

     另一个界面接受结果:

Intent intent = getInten();
String s = intent.getStringExtra("string");
int i = intent.getIntExtra("int", 0);
boolean b = intent.getBooleanExtra("boolean", false);

    getIntExtra和getBooleanExtra中的第二个参数是如果没有这个key获取的默认值。

 

0
1
分享到:
评论

相关推荐

    详解 Android 的 Activity 组件

    ### 详解 Android 的 Activity 组件 #### 概述 在Android开发中,`Activity`是四大组件之一,它是用户界面的基础单位,也是Android应用中最重要的组成部分之一。一个Android应用通常由多个`Activity`组成,每个`...

    ActivityFuzzer:检测Android Activity组件的安全漏洞

    ActivityFuzzer是一款针对Android Activity组件的安全漏洞检测工具,它基于模糊测试(fuzzing)和动态钩子(dynamichooking)技术设计。Activity组件是Android应用中的一个核心组件,负责处理应用内的不同界面以及用户的...

    Android activity-alias别名的使用

    在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity...

    Android核心组件之Activity

    在"01_AndroidActivity_Blog"中,可能包含了关于Activity的更深入讲解,包括如何使用Intent传递数据,如何处理Activity间的通信,以及如何管理Activity的栈等实践知识。这些内容对于深入学习和掌握Android开发至关...

    Android四大组件简述

    Android系统的核心架构主要由四大组件构成:Activity、Service、BroadcastReceiver和ContentProvider。这四大组件是构建Android应用程序的基础,理解并熟练运用它们是每个Android开发者必须掌握的关键技能。 首先,...

    android各组件详解-activity

    ### Android各组件详解:Activity #### 一、Activity概述与生命周期 **Activity**是Android四大组件之一,负责处理用户交互并展示界面。每个Activity都代表一个屏幕,可以包含多个视图(View)来构建用户界面。...

    Android Activity学习笔记

    Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack等知识点。 Activity生命...

    android Activity 详述 demo

    在Android应用开发中,Activity是核心组件之一,它代表了用户界面的一个屏幕或者一个交互窗口。这个"android Activity 详述 demo"旨在深入探讨Activity的工作原理及其在实际应用中的使用方式。通过链接给出的博客...

    android四大组件详解

    Android四大组件详解 Android 应用程序由一些零散的有联系的组件组成,通过一个工程 manifest 绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石: ...

    Android初识之Activity组件

    总结起来,Android的Activity组件是构建用户界面的基础,掌握其生命周期、数据传递以及启动模式等核心概念,对于理解和开发Android应用至关重要。随着经验的积累,你将能更熟练地运用这些知识,创造出功能丰富且用户...

    android activity右进右出动画

    在Android开发中,Activity是应用程序的基本组件,用于承载用户界面。Activity之间的切换动画可以极大地提升用户体验,"android activity右进右出动画"就是一个常见的应用场景,它使得应用在切换时具有更加自然、...

    Android 四大组件详解(一) Activity 提到的demo

    在Android应用开发中,四大组件是应用程序的核心组成部分,它们包括Activity、Service、BroadcastReceiver和ContentProvider。本篇文章将重点解析Activity,尤其是其启动模式。Activity是用户与应用程序交互的窗口,...

    Android应用程序四大组件之Activity入门(Demo)

    本文将深入探讨Android应用程序四大组件之一——Activity的入门知识,并通过一个名为"HelloActivityBasic"的示例来阐述其核心概念。 首先,我们需要理解Activity的基本生命周期。Activity的生命周期包括创建...

    Android使用Activity用作弹出式对话框

    在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...

    Android开发的四大组件

    在Android应用开发中,四大组件是构建应用程序的基础,它们分别是Activity、Service、BroadcastReceiver和ContentProvider,还有Intent作为组件间通信的重要桥梁。下面我们将逐一详细解释这些组件。 **Activity详解...

    android各组件详解 PDF

    Loader是Android框架中负责异步加载数据的组件,主要用于Activity和Fragment中。Loader能够在配置变更时自动重新加载数据,确保数据的实时性,减少了数据丢失的风险。 9. **View(视图)与 ViewGroup(视图组)** ...

    Android四大组件——Activity(一)Activity之间通信及其生命周期变化

    在Android应用开发中,Activity是四大组件之一,它是用户与应用程序交互的主要界面。理解Activity的通信方式和生命周期变化是每个Android开发者必须掌握的基础知识。在本篇内容中,我们将深入探讨Activity之间的通信...

Global site tag (gtag.js) - Google Analytics