关闭

something about Android activity

193人阅读 评论(0) 收藏 举报
分类:

Activiy的注意事项

-> 生命周期:

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

-> @Override:

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

-> activity非正常死亡:

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

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

@Override
	public 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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32059次
    • 积分:619
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:11篇
    • 译文:0篇
    • 评论:7条