something about Android activity

来源:互联网 发布:布点算法 编辑:程序博客网 时间:2024/06/06 02:32

Activiy的注意事项

-> 生命周期:

包含以下7个状态:onCreate, onStart, onResume, onPause, onStop, onDestroy, onRestart.

-> @Override:

重写方法时最好写上该标识,可以防止由于写错方法名称而引起的编译器无法辨别的错误。

-> activity非正常死亡:

通过重写onSaveInstanceState(Bundle savedInstanceState)方法来保存用户数据。当activity被系统杀死然后重新打开的时候,调用的Oncreate方法中的Bundle参数就不会为空,而是记录下了activity死前的所有数据(需要程序员自己添加)

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (savedInstanceState != null){String key = savedInstanceState.getString("TEST_KEY");}}

@Overridepublic void onSaveInstanceState(Bundle outState){super.onSaveInstanceState(outState);/** * 保存用户数据 */outState.putString("TEST_KEY", "sherlock");}
-> Intent 和 Bundle:
Intent,可以理解为“意图”:我们可以通过Intent告诉各个组件你的意图。

Bundle:用于存放用户的数据。

Intent是桥梁。而Bundle是运输车,它能在组件之间运载东西给对方。

//Bundle通过“键-值对”的方式存储数据:Bundle bundle = new Bundle();bundle.putString("TEST_KEY","shelock");//通常来说,Bundle由Intent携带:intent.putExtra("EXTRA_BUNDLE",bundle);//若想要从一个activitiy跳到另一个activity,Intent便可以发挥作用了:Intent intent = new Intent();intent.setClass(this,NewActivity.class);//等同于//Intent intent = new Intent(this,NewActivity.class);startActivity(intent);


0 0