Android 使用 intent 实现简单登陆页面

前言

第一个 Android 程序,应该有些纪念的意义吧~

主页面布局

给 Button 添加响应函数:android:onClick="login"

public void login(View view)
{
    String name;
    String password;

    EditText getname = (EditText)findViewById(R.id.editText);
    EditText getpassword = (EditText)findViewById(R.id.editText2);

    name = String.valueOf(getname.getText());
    password = String.valueOf(getpassword.getText());

    if (name.equals("pengzhendong")&&password.equals("950311")) {
        Intent intent = new Intent(this, ResultActivity.class) ;
        intent.putExtra("Name", name);
        intent.putExtra("Password", password);

        startActivity(intent) ;
    } else {
        Toast show_msg = Toast.makeText(getApplicationContext(), "用户名或者密码错误!", Toast.LENGTH_LONG);
        show_msg.setGravity(Gravity.CENTER, 0, 0);
        show_msg.show();
    }
}

通过 Intent 从当前页面跳转到 ResultActivity 页面,为了在登陆后的页面显示用户名和密码,通过 intent.putExtra() 将变量作为数组传过去。

登陆后页面

public class ResultActivity extends AppCompatActivity {

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

        String name = this.getIntent().getStringExtra("Name");
        String password = this.getIntent().getStringExtra("Password");

        TextView result = (TextView)findViewById(R.id.textView3);
        result.setText("欢迎" + name + ", 你的密码是:" + password);
    }
}

通过getIntent().getStringExtra() 获取传过来的用户名和密码。

Bundle

如果要传递的数据比较多的话可以考虑用 Bundle 来传值:

Bundle bundle = new Bundle();  
bundle.putString("key", "value");  
intent.putExtras(bundle); 

获取:

Bundle bundle = this.getIntent().getExtras();  
value = bundle.getString("key");
posted @ 2015-10-26 01:12  百學須先立志  阅读(830)  评论(0编辑  收藏  举报