1.Activity是Android的基本组件,主要功能是为用户提供可视化的界面。
2.Activity的4中状态:1.Running 用户可进行操作的 2. Paused 用户可以看到但不能进行操作 3.Stoped 不可见但保存了用户的各种信息,只用当memory不足时才会杀死这个Activity。
3.Activity的生命周期:3种:1.前台生命周期:onResume()到onPaused(),2.可视生命周期;onStart()到onStop()3.完整生命周期:onCreate()到onDestroy()
4.多个Activity的跳转的步骤:(以MainActivity和DetailActivity为例)
MainActivity的跳转按钮,调到DetailActivity上面
1).在res/layout下 编写 activity_main.xml,再在该目录下创建detail.xml
2).在AndroidManifest.xml中添加下列的内容:在 <application></appliction>中添加
<activity android:name="com.example.activity1.DetailActivity" //包名
android:label="详细" //Detail的名称
android:icon="@drawable/ic_launcher"
></activity>
3).编写MainActivity:
Button button = (Button)findViewById(R.id.button);//跳转按钮
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Intent是Activity交流的管道
MainActivity.this.startActivity(new Intent(MainActivity.this,DetailActivity.class));//启动
Activity,只有一个Activity的话,配置好AndroidManifest.xml会自动跳转,多个的话启动必须要加上这个方法
}
});
//至此就会跳转到DetailActivity中去
5.多个Activity传值的问题:(4拓展)
MainActivity中多个注册信息提交到RegistActivity中并显示出来:
按4的方法部署好后:
MainActivity:从组件中接收数据: ((EditView)findViewById(R.id.user)).getText().toString();//用户名
准备"管道": Intent intent = new Intent(MainActivity.this,RegistActivity.class);
准备“包裹”: Bundle bundle= new Bundle();
//现将数据放到包裹中去
bundle.putCharSequence("user",user);
把"包裹"放到"管道"中去:intent.putExtras(bundle);
RegistActivity:接收数据:
Intent intent = getIntent();
Bundle bundle = intent.getExtra();
String user = bundle.getString("user");//接收的数据
总结:多个Activity交流: 发方: Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putCharSequence("string",object);
收方: Intent intent = getIntent();
Bundle bundle=intent.getExtra();
String xxx = bundle.getString("xxx");