zoukankan      html  css  js  c++  java
  • 【Android开发学习笔记】【第五课】Activity的生命周期-上

      今天学习Activity当中的七个生命周期函数:

      首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容

      

      打开之后只输入“Filter Name”和“by Log Tag” 即可

      

      添加成功后可以看到

      

      本次学习主要总结如下:

      1、onCreate()

      Acitivity首次创建时被调用。用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作。

      2、onStart()

      Acitivity对用户可见时被调用。

      3、onResume()

      Acitivity获得用户焦点,即用户可操作该Acitivity时被调用。

      4、onPause()

      应用程序启动了其它Acitivity时被调用。一般用于保存当前Acitivity中的数据。

      5、onStop()

      Acitivity不可见时被调用。

      6、onRestart()

      已停止的Acitivity重新启动时被调用。

      7、onDestroy()

      调用Acitivity的finish()方法或Android系统资源不足时被调用。

      这么如果不好理解的话,请看下面:

      首先建立了两个Activity,并且重写了这两个Activity的这7个生命周期函数,其次第一个Activity可以通过按钮调用第二个Activity

      

    package com.example.activitytest;
    import com.example.activitytest.R;
    import com.example.activitytest.FirstActivity;
    
    import android.app.Activity;
    import android.app.ActionBar;
    import android.app.Fragment;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.os.Build;
    
    public class FirstActivity extends Activity 
    {
        public Button mybutton = null;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_first);
            System.out.println("first----onCreate()");
            
            mybutton = (Button)findViewById(R.id.Mybutton);
            mybutton.setText("my button");
            mybutton.setOnClickListener(new MyButtonListen());
        }
        
        class MyButtonListen implements OnClickListener
        {
    
            @Override
                public void onClick(View v) 
            {
                // TODO Auto-generated method stub
                Intent intent = new Intent();
                intent.putExtra("testintent", "ccyy");
                intent.setClass(FirstActivity.this, SecondActivity.class);
                FirstActivity.this.startActivity(intent);
            }
        }
    
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            System.out.println("first----onDestroy()");
            super.onDestroy();
        }
    
        @Override
        protected void onPause() {
            // TODO Auto-generated method stub
            System.out.println("first----onPause()");
            super.onPause();
        }
    
        @Override
        protected void onRestart() {
            // TODO Auto-generated method stub
            System.out.println("first----onRestart()");
            super.onRestart();
        }
    
        @Override
        protected void onResume() {
            // TODO Auto-generated method stub
            System.out.println("first----onResume()");
            super.onResume();
        }
    
        @Override
        protected void onStart() {
            // TODO Auto-generated method stub
            System.out.println("first----onStart()");
            super.onStart();
        }
    
        @Override
        protected void onStop() {
            // TODO Auto-generated method stub
            System.out.println("first----onStop()");
            super.onStop();
        }
    }

      上面是第一个Activity

      

    package com.example.activitytest;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class SecondActivity extends Activity 
    {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.second);
            
            System.out.println("second----onCreate()");
        }
        
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            System.out.println("second----onDestroy()");
            super.onDestroy();
        }
    
        @Override
        protected void onPause() {
            // TODO Auto-generated method stub
            System.out.println("second----onPause()");
            super.onPause();
        }
    
        @Override
        protected void onRestart() {
            // TODO Auto-generated method stub
            System.out.println("second----onRestart()");
            super.onRestart();
        }
    
        @Override
        protected void onResume() {
            // TODO Auto-generated method stub
            System.out.println("second----onResume()");
            super.onResume();
        }
    
        @Override
        protected void onStart() {
            // TODO Auto-generated method stub
            System.out.println("second----onStart()");
            super.onStart();
        }
    
        @Override
        protected void onStop() {
            // TODO Auto-generated method stub
            System.out.println("second----onStop()");
            super.onStop();
        }
    }

      上面是第二个Activity

      接下来运行程序,然后看日志中显示的信息:

      1.启动后,显示了第一个Activity

      2.通过按钮调用其第二个Activity

      3.back键返回到第一个Activity

      4.退出这个App

  • 相关阅读:
    创建一个简单的图片服务器
    spring-boot系列:初试spring-boot
    java的动态代理机制
    jedis连接池详解(Redis)
    使用logback.xml配置来实现日志文件输出
    redis在mac上的安装
    理解RESTful架构
    分布式应用框架Akka快速入门
    [Java基础]Java通配符
    Mac vim iterm2配色方案
  • 原文地址:https://www.cnblogs.com/by-dream/p/3821358.html
Copyright © 2011-2022 走看看