《第一行代码》学习笔记三:探究活动

活动的四种状态:

1.运行状态:活动位于返回栈的栈顶时,活动就处于运行状态。

2.暂停状态:当活动不在栈顶时,但活动仍然可见,这时活动属于暂停状态,比如活动A调用了一个对话框形式的活动,该活动还未占满屏幕,这时活动A就是暂停状态。

3.停止状态:当一个活动不在栈顶且不可见时,就进入了停止状态。

4.销毁状态:当一个活动从返回栈中移除后就变成了销毁状态。


Activity类中的7个回调方法:    protected   

1.onCreate():活动初始化

2.onDestroy():活动销毁前调用

3.onStart():活动由不可见变为可见时调用

4.onStop():活动完全不可见时调用

5.onResume():活动返回栈顶

6.onPause();启动或恢复另一个活动时候调用

7.onRestart():活动重新被启动。



活动的启动模式

1.standard:默认启动模式,每次启动活动都会创建一个新的活动

2。singleTop:若活动在栈顶时,再调用这个活动就不需要重新创建一个活动,但若不在栈顶,就还是需要

3.singleTask:若返回栈中有这个活动,启动这个活动就不需要重新创建一个活动,但会销毁所要启动活动栈中上面的所有活动。

4.singleInstance:启动这个模式的活动,,会创建一个独立的栈专门管理这个活动。



知晓当前是在哪个活动

public class BaseActivity extends Activity {
	//该代码是为了让自己更好的根据当前界面知道当前是在哪个活动
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		Log.d("BaseActivity",getClass().getSimpleName());}

主要就是通过创建这个类,然后让所有的类都继承这个类,再用getClass。getSimpleName()的方法来获取当前活动名。


随时退出程序

好像就是一个退出功能

public class ActivityCollector {
	public static List<Activity>activities =new ArrayList<Activity>();
	
	public static void addActivity(Activity activity){
		activities.add(activity);
	}
	
	public static void removeActivity(Activity activity){
		activities.remove(activity);
	}
	
	public static void finishAll(){
		for(Activity activity:activities){
			if(!activity.isFinishing()){
				activity.finish();
			}
			
		}
	}

}
 
 

启动活动的最佳写法

在要启动的方法写一个启动自己的静态方法,再在当前活动通过类名+方法名启动要启动的方法

//启动SecondActivity的方法,方便别的活动调用和传递数据
		public static void actionStart(Context context,String data1,String data2){
			Intent intent = new Intent(context,SecondActivity.class);
			intent.putExtra("paraml1",data1);
			intent.putExtra("paraml2",data2);
			context.startActivity(intent);
		}
方便对接,让别人更加容易知道你要传递的参数是什么



猜你喜欢

转载自blog.csdn.net/qq_38167925/article/details/80018614