一、分析Activity的生命周期变化
- 使用右滑手势(返回键)退出应用时,先后进入
onPause(),onStop(),onDestroy()
三个状态,应用被摧毁。然后进入应用时先后进入onCreate(),onStart(),onResume()
三个状态。应用重新进入运行状态。 - 在记录的时候屏幕熄灭,先后进入
onPause(),onStop(),
Activity进入后台停止运行重新点亮屏后,先后进入onRestart(),onStart(),onResume()
状态,Activity重新开始运行。 - home键退出应用时,应用先后进入
onPause(),onStop()
状态,应用进入后台停止运行重新进入应用,先后进入onRestart(),onStart(),onResume()
状态,应用重新开始运行,与第二条记录的状态一致。 - home键退出后,应用先后进入
onPause(),onStop()
状态,应用进入后台停止运行,进入设置切换字体后进入应用,分别进入onDestroy(),onCreate(),onStart(),onResume()
状态,应用继续运行。 - 手机进行旋转屏幕时,会先进入
onPause(),onStop(),onDestroy()
,然后进onCreate(),onStart(), onResume()
重新开始运行。
总结:通过这次简单的测试,我更加深刻的了解了Activity的生命周期变化,前三种情况都在自己的预料之中,第四种进入destroy状态查了一下资料知道了原因。第四种:修改字体后,应用切换到前台时,系统会发送一个通知给应用,应用会通过异常的方式走onDestroy()…这几个状态来更新配置。第五种:这个动作的目的是担心Activity的布局和资源不适合横竖屏切换,重新开启应用使得程序能够自己做一个适配。
二、AndroidManifest配置theme改变UI效果
- 通过修改<application标签中的android:theme属性为所有的Activity设置属性。
- 通过修改<activity标签中的android:theme属性为当前的Activity设置属性。
测试过程中出现异常:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme
- 原因:
Activity
继承自AppCompactActivity
,所以只能使用Theme.AppCompat
下的主题
解决方法:- 将
MainActivity
改为继承Activity
,但是这样容易出现一些兼容性的问题。 - 使用
Theme.AppCompat
下的主题,或者自定义主题,然后继承Theme.AppCompat
下的主题。
- 将
三、界面包括Button,EditText,TextView
四、输入文字,显示在TextView上
学会了给EditText添加简单的监听器,从而进行各种操作
五、点击Button弹出对话框
通过AlertDialog进行简单弹框的绘制,弹框类型有很多。
六、Button跳转到其他Activity
//直接指定要跳转的Activity,显式跳转
Intent intent = new Intent(MainActivity.this, NextActivity.class);
//给intent指定Action,然后让系统自己去选择相应的Activity
Intent intent = new Intent("Action");
//传入数据,键值对形式
intent.putxxx(a,b);
//执行跳转
startActivity(intent);