考点:

  1. Activity之间的跳转
    1. 显式意图
    2. 隐式意图
  2. Activity中的数据传送
    1. Activity01.class传到Activity02.class
    2. 从Activity02.class回传到Activity01.class(数据回传)

一、Activity之间的跳转

  1. Intent intent =new Intent(this , Activity02.class);
  2. startActivity(intent);
  1. //打开浏览器的例子
  2. Button button = (Button) findViewById(R.id.main_btn);
  3. button.setOnClickListener(new View.OnClickListener() {
  4. public void onClick(View v){
  5. Intent intent = new Intent();
  6. intent.setAction("andriod.intent.action.VIEW");
  7. intent.setData(Uri.parse("http//:www.baidu.com"));
  8. startActivity()
  9. }
  10. })

二、Activity中的数据传送

1.从Activity01.class传到Activity02.class

  1. Intent intent = new Intent(this ,Activity02.class);
  2. intent.putExtra("extra_data" ,"Hello,Activity02!");
  3. startActivity(intent);
  1. Intent intent = getIntent(); //通过getIntent()方法获得Intent对象
  2. String data = intent.getStringExtra("extra_data"); //getIntExtra()...

3.5的一个例子

  1. public class MainActivity extends AppCompatActivity{
  2. private EditText et_name;
  3. private EditText et_password;
  4. private Button btn;
  5. protected void onCreate(Bundle savedInstanceState/*保存的实例状态*/){
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. et_name = (EditText) findViewById(R.id.et_name);
  9. et_password = (EditText) findViewById(R.id.et_password);
  10. btn = (Button) findViewById(R.id.btn);
  11. btn.setOnClickListener(new View.OnClickListener(){
  12. public onClick(View v){
  13. passData();
  14. }
  15. })
  16. }
  17. public void passData(){
  18. Intent intent = new Intent(this ,ShowActivity.class); //创建Intent对象
  19. intent.putExtra("name",et_name.getText().toString().trim()); //传递参数给Intent
  20. intent.putExtra("password",et_password.getText().toString().trim());
  21. startActivity(intent);
  22. }
  23. }
  1. public class ShowActivity extends AppCompatActivity{
  2. private TextView t_name;
  3. private TextView t_password;
  4. protected onCreate(Bundle savedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.Activity_show);
  7. Intent intent = getIntent();
  8. String g_name = intent.getStringExtra("name");
  9. String g_password = intent.getStringExtra("password");
  10. }
  11. }

2.//数据回传//从Activity02.class回传到Activity01.class

startActivityForResult(Intent intent ,int requestCode);//回传数据、启动第2个Activity;请求码用来判断数据来源
setResult(int resultCode ,Intent data); //回传处理结果,处理成功为1,失败为0;向第1个Activity中传递数据
onActivityResult(int requestCode ,int resultCode ,Intent data);//第1个Activity用来获得回传的数据

  1. Intent intent = new intent(this ,Activity02.class);
  2. startActivityForResult(intent,1);
  3. //protected的方法
  4. protected void onActivityResult(int requestCode, int resultCode, Intent data){
  5. super.onActivityResult(requestCode, resultCode, data);
  6. if(requestCode == 1){
  7. if(resultCode == 1){
  8. String extra = data.getStringExtra("extra");
  9. }
  10. }
  11. }
  1. Intent intent = new Intent();
  2. intent.putExtra("extra","Hello,Activity01!");
  3. setResult(1,intent);