Android实现用户登录

(这里实现登录只判断用户名是否正确,密码原理和用户名完全相同,类比即可)

Android代码类似java

首先新建一个Android project(将自动生成很多文件夹。src中是所有代码,res中的layout中是所有布局代码)–>找到layout–>点击From Widges中的TextView拖动,Text Field的plain text,From Widges中的Button拖动到手机模拟框中想要的位置

接下来修改添加的这些组件的信息(如名称)
修改textview名称为“用户名”:
在手机模拟框中双击textview,页面跳转至textview的代码,找到android:text="TextView"把TextView改为用户名
同理修改Button名称为“登录”

页面布局完成,接下来实现判断登录的功能

与在java中相同,当需要对用户的行为进行相应响应时,需要增加监听器,要实现登录判断,需要在点击“登录”按钮时
判断用户名密码是否正确,即给登录按钮增加一个监听器

首先在res新建class,用来新建一个登录按钮监听器longinlisener
监听器longinlisener实现接口OnClickListener并实现相应的方法onClick
代码:

//实现接口OnClickLisener(监听类)
public class longinlisener implements OnClickListener{
	//用户名输入框内容
	EditText nameInput;
	//activity
	Activity main;

	//构造函数,传入用户名和activity
	public longinlisener(EditText nameInput, Activity main) {
		super();
		this.nameInput = nameInput;
		this.main = main;
	}


    //重写onclick方法,点击时获取输入框用户姓名,判断是否成果登录
	public void onClick(View v){
		//获取用户名
		String name = nameInput.getText().toString();
		//判断
		if(name.equals("admin")){
			//第一个: Activity
			//第二个 : 显示的内容
			//第三个:时长
			Toast.makeText(main, "登陆成功", Toast.LENGTH_LONG ).show();
			
			Intent intent = new Intent();
        	//设置需要跳转的界面 参数1:当前Activity对象, 参数2:需要跳转的Activity类名.class
        	intent.setClass(main, DrawFrame.class);
        	//从当前界面进行跳转
        	main.startActivity(intent);		
		}
		else{
			Toast.makeText(main, "用户名错误", Toast.LENGTH_LONG ).show();
		}
	}
}

然后回到主页面代码给按钮加上监听器
代码:


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //当前MainActivity对象
        final Activity main = MainActivity.this;
        //找出登录按钮
        Button loginBtn = (Button)this.findViewById(R.id.Login_Button);
        //找出用户名输入条
        EditText nameInput = (EditText)this.findViewById(R.id.nameInput);
        //创建监听器,监听用户名输入
        longinlisener loginL = new longinlisener(nameInput, this);
        //登录按钮添加监听器
        loginBtn.setOnClickListener(loginL); 
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

附上页面布局图:

在这里插入图片描述
代码完整,类似用户名可增设密码检验,还可以在监听器中改变要检验的其他信息,下一篇将实现页面跳转

仍在入门,文章如有错误,欢迎指出

扫描二维码关注公众号,回复: 5383015 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_40315080/article/details/86515324