Android 四大组件 之 活动(Activity)
目录
Android 活动( Activity)
生命周期
使用流程图
Android 活动( Activity)
1、活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧,Android 的活动是 android.view.ContextThemeWrapper 类的子类。
2、如同 Java 程序从 main() 函数开始一样,Android 系统初始化它的程序是通过活动中的 onCreate() 回调的调用开始的。
3、存在有一序列的回调方法来启动一个活动,同时有一序列的方法来关闭活动,如下面的活动声明周期图所示:
4、android.app.Activity 类定义了下面的主要回调方法,可以不用实现所有的回调方法,但是其中的每一个方法都非常重要,实现这些可以保证应用行为如用户所期望的那样。
回调 | 描述 |
---|---|
onCreate() | 这是第一个回调,在活动第一次创建时调用 |
onStart() | 这个回调在活动为用户可见时被调用 |
onResume() | 这个回调在应用程序与用户开始可交互的时候调用 |
onPause() | 被暂停的活动无法接受用户输入,不能执行任何代码。当当前活动将要被暂停,上一个活动将要被恢复是调用 |
onStop() | 当活动不在可见时调用 |
onDestroy() | 当活动被系统销毁之前调用 |
onRestart() | 当活动被停止以后重新打开时调用 |
生命周期
1、Activity 用于显示用户界面,用户通过 Activity 交互完成相关操作
2、一个App允许有多个Activity
- onPause( ) 和 onStop( ) 被调用的前提是:打开了一个新的 Activity,区别是前者的 Activity 还处于可见的状态,后者是旧Activity 已经不可见。
使用流程图
1、Android 中的四大组件,只要定义了,无论用没用,都要在 AndroidManifest.xml 对这个组件进行声明,不然运行时程序会直接退出,报 ClassNotFindException..
2、如下所示为 Android Studio 3.1.2 创建的 HelloWorld 应用,在其默认的 MaingActivity 文件内容上重写了 onCreate() 方法以外的其它方法:
package com.example.administrator.helloworld;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;/*** 一个应用程序可以有1个或多个活动,而没有任何限制。* 每个为应用程序所定义的活动都需要在 AndroidManifest.xml 中声明,应用的主活动的意图过滤器标签中需要包含 MAIN 动作和 LAUNCHER 类别* 如果 MAIN 动作还是 LAUNCHER 类别没有在活动中声明,那么应用程序的图标将不会出现在主屏幕的应用列表中。*/
public class MainActivity extends AppCompatActivity {String msg = "Android : ";/*** 当活动第一次被创建时调用*/@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);/*** 从项目的 res/layout 中的XML文件加载 UI 组件* android.util.Log#d(java.lang.String, java.lang.String) 方法用于在 Logcat 窗口中打印日志*/setContentView(R.layout.activity_main);Log.d(msg, "The onCreate() event");}/*** 当活动即将可见时调用*/@Overrideprotected void onStart() {super.onStart();Log.d(msg, "The onStart() event");}/*** 当活动可见时调用*/@Overrideprotected void onResume() {super.onResume();Log.d(msg, "The onResume() event");}/*** 当其他活动获得焦点时调用*/@Overrideprotected void onPause() {super.onPause();Log.d(msg, "The onPause() event");}/*** 当活动不再可见时调用*/@Overrideprotected void onStop() {super.onStop();Log.d(msg, "The onStop() event");}/*** 当活动将被销毁时调用*/@Overridepublic void onDestroy() {super.onDestroy();Log.d(msg, "The onDestroy() event");}
}
3、一个应用程序可以有 1 个或多个活动,而没有任何限制。
4、每个为应用程序所定义的活动都需要在 AndroidManifest.xml 中声明,应用的主要活动声明的意图过滤器标签中需要包含 MAIN 动作和 LAUNCHER 类别,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.lct.www.xiong"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
</manifest>
5、不论是 MAIN 动作还是 LAUNCHER 类别没有在活动中声明,那么应用程序的图标将不会出现在主屏幕的应用列表中。
Android 四大组件 之 活动(Activity)相关推荐
- android四大组件之活动组件
android四大组件之活动组件 活动组件的生命周期: 参考地址:https://blog.csdn.net/ttandroid/article/details/80926753 oncreate() ...
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
- Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)
什么是Activity 关键字:应用组件.四大组件.用户界面,交互. An Activity is an application component that provides a screen wi ...
- Android——四大组件、六大布局、五大存储
一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...
- Android四大组件和启动模式(面试总结)
一.Android四大组件详解 Android四大组件分别为Activity.Service.Content Provider.Broadcast Receiver. 1.Activity (1)一个 ...
- Android四大组件之Activity(第一篇-简单使用)
Android四大组件之Activity(第一篇-简单使用) 前言 一.Activity是什么? 二.如何使用 1.继承 2.重写onCreate() 总结 文章目录 前言 一.Activity是什么 ...
- 重温Android四大组件(一)—Activity的生命周期
前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...
- android的四大组件及使用场景,Android/四大组件/Activity.md · BoraxZYF/AndroidInterview - Gitee.com...
## 四大组件 ## Activity ### Activity 的四种启动模式及使用场景 - standard 标准模式,Activity 的默认启动模式.每次启动一个 Activity 时都会创建 ...
- 第六课-Android四大组件之Activity
Activity是Android四大组件之一,它是个控制类,主要控制界面的加载显示,用户交互处理,数据的获取,数据的传送等.在它的onCreate方法中的setContentView方法就是来加载一个 ...
- android四大组件的作用简书,Android四大组件是什么
Android四大组件是:活动.服务.广播接收器.内容提供商.它们的英文名称是ACTIVITY.SERVICE.BroadcastReceiver.Content Provider.四个组件分别起到不 ...
最新文章
- 与计算机硬件相关的英语作文,计算机和计算硬件,computer and computing hardware,音标,读音,翻译,英文例句,英语词典...
- Java中的Split方法不适用于一个句号
- 【完结】优秀的深度学习从业者都有哪些优秀的习惯
- Faster R-CNN改进篇(二): RFCN ● RON
- AtCoder Beginner Contest 175总结
- 漫步微积分三十一——定积分的直观含义
- 中累计直方图_新特性解读 | MySQL 8.0 直方图
- (转)matlab 字符串处理函数
- 年薪 80w 的程序员被鄙视了!
- 匹配追踪分解 时频 matlab,基于匹配追踪(MP)算法的信号自适应分解研究及其应用...
- php获取qq头像地址,使用PHP语言通过邮箱获取全球公认的Gravatar头像地址
- Docker容器中添加字体
- 数学——Lipschitz连续
- 模拟人生显示无法连接服务器,模拟人生总是显示无法连接网络
- 关于主机连wife 虚拟机linux系统上网问题解决(基于centos7)
- c++中“箭头(-)”和“点号(.)”操作符的区别 .
- 完美解决api-ms-win-crt-runtime-l1-1-0.dll详细步骤
- Linux引导故障和修复进入系统
- 2021 神经网络压缩 (李宏毅
- opencv-双边滤波
热门文章
- js获取url参数方法
- 北京赛区参赛选手代表吴翼在开幕式上的发言稿完整版2011年11月02日 09:50:34
- 漫谈 Clustering (5): Hierarchical Clustering
- (7)numpy.delete删除np数组的某一行或某一列
- dijkstra algorithm example
- 4、matplotlib中的子图相关subplot
- caffe上手:修改已训练好的网络并训练模型
- python数字图像处理(15):霍夫线变换
- 支持向量机在风控竞赛数据集上的应用
- 使用Sklearn模型做分类并绘制机器学习模型的ROC曲线