首页 > 移动开发 > ANDROID > Android四大组件之Activity
1、 Activity 就是有界面的Android 程序的基础,比如只要是有界面的android 软件都是由活动在运行。没有活动的程序,你是看不到界面的,看不到的程序,也有他的用处,比如广播,服务等后台就可以运行的
2、 一个含有Activity 的程序,肯定要有一个作为主页面的
3、 活动可以相互调用,包括自身,也包括其他的程序
一个Activity 要使用起码要有两个要素:
1、 继承自活动的源文件
//AppCompatActivity是Activity的一个子类
public class MainActivity extends AppCompatActivity {
@Override
//此函数下面会提到
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//要操作的函数 } }
2、 在清单文件中为源文件声明Activity
<activity android :name =".MainActivity" >
</activity>
这仅仅是一个activity 的使用,如果想一个有界面的的程序,肯定要一个主页面,这个时候就要 如下:
<activity android:name=".MainActivity">
// 声明属性
<intent-filter>
//这两个配套使用,程序已启动就启动这个activity
// 如果别的activity有人使用这个,那么排在前面就是主界面
<action android :name ="android.intent.action.MAIN" />
<category android :name ="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
3、 为Activity 设置精致的界面
//此句放在onCreate的super的下面//你的界面文件
setContentView(R.layout.activity_main);
1、 显示启动另一个活动
//A代表的是当前的activity名,B代表的是要启动的activity名
Intent i=new Intent(A.this,B.class);
// 启动
startActivity(i) ;
2、 隐式启动( 可以启动别的软件的acitvity)
Action代表的是你要启动的activity的清单属性的action
Intent i= new Intent(“action”) ;
startActivity(i) ;
在任何周期里,执行了finish(); 就直接调用了onDestory() ,activity 直接被销毁了
1、 返回栈
Android 使用堆栈来管理活动,先进后出
如果有2 个页面:A ,B ,
第一种情况:如果A 页面是显示的肯定是位于堆栈的顶部。
第二种情况:此时B 页面被A 页面调用出来,B 页面显示,A 页面消失,B 就在堆栈的顶部,那么A 就在B 的下面
第三种情况:此时B 自毁了,那么只要A 还在堆栈里,A 就在栈顶
2、 活动状态
第一种情况A 对应的是running
第二种情况A 对应的是stopped
第三种情况B 对应的是killed ,A 对应的是Running
3、 回调函数
按照执行顺序
//activity一创建就执行onCreate 我的理解就是相当于构造方法
//如果activity不在堆栈里,就会重新创建
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState) ;
setContentView(R.layout. activity_main ) ;
}
//activity 在用户可见状态,但不能被操作,可以做一些初始化操作
// 如果activity在堆栈里则是先执行onStart初始化--->onResume调到栈顶
protected void onStart () {
super .onStart() ;
}
// 当前activity属于运行状态,用户可见可操作
protected void onResume () {
super .onResume() ;
}
// 当前activity被覆盖,就比如放在后台,你可以看见,但是操作不了
protected void onPause () {
super .onPause() ;
}
// 当前activity完全看不到
// 不在栈顶了
protected void onStop () {
super .onStop() ;
}
// 当前activity被销毁了
protected void onDestroy () {
super .onDestroy() ;
}
1、 Standard
每次打开一次activity 就创建一个任务到堆栈里,意思就是A 打开B ,B 再打开A( 不是返回) ,此A 非彼A ,两个任务id 不一样,android 默认的启动方式
2、 single Top
会检测该Activity 是否在栈顶,如果在栈顶就复用,如果不是在栈顶就重新创建
3、 single Task
检测是不是在堆栈里,如果在堆栈里,直接把在他上面的都kill 掉
4、 single instance
新建一个堆栈
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917886/viewspace-2694065/ ,如需转载,请注明出处,否则将追究法律责任。