android开发教程系列(1)Activity

Android中生命周期的知识
注意:如果要在android机制中打印出System.out的输出语句
      需要配置过滤器,名称为System.out就行

1.Activity的生命周期函数

 public class Activity extends ApplicationContext {
     /**Activity1第一次被创建时*/
     protected void onCreate(Bundle savedInstanceState);
     /**当Activity1被看到时调用*/
     protected void onStart();
     /**当从Activity2返回时调用*/
     protected void onRestart();
     /**当Activity1被操作时调用*/
     protected void onResume();
     /**启动跳转到Activity2时调用*/
     protected void onPause();
     /**Activity1处于不可见的状态时调用*/
     protected void onStop();
     /**此时销毁的是Activity2*/
     调用finish()方法或者系统资源不够用时调用
     protected void onDestroy();
 }
2.Task基本概念
  任务:一个存放Activity的栈
  注:点击Back按钮,将当前的Activity弹出栈
      启动Intent后使用finish方法,就将Activity销毁了
   配置一个以对话框形式的Activity:
    <activity android:name=".ThirdActivity"
                  android:label="@string/thirdName"
                  android:theme="@android:style/Theme.Dialog">
    </activity>
    此时之前的Activity没有被完全覆盖,所以不调用onStop()
代码实现:

FirstActivity.java

package com.apkway;
import com.apkway.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
     /**
      * @author ghost
      * 第一个Activity
      */
public class FirstActivity extends Activity {
    private Button  start1;
    private Button  start2;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.first);
        System.out.println("1Activity!onCreate");
        start1 = (Button)this.findViewById(R.id.start1);
        start2 = (Button)this.findViewById(R.id.start2);
        OnClickListener listener1 = new OnClickListener() {
            @Override
            public void onClick(View v) {
              Intent it = new Intent(FirstActivity.this,SecondActivity.class);
              startActivity(it);
            }
        };
        start1.setOnClickListener(listener1);
        
        OnClickListener listener2 = new OnClickListener() {
            
            @Override
            public void onClick(View v) {
              Intent it = new Intent(FirstActivity.this,ThirdActivity.class);
              startActivity(it);
            }
        };
        start2.setOnClickListener(listener2);
    }
    
    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        System.out.println("1Activity!onStart");
    }

    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        System.out.println("1Activity!onStop");
    }

    @Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
        System.out.println("1Activity!onRestart");
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        System.out.println("1Activity!onResume");
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        System.out.println("1Activity!onPause");
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        System.out.println("1Activity!onDestroy");
    }
}

SecondActivity.java

package com.apkway;
import com.apkway.R;
import android.app.Activity;
import android.os.Bundle;
       /**
        * @author ghost
        * 第二个Activity                   
        */
public class SecondActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        System.out.println("2Activity!onCreate");
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        System.out.println("2Activity!onStart");
    }

    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        System.out.println("2Activity!onStop");
    }

    @Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
        System.out.println("2Activity!onRestart");
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        System.out.println("2Activity!onResume");
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        System.out.println("2Activity!onPause");
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        System.out.println("2Activity!onDestroy");
    }
}

ThirdActivity.java

package com.apkway;
import android.app.Activity;
import android.os.Bundle;
    /**
     * @author ghost
     * 第三个Activity
     */
public class ThirdActivity extends Activity{
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.third);
    }
}
xml的配置很简单,相信对android入门的同学们肯定是不在话下的,好的,这讲就到这里了,源码也附上了,有什么问题留言交流!

你可能感兴趣的:(android,移动开发,Android开发,职场,休闲)