【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