android实现简易登录注册界面及逻辑设计
程序员文章站
2022-06-27 18:38:13
本文实例为大家分享了android实现登录注册界面及逻辑设计,供大家参考,具体内容如下1. 第一步 新建文件(相信各位码农一定会这一步)略。2. 第二步 登录注册界面设计登录界面主要包括几大控件,如登...
本文实例为大家分享了android实现登录注册界面及逻辑设计,供大家参考,具体内容如下
1. 第一步 新建文件(相信各位码农一定会这一步)略。
2. 第二步 登录注册界面设计
登录界面主要包括几大控件,如登录、注册按钮,账号(button)、密码输入框(editext)、复选框等。可以利用shape参数对控件进行美化。界面设计可以线性布局嵌套使用,这样可以很好的对控件调整,美化界面。
注册界面主要包括editext、radio button、button、checkbox等,与登录界面相同,可以利用shape参数改变编辑框的颜色和边角,使得界面简洁而美化。
效果如下:
3. 第三步 注册界面逻辑设计
注册界面的逻辑功能为将注册的信息返回给登录界面(以及存入数据库),逻辑设计如下:
public class registeractivity extends appcompatactivity { private string sex, infor; @override protected void oncreate(bundle saveinstancestate) { super.oncreate(saveinstancestate); setcontentview(r.layout.activity_main2); /*获取控件的id*/ radiogroup gender = (radiogroup) findviewbyid(r.id.group); final radiobutton male = (radiobutton) findviewbyid(r.id.radiobutton); final radiobutton female = (radiobutton) findviewbyid(r.id.radiobutton2); final spinner spinner = (spinner) findviewbyid(r.id.spinner); final checkbox c1 = (checkbox) findviewbyid(r.id.checkbox); final checkbox c2 = (checkbox) findviewbyid(r.id.checkbox2); final checkbox c3 = (checkbox) findviewbyid(r.id.checkbox3); final checkbox c4 = (checkbox) findviewbyid(r.id.checkbox4); button button1 = (button) findviewbyid(r.id.but); /*获取checkbox里勾选的性别*/ gender.setoncheckedchangelistener(new radiogroup.oncheckedchangelistener() { @override public void oncheckedchanged(radiogroup group, int checkedid) { if (checkedid == male.getid()) { sex = male.gettext().tostring(); } else { sex = female.gettext().tostring(); } } }); /*设置注册按钮的事件监听器,实现从注册界面到登录界面的跳转*/ button buttton1 = (button) findviewbyid(r.id.but); button1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { /*将checkbox里的选中的值赋给hobby*/ string hobby = " "; if (c1.ischecked()) { hobby += c1.gettext().tostring(); } if (c2.ischecked()) { hobby += c2.gettext().tostring(); } if (c3.ischecked()) { hobby += c3.gettext().tostring(); } if (c4.ischecked()) { hobby += c4.gettext().tostring(); } /*将spinner里的值赋给spin,将所有的信息法如infor中*/ string spin = spinner.getselecteditem().tostring(); string site1 = ((edittext) findviewbyid(r.id.username1)).gettext().tostring(); string site2 = ((edittext) findviewbyid(r.id.password1)).gettext().tostring(); string site3 = ((edittext) findviewbyid(r.id.password2)).gettext().tostring(); infor = "用户:" + site1 + "\n性别:" + sex + "\n学历:" + spin + "\n爱好:" + hobby; /*判断编辑框内容是否为空*/ if (!"".equals(site1) && !"".equals(site2) && !"".equals(site3)) { toast.maketext(main2activity.this, infor, toast.length_long).show(); if (site2.equals(site3)) { intent intent = new intent(registeractivity.this, mainactivity.class); /*将注册的信息打包,通过intent传给登录程序*/ bundle bundle = new bundle(); bundle.putcharsequence("site1", site1); bundle.putcharsequence("site2", site2); bundle.putcharsequence("site3", site3); bundle.putcharsequence("infor", infor); intent.putextras(bundle); setresult(0x11, intent); finish(); } else { toast.maketext(main2activity.this, "请确认密码一致", toast.length_short).show(); } } else { toast.maketext(main2activity.this, "请将信息填写完整", toast.length_short).show(); } } }); } }
4. 第四步 登录界面逻辑设计
登录面的逻辑功能主要是获取注册界面返回的信息并填入编辑框,和将账号密码进行匹配,实现登录功能;
public class mainactivity extends appcompatactivity { /*将注册界面返回的账号密码填入编辑框*/ @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); if (requestcode == 0x11 && resultcode == 0x11) { bundle bundle = data.getextras(); string username = bundle.getstring("site1"); string password = bundle.getstring("site2"); string information=bundle.getstring("infor"); edittext et_username = (edittext) findviewbyid(r.id.username); edittext et_password = (edittext) findviewbyid(r.id.password); et_username.settext(username); et_password.settext(password); } } @override protected void oncreate(bundle saveinstancestate) { super.oncreate(saveinstancestate); setcontentview(r.layout.activity_main); button login = (button) findviewbyid(r.id.login); final edittext et_username = (edittext) findviewbyid(r.id.username); final edittext et_password = (edittext) findviewbyid(r.id.password); button btn = (button) findviewbyid(r.id.btn); /*给登录按钮设置单击事件监听器*/ login.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { string inusername = et_username.gettext().tostring(); string inpassword = et_password.gettext().tostring(); if (inusername != null && inpassword != null) { if (inusername.equals("admin") && inpassword.equals("admin")){ intent intent = new intent(mainactivity.this, successactivity.class); startactivity(intent); } else { new alertdialog.builder(mainactivity.this).settitle("登陆信息有误").setmessage("请输入正确的账户名与密码") .setpositivebutton("确定", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialoginterface, int i) { } }).show(); } } else { toast.maketext(mainactivity.this, "请输入用户名和密码", toast.length_short).show(); } } }); /*为注册按钮设置单机事件监听器*/ btn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { intent intent = new intent(mainactivity.this, registeractivity.class); startactivityforresult(intent, 0x11); } }); } }
*5. 第五步 完善工作
具体的简易登录注册逻辑代码完成,接下来就可以为其设计启动界面和登录成功界面,注意:activity组件需要在mainfest文件里注册。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。