一,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获取的默认值。
相关推荐
### 详解 Android 的 Activity 组件 #### 概述 在Android开发中,`Activity`是四大组件之一,它是用户界面的基础单位,也是Android应用中最重要的组成部分之一。一个Android应用通常由多个`Activity`组成,每个`...
ActivityFuzzer是一款针对Android Activity组件的安全漏洞检测工具,它基于模糊测试(fuzzing)和动态钩子(dynamichooking)技术设计。Activity组件是Android应用中的一个核心组件,负责处理应用内的不同界面以及用户的...
在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity...
在"01_AndroidActivity_Blog"中,可能包含了关于Activity的更深入讲解,包括如何使用Intent传递数据,如何处理Activity间的通信,以及如何管理Activity的栈等实践知识。这些内容对于深入学习和掌握Android开发至关...
Android系统的核心架构主要由四大组件构成:Activity、Service、BroadcastReceiver和ContentProvider。这四大组件是构建Android应用程序的基础,理解并熟练运用它们是每个Android开发者必须掌握的关键技能。 首先,...
### Android各组件详解:Activity #### 一、Activity概述与生命周期 **Activity**是Android四大组件之一,负责处理用户交互并展示界面。每个Activity都代表一个屏幕,可以包含多个视图(View)来构建用户界面。...
Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack等知识点。 Activity生命...
在Android应用开发中,Activity是核心组件之一,它代表了用户界面的一个屏幕或者一个交互窗口。这个"android Activity 详述 demo"旨在深入探讨Activity的工作原理及其在实际应用中的使用方式。通过链接给出的博客...
Android四大组件详解 Android 应用程序由一些零散的有联系的组件组成,通过一个工程 manifest 绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石: ...
总结起来,Android的Activity组件是构建用户界面的基础,掌握其生命周期、数据传递以及启动模式等核心概念,对于理解和开发Android应用至关重要。随着经验的积累,你将能更熟练地运用这些知识,创造出功能丰富且用户...
在Android开发中,Activity是应用程序的基本组件,用于承载用户界面。Activity之间的切换动画可以极大地提升用户体验,"android activity右进右出动画"就是一个常见的应用场景,它使得应用在切换时具有更加自然、...
在Android应用开发中,四大组件是应用程序的核心组成部分,它们包括Activity、Service、BroadcastReceiver和ContentProvider。本篇文章将重点解析Activity,尤其是其启动模式。Activity是用户与应用程序交互的窗口,...
本文将深入探讨Android应用程序四大组件之一——Activity的入门知识,并通过一个名为"HelloActivityBasic"的示例来阐述其核心概念。 首先,我们需要理解Activity的基本生命周期。Activity的生命周期包括创建...
在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...
在Android应用开发中,四大组件是构建应用程序的基础,它们分别是Activity、Service、BroadcastReceiver和ContentProvider,还有Intent作为组件间通信的重要桥梁。下面我们将逐一详细解释这些组件。 **Activity详解...
Loader是Android框架中负责异步加载数据的组件,主要用于Activity和Fragment中。Loader能够在配置变更时自动重新加载数据,确保数据的实时性,减少了数据丢失的风险。 9. **View(视图)与 ViewGroup(视图组)** ...
在Android应用开发中,Activity是四大组件之一,它是用户与应用程序交互的主要界面。理解Activity的通信方式和生命周期变化是每个Android开发者必须掌握的基础知识。在本篇内容中,我们将深入探讨Activity之间的通信...