• Android中的Activity相关知识总结


    一、什么是Activity?

      简单理解:Activity是Android组件中最基本也是最为常见用的四大组件之一。是一个与用户交互的系统模块,一个Activity通常就是一个单独的屏幕(页面),

    它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
     
      当程序第一次运行时用户就会看到一个窗体,这个窗体就是一个Activity,这个Activity可以通过启动其他的Activity进行相关操作当启动其他的Activity时这个当前的这个Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。都知道是先进后出的原则,那么当用户按Back(返回)键时,当前的这个Activity销毁,前一个Activity重新恢复
     

    二、Activity生命周期图解

    三、代码测试生命周期执行过程

    1.新建Android项目(myCH01)

      ㈠整个项目结构图如下:

      ㈡MainActivity.java测试代码

     1 package com.example.mych02;
     2 
     3 
     4 import android.app.Activity;
     5 import android.content.Intent;
     6 import android.os.Bundle;
     7 import android.util.Log;
     8 import android.view.View;
     9 
    10 public class MainActivity extends Activity {
    11 
    12     @Override
    13     protected void onCreate(Bundle savedInstanceState) {
    14         super.onCreate(savedInstanceState);
    15         setContentView(R.layout.activity_main);
    16         Log.i("--MainActivity--", "----------onCreate---------");
    17     }
    18 
    19     //打开一个新窗体
    20     public void openNew(View view){
    21         Intent intent=new Intent(this,FirstActivity.class);
    22         startActivity(intent);
    23         
    24     }
    25     
    26     //从stop转为激活状态时执行
    27     @Override
    28     protected void onRestart() {
    29         super.onRestart();
    30         Log.i("--MainActivity--", "----------onRestart---------");
    31     }
    32 
    33     //Activity开始加载事件时执行【新创建或者重新启动时执行】
    34     @Override
    35     protected void onStart() {
    36         super.onStart();
    37         Log.i("--MainActivity--", "----------onStart---------");
    38     }
    39 
    40     //Action恢复到激活状态时,执行【任何一次进入激活状态都执行】
    41     @Override
    42     protected void onResume() {
    43         super.onResume();
    44         Log.i("--MainActivity--", "----------onResume---------");
    45     }
    46 
    47     @Override
    48     protected void onPause() {
    49         super.onPause();
    50         Log.i("--MainActivity--", "----------onPause---------");
    51     }
    52 
    53     @Override
    54     protected void onStop() {
    55         super.onStop();
    56         Log.i("--MainActivity--", "----------onStop---------");
    57     }
    58 
    59     @Override
    60     protected void onDestroy() {
    61         super.onDestroy();
    62         Log.i("--MainActivity--", "----------onDestroy---------");
    63     }
    64 }

      ㈢activity_main.xml测试代码

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="vertical"
     6      >
     7 
     8     <Button 
     9         android:layout_width="match_parent"
    10         android:layout_height="wrap_content"
    11         android:text="打开一个新窗体"
    12         android:onClick="openNew"
    13         />
    14 
    15 </LinearLayout>

      

  • 相关阅读:
    Consul常用命令
    ECharts 避免变窄
    TP3.2 日期默认格式
    新订单提示效果
    php 按照字典序排序 微信卡券签名算法用到
    td宽度自适应 窄的地方自动收缩
    git 删除本地分支,删除远程分支
    分页Model
    chrome表单自动填充如何取消
    tp3.2 如何比较两个字段
  • 原文地址:https://www.cnblogs.com/js2ja/p/6086719.html
Copyright © 2020-2023  润新知