欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android实现简易登录注册界面及逻辑设计

程序员文章站 2022-06-27 18:38:13
本文实例为大家分享了android实现登录注册界面及逻辑设计,供大家参考,具体内容如下1. 第一步 新建文件(相信各位码农一定会这一步)略。2. 第二步 登录注册界面设计登录界面主要包括几大控件,如登...

本文实例为大家分享了android实现登录注册界面及逻辑设计,供大家参考,具体内容如下

1. 第一步 新建文件(相信各位码农一定会这一步)略。

2. 第二步 登录注册界面设计

登录界面主要包括几大控件,如登录、注册按钮,账号(button)、密码输入框(editext)、复选框等。可以利用shape参数对控件进行美化。界面设计可以线性布局嵌套使用,这样可以很好的对控件调整,美化界面。

注册界面主要包括editext、radio button、button、checkbox等,与登录界面相同,可以利用shape参数改变编辑框的颜色和边角,使得界面简洁而美化。

效果如下:

android实现简易登录注册界面及逻辑设计

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文件里注册。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。