从一个屏幕跳到另一个屏幕,一个activity跳转到另一个activity,Intent类用于组件之间传递数据和跳转,组件包括不仅activity。

package com.sxt.day04_01;

import com.sxt.day04_01.entity.User;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class LoginActivity extends Activity {

    EditText metId,metPwd;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        initView();
        setListener();
    }

    private void setListener() {
        setExitClickListener();//设置退出按钮的监听器
        setLoginClickListener();//设置登陆按钮的监听器
    }

    //设置登陆按钮的监听器
    private void setLoginClickListener() {
        findViewById(R.id.btnLogin).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                String id=metId.getText().toString();
                if(TextUtils.isEmpty(id)){
                    metId.setError("编号不能为空");
                    return ;
                }
                String pwd=metPwd.getText().toString();
                if(TextUtils.isEmpty(pwd)){
                    metPwd.setError("密码不能为空");
                    return ;
                }
                Intent intent=new Intent(LoginActivity.this, MainActivity.class);
                //降低了2个Activity的耦合度(紧密程度),java中2个类之间的关系要少,修改一个类则另一个类影响很少,
                intent.putExtra("id", id);//健必须是string,值可以是任意类型
                intent.putExtra("password", pwd);
                User user=new User(Integer.parseInt(id), pwd);
                intent.putExtra("user", user);//user要实现Serializable接口
                startActivity(intent);
            }
        });
    }

    //设置退出按钮的监听器
    private void setExitClickListener() {
        findViewById(R.id.btnExit).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    private void initView() {
        metId=(EditText) findViewById(R.id.etId);//new出了对象
        metPwd=(EditText) findViewById(R.id.etPwd);
    }

}
package com.sxt.day04_01;

import com.sxt.day04_01.entity.User;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent=getIntent();//获取上一个activity传递的intent
        String id=intent.getStringExtra("id");//获取string类型的数据,getIntExtra获取int类型数据
        String pwd=intent.getStringExtra("password");
        User user=(User) intent.getSerializableExtra("user");
        Log.i("main","id="+id+",password:"+pwd);
        Log.i("main",user.toString());
    }

}