当前位置: 代码迷 >> 综合 >> Android学习笔记(一)Activiy学习——生命周期
  详细解决方案

Android学习笔记(一)Activiy学习——生命周期

热度:42   发布时间:2023-10-31 05:26:30.0

Activiy是什么?

当一个新activity启动,它被推送到栈顶,取得用户焦点。点击返回时,遵循“后进先出”原则,所以,当用户完成在当前activity中点击back按钮,它被弹出栈(并且被摧毁),然后恢复之前的activity。


Activiy与布局文件共同显示。修改setContentView(R.layout.activity_main);可以改变布局


1.启动另一个Activiy:

新建一个空的Main2Activity;

创建一个Button,在布局文件中设置

<Button
    android:id="@+id/button"
    android:layout_height="120dp"
    android:layout_width="match_parent"
    tools:text="启动另一个Activiy" />

在MainActiviy中获取按钮,同时给按钮点击事件,设置监听

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View v) {
//启动新的             startActivity(new Intent(MainActivity.this,Main2Activity.class));

} });

2.启动一个网页

在监听里面添加

//打开一个网页
             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("www.baidu.com")));

3.学会打开帮组文档

查看SDK是否下载,下载完后,在终端

open ~/Library/Android/doc

打开文档,查看index xml文件,然后查找Activiy

(盗一张图)



以上为activity的运行周期

当当前activity不可见时(回到桌面),activity执行onPause() onStop(),当自桌面返回时执行>onRestart()>onStart>()onResume()

当当前activity不可见时(退出到桌面),activity执行onPauser()onStop()onDestory(),当自桌面返回时执行>onCreat()>onStart>()onResume()

当两个activity之间相互跳转时

A和B两个activity

运行结果为 A onCreate() > A onStart()  > A onResume 当我们点击按钮启动B时 A onPause() > B onCreate() > B onStart() > B onResume() > A onStop()

(若B为一个对话框时,在AndroidManifest.xml文件中修改ActiviyB(将不会覆盖全屏)

android:theme="@style/Base.Theme.AppCompat.Dialog"

A onPause() > B onCreate() > B onStart() > B onResume() 当点击别处,对话框B消失,B onPause() > A onResume() > B onStop > B onDestory()

)
























  相关解决方案