Activity介绍和使用

Activity生命周期状态

  • 启动
    • Activity启动之后便会进行下一个状态。
  • 运行
    • Activity处于屏幕最前端,可于用户进行交互。
  • 暂停
    • Activity依然可见,但无法获取焦点,用户对他操作没有响应。
  • 停止
    • Activity完全不可见,系统内存不足时会摧毁Activity。
  • 摧毁
    • Activity将被清理出内存。

生命周期方法

生命周期方法介绍
onCreate()在Activity创建时调用。
onStart()在Activity即将可见调用。
onResume()在Activity获取焦点时调用。
onPause()当前Activity被其他Activity覆盖或者锁屏时调用。
onStop()在Activity对用户不可见时调用。
onDestroy()在Activity摧毁时调用。
onRestart()在Activity从停止状态再次启动时调用。
  • 第一次运行程序时调用的生命周期方法为:onCreate()->onStart()->onResume()
  • 退出程序时调用的生命周期方法为:onPause()->onStop()->onDestory()

横竖屏切换的生命周期

  • 手机横竖屏切换时,系统根据AndroidManifest.xml文件中ActivityconfigChanges属性值的不同而调用相应的生命周期。
  • 没有设置configChanges属性的值时:
    • 当由竖屏切换横屏是,调用的方法依次onPause()onStop(),onDestory()onCreate()onStart()onResume()的方法。
  • 设置configChanges属性
<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden">...</activity>
  • 打开程序时同时调用onCreate()->onStart()->onResume()方法,但是当进行横竖屏切换时不会再次执行其他生命周期方法。
  • 如果希望某一个界面一直处于竖屏或者横屏状态,不要随意的晃动手机而改变,可以在清单文件中通过设置ActivityscreenOrientation属性完成。
<!-- 竖屏 -->
android:screenOrientation="portrait"
<!-- 横屏 -->
android:screenOrientation="landscape"

Activit的使用

配置Activity

  • 包名处点击右键选择【new】->【java class】->选项,填写java类名,完成创建。在该类中继承Activity
  • AndroidManifest.xml文件的<application></application>标签中配置Acivity
<activity android:name="cn.test.MainActivity">...</activity>
  • 如果Activity所在的包与AndroidManifest.xml文件的<manifest></manifest>标签中通过package属性指定的包名一致,则android:name属性的值可以直接设置为:“.Activity名称”
<activity android:name=".MainActivity">...</activity>

开启和关闭Activity

  • 开启ActivitystartActivity()
    • MainActivityonCreate()方法中启动MyActivity
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
  • 关闭Activity:finish()
finish();

ins:borusushi