目录

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)相关推荐

  1. android四大组件之活动组件

    android四大组件之活动组件 活动组件的生命周期: 参考地址:https://blog.csdn.net/ttandroid/article/details/80926753 oncreate() ...

  2. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  3. Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)

    什么是Activity 关键字:应用组件.四大组件.用户界面,交互. An Activity is an application component that provides a screen wi ...

  4. Android——四大组件、六大布局、五大存储

    一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...

  5. Android四大组件和启动模式(面试总结)

    一.Android四大组件详解 Android四大组件分别为Activity.Service.Content Provider.Broadcast Receiver. 1.Activity (1)一个 ...

  6. Android四大组件之Activity(第一篇-简单使用)

    Android四大组件之Activity(第一篇-简单使用) 前言 一.Activity是什么? 二.如何使用 1.继承 2.重写onCreate() 总结 文章目录 前言 一.Activity是什么 ...

  7. 重温Android四大组件(一)—Activity的生命周期

    前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...

  8. android的四大组件及使用场景,Android/四大组件/Activity.md · BoraxZYF/AndroidInterview - Gitee.com...

    ## 四大组件 ## Activity ### Activity 的四种启动模式及使用场景 - standard 标准模式,Activity 的默认启动模式.每次启动一个 Activity 时都会创建 ...

  9. 第六课-Android四大组件之Activity

    Activity是Android四大组件之一,它是个控制类,主要控制界面的加载显示,用户交互处理,数据的获取,数据的传送等.在它的onCreate方法中的setContentView方法就是来加载一个 ...

  10. android四大组件的作用简书,Android四大组件是什么

    Android四大组件是:活动.服务.广播接收器.内容提供商.它们的英文名称是ACTIVITY.SERVICE.BroadcastReceiver.Content Provider.四个组件分别起到不 ...

最新文章

  1. 与计算机硬件相关的英语作文,计算机和计算硬件,computer and computing hardware,音标,读音,翻译,英文例句,英语词典...
  2. Java中的Split方法不适用于一个句号
  3. 【完结】优秀的深度学习从业者都有哪些优秀的习惯
  4. Faster R-CNN改进篇(二): RFCN ● RON
  5. AtCoder Beginner Contest 175总结
  6. 漫步微积分三十一——定积分的直观含义
  7. 中累计直方图_新特性解读 | MySQL 8.0 直方图
  8. (转)matlab 字符串处理函数
  9. 年薪 80w 的程序员被鄙视了!
  10. 匹配追踪分解 时频 matlab,基于匹配追踪(MP)算法的信号自适应分解研究及其应用...
  11. php获取qq头像地址,使用PHP语言通过邮箱获取全球公认的Gravatar头像地址
  12. Docker容器中添加字体
  13. 数学——Lipschitz连续
  14. 模拟人生显示无法连接服务器,模拟人生总是显示无法连接网络
  15. 关于主机连wife 虚拟机linux系统上网问题解决(基于centos7)
  16. c++中“箭头(-)”和“点号(.)”操作符的区别 .
  17. 完美解决api-ms-win-crt-runtime-l1-1-0.dll详细步骤
  18. Linux引导故障和修复进入系统
  19. 2021 神经网络压缩 (李宏毅
  20. opencv-双边滤波

热门文章

  1. js获取url参数方法
  2. 北京赛区参赛选手代表吴翼在开幕式上的发言稿完整版2011年11月02日 09:50:34
  3. 漫谈 Clustering (5): Hierarchical Clustering
  4. (7)numpy.delete删除np数组的某一行或某一列
  5. dijkstra algorithm example
  6. 4、matplotlib中的子图相关subplot
  7. caffe上手:修改已训练好的网络并训练模型
  8. python数字图像处理(15):霍夫线变换
  9. 支持向量机在风控竞赛数据集上的应用
  10. 使用Sklearn模型做分类并绘制机器学习模型的ROC曲线