`
- 浏览:
559413 次
- 性别:
- 来自:
武汉
-
Android 之 Activity和Intent用法介绍
Activity 生命周期
1、 Activity介绍
1) 概念:
Activity 是Android应用程序和用户交互的窗口;
2) 运行时的Activity特点:
i. 可见的;
ii. 能与用户进行交互的
2、 Activity的生命周期
1) 生命周期图解:
2) 提示:android 系统中的 Activity 是通过一个Activity 栈来进行管理的;遵循的是先进后出的原则;
3) Activity 的状态
a) Active/Running 状态:位于栈最顶端的 , 是处于运行状态的Activity 此时可见,能与用户进行交互的;
b) Paused 状态:Activity 失去了焦点,但是仍然可见;例如:透明或者Dialog样式的Activity; 仅仅可见,但是不能和用户进行交互;
c) Stopped 状态:当Activity被另一个Activity 完全覆盖、失去焦点,不可见;但仍然保存着所有的状态和成员信息;
d) Killed Activity 状态:被系统杀死回收或者没有被启动时处于Killed 状态
4) Activity 的主要生命周期
a) 完整生命周期:
说明:从调用 onCreate(); 方法到最终的调用onDestory();方法,Activity 会在onCreate() 方法进行所有“全局”状态设置,在onDestroy(); 方法中释放所有持有的资源;
b) 可见性生命周期:
说明:从 onStart() 到 onStop(); 这段过程称为可见性生命周期;
特点:用户可以在屏幕上看到Activity ,但并不一定是在前景,也不一定可以和用户交互;
c) 前景生命周期:
说明:cong onResume() 到 onPause() 方法称为前景生命周期;
特点:这段时间Activity 处于其他所有Activity 的前面,且与用户交互。
5) Activity 完整生命周期
a) OnCreate() onStart() onRestart() onResume() onFreeze() onPause() onStop() onDestroy();
b) onCreate():
说明: Activity 初次创建的时候调用这个方法,是应用程序的入口;
用途:可以初始化数据、设置用户界面等操作;
c) onStart();
说明:该方法在onCreate() 之后进行调用,或者在Activity从stop状态转为Active状态时被调用;
提示:该方法其后调用onRestart() 方法和 onResume() 方法;
d) onRestart();
说明:当Activity从停止状态从新启动时调用;
提示:其后调用的是 onResume() 方法;
e) onResume()
说明:当Activity要与用户进行交互的时候调用该方;
特点:此时的Activity 位于栈顶,可以和用户进行交互;
提示:如果其他的Activity在它的上方恢复显示,则调用onFreeze() 方法
f) onFreeze()
说明:当Activity暂停,其他的Activity恢复与用户交互的时候调用这个方法;
g) onPause()
说明:当系统要调用其他的Activity 时调用(其他Activity之前调用);
作用:一般用来提交数据的改变,停止动画,和其他占用CUP资源的东西。
提示:如果Activity重新回到前景,则调用onResume()方法;如果用于彻底不可见,则调用onStop() 方法;
h) onStop()
说明:当其他Activity 恢复并遮盖此Activity ,导致此Acitivity对用户不可见时调用;
提示:当Activity 重新回到前景与用户交互时调用onRestart()方法,如果Activity将退出则调用 onDestory() 方法;
i) onDestory()
说明:Activity 被销毁前调用的最后一个方法,当进程终止时会出现这种情况;提示:可以调用Activity提供的 finish()方法
3、 Intent 显式意图和隐式意图
1) Intent
a) 说明:四大组建之一,Intent 为各个组建中互相通讯的纽带
b) 作用:
1、 启动其他组件,例如启动Activity ,服务,绑定服务
2、 在广播中传递数据;
c) 主要分类:
Intent 的主要分类包括:隐式意图和显式意图
2) Intent 显式意图
a) 说明:显示意图通常主要启动本应用中的Activity之间的数据;
b) 用法:调用Intent.setComponent() 或 intent.setClass() 方法明确的指定了组件名;
c) 作用:显示意图明确指定了Intent 应该传递给哪个组建;
3) Intent 隐式意图
a) 说明:主要用于启动系统中某些特定的动作,比如打电话,或者是跨应用的Activity 的启动;
b) 用法:在配置文件中设置action 动作、类别(category) ,数据找到合适的组件处理意图;
c) 提示:隐式意图,要在mainfest.xml 文件合纵声明意图过滤器;
d) 例子:
<activity android:name=”.NewActivity”>
<intent-filter>
<action android:name=”hp.intent.aa”/>
<category android:name=”android.intent.category.Default”/>
</intent-filter>
</activity>
4) 隐式意图用法案例 之 拨打电话
a) 判断号码的有效性:PhoneNumberUtils.isGlobalPhoneNumber(“用于输入的号码”) -- 返回一个boolean 类型的值
b) 设置动作:intent.setClass(Intent.ACTION.CALL);
c) 携带数据(携带电话号码):intent.setData(Uri.parse(“tel:”+电话号码)); 注意:此处必须加 tel:
d) 设置打电话权限:
<uses-permission android:name=”android.permission.CALL_PHONE”/>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Android操作系统中,Activity和Intent是两个至关重要的概念,它们构成了Android应用交互的核心。Activity可以理解为用户界面的“窗口”,而Intent则扮演着不同组件间通信的“信使”角色。在这里,我们将深入探讨这...
【Android Intent 启动和关闭Activity】 在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity...
在接收端,`getIntent()`方法获取启动当前Activity的Intent,然后使用`getStringExtra()`获取之前附加的数据。 在`Intent_拨电话_两个Activity之间传递数据.JPG`这个文件中,可能包含了这些功能的截图或者示例代码...
4. 启动Activity:最后,使用`startActivity()`方法启动Intent指向的Activity。 ```java context.startActivity(intent); ``` 对于有返回值的情况,我们可以使用`startActivityForResult()`方法启动Activity。这...
在Android应用开发中,Activity和Intent是两个至关重要的概念,它们构成了Android应用的基本骨架,使得用户界面和应用程序间的数据传递得以实现。在这个名为"android=activity+intent=dome"的项目中,我们可以推测...
在Android应用开发中,Activity和Intent是两个至关重要的概念,它们构成了Android应用程序的基本骨架...这就是Android中的Activity和Intent的基本用法。理解并熟练运用这两个概念,是构建高效、流畅Android应用的基础。
在TargetActivity的`onCreate()`方法中,通过`getIntent()`获取启动本Activity的Intent,然后使用`getStringExtra()`, `getSerializableExtra()`, `getParcelableExtra()`等方法根据键取出数据: ```java Intent ...
在Android应用开发中,理解并熟练掌握Activity的生命周期管理和Intent的使用至关重要。正确处理Activity的状态转换可以确保应用在不同场景下表现稳定,而灵活运用Intent则能实现组件间的有效沟通,增强应用的交互性...
在Android应用开发中,Activity和Intent是...掌握Activity的生命周期管理和Intent的使用,是成为一名合格的Android开发者必不可少的基础技能。通过深入理解这两个概念,开发者可以构建出更加灵活、高效的Android应用。
这个压缩包“Android应用源码之Intent”很可能会包含多个示例项目,演示了Intent的各种用法,包括启动Activity、传递数据、使用Intent Filter等,通过学习这些示例,开发者可以更好地理解和掌握Intent在实际开发中的...
在Android开发中,Activity是应用的基本组件,Intent则充当了Activity之间通信的桥梁。当我们需要在不同的Activity之间传递数据,并且在目标Activity中展示这些数据时,常常会使用Intent配合ListView来实现。...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间建立通信桥梁,特别是在Activity之间进行切换和数据传递。本文将详细讲解如何通过Intent实现Activity之间的切换,并探讨如何利用Intent进行数据传递。 ...
在Android应用开发中,Activity是Android系统中的一个核心组件,它是用户界面的载体,而Intent则是连接各个Activity的桥梁,用于传递数据和启动其他组件。Intent不仅用于启动Activity,还能启动Service、...
Android 页面跳转和 Intent 详解,Bundle 类介绍说明 Android 页面跳转是移动应用程序中的一种基本交互方式,通过 Intent 和 Activity 两个组件来实现。Intent 是 Android 中的一个核心组件,用于在不同的 Activity...
使用`startActivity(Intent)`方法启动一个Activity。如果Intent是隐式的,系统会根据Intent的数据和动作来查找合适的Activity。 6. **启动Service** 通过`startService(Intent)`或`bindService(Intent, ...
Activity作为Android四大组件之一,是用户与应用界面交互的主要入口,而Intent则扮演着不同组件间通信的重要角色。 Activity简介: Activity是Android应用程序中的一个窗口,用于展示用户界面并与用户进行交互。它...
理解Activity的生命周期和Intent的传值机制对于Android开发者来说至关重要。 Activity的生命周期分为三个主要阶段:启动(Start)、运行(Running)和销毁(Destroy)。在启动过程中,Activity会经历onCreate()、...
在Android应用开发中,Intent是一种强大..."ex07_activity_intent"资源可能提供了实践操作的例子,帮助开发者更好地掌握Intent的使用方法。通过创建、传递和解析Intent,开发者可以构建出灵活且功能丰富的Android应用。