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()
)