Activity生命周期,intent-filter,

1.页面布局
2.实现Activity的功能
1.定义所有需要操作的试图对象并初始化
2.给视图设置监听
3.在回调方法中实现逻辑
3.实现一般启动
1.定义好界面二
<1.布局
<2.定义Activity类
<3.配置
<4.重写onCreate(),并加载布局
2.启动界面二
<1.创建Intent对象(显式)
<2.通过Intent携带额外数据
<3.启动Activity
<4.得到Intent对象
<5.读取额外数据
<6.显示到EditText中
4.实现一般返回
1.在显示Second界面是,MainActivity界面其实还在,只是被盖住了
2.关闭当前页面:finish();



1)界面从"死亡"-->"运行"
创建对象-->onCreate()-->onStart()-->onResume()-->可见可操作(运行状态)


2)界面从"运行"-->"死亡"
onPause()-->onStop()-->onDestory()-->Activity对象成为垃圾对象(死亡状态)

3)界面从"运行"-->"停止"
onPause()-->onStop()-->不可见但存在

4)界面从"停止"-->"运行"
onRestart-->onStart()-->onResume()

5)界面从"运行"-->"暂停"
onPuse()

6)界面从"暂停"-->"运行"

onResume()



intent-filter      意图过滤器


public class MainActivity extends Activity implements OnClickListener {
private EditText et_main_msg;
private Button btn_main_start1;
private Button btn_main_start2;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


//初始化视图对象
et_main_msg = (EditText) findViewById(R.id.et_main_msg);
btn_main_start1 = (Button) findViewById(R.id.btn_main_start1);
btn_main_start2 = (Button) findViewById(R.id.btn_main_start2);
//设置点击监听
btn_main_start1.setOnClickListener(this);
btn_main_start2.setOnClickListener(this);
}


@Override
public void onClick(View v) {//v是发生这个事件的(用户操作的)视图对象
// switch (v.getId()) {
// case R.id.btn_main_start1:
// Toast.makeText(this, "一般启动", Toast.LENGTH_SHORT).show();
// break;
// case R.id.btn_main_start2:
// Toast.makeText(this, "带回调启动", Toast.LENGTH_SHORT).show();
// break;
// }
if (v == btn_main_start1) {
// Toast.makeText(this, "一般启动", Toast.LENGTH_SHORT).show();
// 创建Intent对象(显示)
Intent intent = new Intent(this,SecondActivity.class);
// 通过Intent携带额外数据
String message = et_main_msg.getText().toString().trim();
intent.putExtra("MSG", message);
// 启动Activity
startActivity(intent);
}else if(v == btn_main_start2){
// Toast.makeText(this, "带回调启动", Toast.LENGTH_SHORT).show();
// 创建Intent对象(显示)
Intent intent = new Intent(this,SecondActivity.class);
// 通过Intent携带额外数据
String message = et_main_msg.getText().toString().trim();
intent.putExtra("MSG", message);
// 带回调启动Activity
int requestCode = 2;
startActivityForResult(intent, requestCode);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//判断Code
if (requestCode == 2 && resultCode == 3) {
//从data中取出数据
String result = data.getStringExtra("RESULT");
//提示
et_main_msg.setText(result);
}
}

}



public class SecondActivity extends Activity{
private EditText et_second_msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity);


et_second_msg = (EditText) findViewById(R.id.et_second_msg);
// 得到Intent对象
Intent intent = getIntent();
// 读取额外数据
String message = intent.getStringExtra("MSG");
// 显示到EditText中
et_second_msg.setText(message);
}
public void back1(View v) {
//关闭当前页面
finish();
}
public void back2(View v){
/*保存一个结果*/
int resultCode = 3;
// 准备一个带额外数据的Intent对象
Intent data = new Intent();
String result = et_second_msg.getText().toString().trim();
data.putExtra("RESULT", result);
//设置结果
setResult(resultCode,data);
//关闭当前界面
finish();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值