• 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");
  • 相关阅读:
    Python魔法函数
    Python变量的本质与intern机制
    Python中IO概述
    自用官方文档索引(日常更新)
    关于 mysql json类型参数的查询过滤
    由于升级iOS版本导致证书丢失等一系列问题汇总
    Android系统获取手机型号和系统版本号,以及其他配置信息
    Android Debug证书过期的最佳解决方案
    关于编写高德导航Demo的手记(一)
    iOS6.0以上版本,关于NSDateFormatter的问题
  • 原文地址:https://www.cnblogs.com/pengzhendong/p/4910138.html
Copyright © 2020-2023  润新知