Android 开发入门篇 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器


登陆页面

img

app/src/main/res/layout/activity_main.xml (该目录是Android Studio生成的目录/与eclipse,命令行生成的文件略有不同)。 找到该文件我们可以看到布局是个简单的线性布局LinearLayout

总体看来整个布局分为6行:

第1行: 我们让ImageView宽度充满父组件*match_parent*

第2行:Editext的宽度也是充满父组件 , 不过我们要在左右空出10dp的空白*layout_marginLeft/Right="10dp" * 

第4行:是一个用于跳转的注册页面的TextView,宽度充满父组件 , 让显示内容居右*gravity="right" *

第3行,第5行,第6行:都是普通属性不多说

注册页面与登录页面类似

登陆页面主要逻辑:

MainActivity.class

        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String username_text = username.getText().toString();
                //String passwd_text = password.getText().toString();
                //判断输入是否为空
                if(username_text.equals("")||(password.getText().toString()).equals("")){
                    Toast.makeText(MainActivity.this, "输入不能为空", Toast.LENGTH_SHORT).show();
                }else{
                    //判断输入信息是否正确
                    String pass_a = data.get("passwd").toString();
                    String pass_b = null;
                    //如果记住密码,被选中,获取到的是加密后的密码。否则要为输入内容加密,与密文对比
                    if(rempass.isChecked()){
                        pass_b = password.getText().toString();
                    }else{
                       pass_b = Md5Util.getMD5(password.getText().toString());
                    }

                    String name_a = data.get("username").toString();
                    //如果加密后的密文相同,则可以登录。(如果觉得加密一次容易破解,那就加密100次吧!将密文再加密)
                    if(pass_a.equals(pass_b)&&name_a.equals(username_text)){
                        Intent intent = new Intent(MainActivity.this , FirstPage.class);
                        startActivity(intent);
                    }else{
                        Toast.makeText(MainActivity.this , "密码不正确" , Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
    /*onStart是生命周期中再次进入时会调用的方法。
    在这里设置用户输入的内容自动填写的功能,当用户再次进入时用户名密码是填完的*/
    @Override
    protected void onStart() {
        super.onStart();
        username.setText(data.get("username"));
        password.setText(data.get("passwd"));
    }
}

注册页面逻辑:

Regiest.java

改逻辑与登陆逻辑类似,只是在两次密码相同后存入的密码数据是加密的。 首页页面逻辑很简单一共两个按钮一个textView,就不贴出来了。
有什么属性看不懂可以私信我!