学习android已经有2个月了,想写一点总结性的东西,当做笔记,以便查阅,从android的4大组件之一的Activity开始吧。
Activity是android程序中最基本的模块,它是为用户操作而展示的可视化用户界面。
Activity有4种状态:1、Running状态,一个Activity启动入栈之后,它在屏幕的最前端,处于栈的最顶端,此时它为可见并可和用户交互的激活状态;2、Pause状态,当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态,此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但是它已经失去焦点,故不可与用户交互;3、Stopped状态,当Activity不可见时,Activity处于Stopped状态。4、Killed状态,Activity被杀掉以后或者被启动以前,处于Killed状态。这时Activity已经从Activity堆栈中移除。
Activity的生命周期
矩形表示的是可以回调的方法,带颜色的椭圆表示的是Activity的重要状态,在一个Activity的生命周期中有以下方法会被系统回调。
1)onCreate()方法:在创建Activity时被回调,用于对该Activity的初始化。
2)onStart()方法:启动Activity时被回调。
3)onRestart()方法:重新启动Activity时被回调。
4)onPause()方法:暂停Activity时被回调,在该方法中,通常用于持久保持数据。
5)onResume()方法:当Activity由于暂停状态恢复为活动状态时调用。
6)onStop()方法:停止Activity时被回调。
7)onDestroy()方法:销毁Activity时被回调。
使用Bundle在多个Activity之间交换数据,例如用户注册界面和注册成功用户信息显示界面,
用户注册界面需要将user、pwd和email传递给注册成功界面:
Intent intent = new Intent(MainActivity.this,RegisterActivity.class);
Bundle bundle = new Bundle(); //创建并实例化一个Bundle对象
bundle.putCharSequence("user",user);
bundle.putCharSequence("pwd",pwd);
bundle.putCharSequence("email",email);
intent.putExtras(bundle); //将Bundle对象添加到Intent对象中
startActivity(intent);
注册成功界面获取来自用户注册界面的数据:
Intent intent = getIntent(); //获取Intent对象
Bundle bundle = intent.getExtras();
TextView user = (TextView) findViewById(R,id.user);
user.setText("用户名:"+bundle.getString("user"));
pwd.setText("密码:"+bundle.getString("pwd"));
email.setText(email:"+bundle.getString("email"));