Android入门基础(7) ---activity生命周期

本文通过一个包含两个Activity的示例程序,深入探讨了Android中Activity的生命周期,包括创建、启动、暂停、停止、重启、恢复及销毁等各个阶段的状态转换,并展示了如何通过代码观察这些状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android入门基础(7)

---activity生命周期

activity生命周期需要自己动手去亲自感受下,才会有收获。关键是如何很好的充分显示activity的生命周期,如何更好的利用好、控制好activity小生命,让我们对她的一举一动很了解。

接下来分享下自己测试activity的小例子。

本程序分两个activity,并且在第一个activity中有个dialog,测试dialog和activity的关系。代码为:

package com.activitytest.namespace;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;

public class ActivitydemoActivity extends Activity {
    static String log;
    private ImageButton imageView1;
    private Button  buttonOk;
    
    /**
     * 初始化
     */
    public ActivitydemoActivity(){
     }
    /**
     * 结束程序
     */
    public void endita(){
    	finish();
    }
    /**
     * find方法
     */
    public void findview() {
		imageView1=(ImageButton)findViewById(R.id.imageButton_one);
		buttonOk = (Button)findViewById(R.id.btn_ok);
	}
    /**
     * 所有的监听器
     */
    public void setLinsteners() {
    	
     	OnClickListener lis=new OnClickListener(){
	       @Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(ActivitydemoActivity.this,Second.class );
				endita();
				startActivity(intent);
			}
			
		};
		OnClickListener ok=new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new AlertDialog.Builder(ActivitydemoActivity.this).setTitle(R.string.mydia)
				                             .setMessage(R.string.mymessage)
				                             .setCancelable(true)
				                             .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
												//对话框事件
												@Override
												public void onClick(DialogInterface dialog, int which) {
													// TODO Auto-generated method stub
													
												}
											}).show();
			}

			private AlertDialog setTitle(int mydia) {
				// TODO Auto-generated method stub
				return null;
			}
		};
		//点击后跳转到第二个页面
		imageView1.setOnClickListener(lis);
		//点击后弹出对话框
		buttonOk.setOnClickListener(ok);
	}
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Log.e(log,"this is first onCreate");
		findview();
		setLinsteners();
		
	}
	/**
	 * is second created
	 */
//	@Override
//    public void onRestore(){
//    	
//    }
	
	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.e(log," the first onResume");
	}
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.e(log,"the first onDestroy");
	}
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Log.e(log,"the frist onpause");
	}
	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		Log.e(log,"first onRestart");
	}
	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.e(log,"the first onShop");
		
	}
	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.e(log,"the first onstart");
		}
}

package com.activitytest.namespace;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class Second extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.second);
		Log.e(ActivitydemoActivity.log, "the seond onCreate");
		ActivitydemoActivity a = new ActivitydemoActivity();
		//a.endita();
	}
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.e(ActivitydemoActivity.log," the S onResume");
	}
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.e(ActivitydemoActivity.log,"the s onDestroy");
	}
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Log.e(ActivitydemoActivity.log,"the s onpause");
	}
	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		Log.e(ActivitydemoActivity.log,"S onRestart");
	}
	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.e(ActivitydemoActivity.log,"the S onShop");
		
	}
	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.e(ActivitydemoActivity.log,"the S onstart");
		}
	

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值