一、 体验生命周期

  • xml中TextView用于显示一行文字
  • 加载布局的函数setContentView()
  • 代码requestWindowFeature(Window.FEATURE_NO_TITLE)用于将活动的标题隐藏。
  • 建立layout.xml,然后注册到一个新建的活动类中,最后还得把活动类在AndroidManifest.xml注册一下
<activity android:name=".NormalActivity">
</activity>
<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog" >
</activity>
  • 知识点:我们的name使用一个.开头既可以避免写包名.

  • 知识点:DialogActivity活动有一个theme属性,里面的值是系统内置属性,当然我们也可以自定义。

  • 主layout文件定义两个按钮,分别用来触发这个两个活动。

  • 主活动中也注册这两个按钮的点击事件。

  • findViewById()函数用于绑定按钮触发后将会跳转到哪个layout

  • 设置两个监听器用于触发点击后的活动逻辑,有一个知识点就是使用了显示intent用于传递参数。

  • 最后主活动中定义onStart()\onResume()\onPause()\onStop()\onDestroy()\onRestart()方法。

  • 这个APP依次的活动是onCreat(),onStart(),onResume()
    28.1

  • 点击第一个事件,log依次为,onPause(),onStop()
    28.2

  • 按下back键之后,Log依次为onRestart(),onstart(),onResume,不会执行onCreat(),

  • 再点击第二个按钮,log依次为onPause(),点击一下back键,log为onResume()
    28.3

  • 最后退出,log出现了onPause(),onStop(),onDestroy()

二、不想活动被回收

  • 提供一个onSaveInstanceState()方法,
@Override
protected void onSavedInstanceState(Bundle outState){
  super.onSaveInstanceState(outState);
  String tempData - "Something you just typed";
  outState.putString("data_key",tempData);
}
  • 该函数携带一个Bundle类型参数,提供了一些列方法来保存数据,putString,putInt等

二、源码:

posted on 2020-07-29 00:09  心悦君兮君不知-睿  阅读(198)  评论(0编辑  收藏  举报