【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

posted @ 2014-07-02 23:15  胖喵~  Views(331)  Comments(0Edit  收藏  举报