首页 > 代码库 > 【Android开发学习笔记】【第五课】Activity的生命周期-上

【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