Android studio 完善登录注册页面

Android studio 完善登录注册页面

方案设计

实验步骤

  • 注册界面要求包含用户名、密码、重复密码、性别(单选按钮)、学历(spinner)、爱好(复选框)等信息;在布局文件中完成设计。
  • 在注册界面的java文件中,在button的onCreat()中利用部件的自带方法获取部件的文本信息并使用toast输出,实现点击注册按钮,弹出Toast显示用户具体信息。。
  • 为该项目使用shape和selector进行美化。

运行结果


布局文件

RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/background_login"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".RegisterActivity">
    <TextView
        android:id="@+id/signup_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="注册"
        android:textSize="25sp"
        android:layout_margin="25dp"
        android:layout_centerHorizontal="true" />
    <EditText
        android:id="@+id/username_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/signup_msg"
        android:background="@drawable/input_over"
        android:hint="用户名"
        android:singleLine="true" />
    <EditText
        android:id="@+id/pwd_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/username_msg"
        android:background="@drawable/input_over"
        android:hint="密码" />
    <EditText
        android:id="@+id/rpwd_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/pwd_msg"
        android:background="@drawable/login_input"
        android:hint="确认密码" />
    <TextView
        android:id="@+id/sex_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rpwd_msg"
        android:layout_marginTop="8dp"
        android:text="性别"/>
    <RadioGroup
        android:id="@+id/rg_sex"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rpwd_msg"
        android:layout_toRightOf="@+id/sex_msg"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/sex_male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="男" />
        <RadioButton
            android:id="@+id/sex_female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女" />
    </RadioGroup>
    <Spinner
        android:id="@+id/academic_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="学历"
        android:layout_below="@+id/rg_sex"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/academic_text"
        android:entries="@array/academic"
        android:fadeScrollbars="true"
        android:prompt="@string/academic_prompt"
        android:scrollIndicators="right"
        android:spinnerMode="dialog"
        tools:ignore="UnknownId"></Spinner>
    <LinearLayout
        android:id="@+id/hobby_msg"
        android:layout_below="@+id/academic_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="爱好"/>
        <CheckBox
            android:id="@+id/hobby_swim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="游泳"/>
        <CheckBox
            android:id="@+id/hobby_music"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="音乐"/>
        <CheckBox
            android:id="@+id/hobby_book"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="读书"/>
    </LinearLayout>
    <Button
        android:id="@+id/reg_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/hobby_msg"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:background="@drawable/background_button_div"
        android:text="注册" />
    //android:onClick="onRegClick"
</RelativeLayout>

java文件

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.CompoundButton;
public class RegisterActivity extends AppCompatActivity {
    private EditText nameET,pwdET,memoET;
    private Button regBt;
    private RadioButton button1,button2;
    private String input_username, input_pwd,sex;
    private RadioGroup radioGroup1;
    private CheckBox checkBox1;
    private CheckBox checkBox2;
    private CheckBox checkBox3;
    private Spinner spinner;
    Button btn_login;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        spinner = (Spinner) findViewById(R.id.academic_msg);//学历控件
        button1=(RadioButton) findViewById(R.id.sex_male);
        button2=(RadioButton) findViewById(R.id.sex_female);
        checkBox1=(CheckBox)findViewById(R.id.hobby_swim);//爱好控件123
        checkBox2=(CheckBox)findViewById(R.id.hobby_music);
        checkBox3=(CheckBox)findViewById(R.id.hobby_book);
        nameET = (EditText)findViewById(R.id.username_msg);//用户名
        pwdET = (EditText)findViewById(R.id.pwd_msg);//密码
        regBt =(Button)findViewById(R.id.reg_button);//注册
        regBt.setOnClickListener(new Button.OnClickListener(){
             public void onClick(View v)
            {
                String hobby = "";
                if(checkBox1.isChecked()){
                    hobby+=checkBox1.getText().toString();
                }
                if(checkBox2.isChecked()){
                    hobby+=checkBox2.getText().toString();
                }
                if(checkBox3.isChecked()){
                    hobby+=checkBox3.getText().toString();
                }
                String sex = "";
                if(button1.isChecked()){
                    sex+=button1.getText().toString();
                }
                if(button2.isChecked()){
                    sex+=button2.getText().toString();
            }
                Intent intent3=new Intent(); //该“意图”仅仅只传递数据
                String msg = "您注册的用户名是:"+ nameET.getText().toString()+ "\n密码是:"+ pwdET.getText().toString()+ "\n学历是:"+ spinner.getSelectedItem().toString()+ "\n爱好是:"+ hobby+ "\n性别是:"+ sex;
                Toast.makeText(RegisterActivity.this,msg,Toast.LENGTH_LONG).show();
                intent3.putExtra("regName",nameET.getText().toString());
                intent3.putExtra("regPwd",pwdET.getText().toString());
                setResult(RESULT_OK, intent3);
                finish();
            }
        });
    }
}

总结

在一开始的java文件中,button和checkBox组件的自带函数isChecked()没有办法调用,一直在报错;后来经过老师的解答,发现调用函数的语句不能放在方法外,方法外面的只能是声明语句,执行语句会不认识。
经过本次实验发现自己对于安卓组件的认识加深了。对相应的文件夹中的代码块有不同作用和调用方式有了更深刻的认识,而不只是浅尝辄止的看懂就罢。现在的进度是从main->java和res->layout进展到对res->drawable对各种组件的参数调制和res->value->strings.xml的自定义数组的理解和使用。

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android Studio是一款开发Android应用的集成开发环境,它提供了丰富的工具和功能,以方便开发者设计和制作各种Android应用。 要制作一个登录注册页面,首先需要创建一个新项目。在创建项目时,选择一个空的Activity模板,然后点击“Next”按钮。在项目设置中,填写应用的名称和包名,并选择所需的最低Android版本,然后点击“Finish”按钮创建项目。 在项目中,可以通过XML布局文件来设计登录注册页面的外观。使用LinearLayout、RelativeLayout等布局容器,添加EditText、Button等UI组件,并设置它们的属性和样式。可以设置背景图片、文字颜色、字体大小等,以满足设计要求。 接下来,需要编写Java代码来处理登录注册的逻辑。可以在Activity类中,通过findViewById方法获取UI组件,并为按钮设置点击事件监听器。在监听器中,可以获取用户输入的用户名和密码,并进行验证操作。可以使用正则表达式进行输入校验,比如检查输入是否符合用户名和密码的要求。 为了保存用户信息,可以使用SharedPreferences或数据库等方式进行存储。可以将注册信息保存到本地文件或数据库中,以便下次登录时进行验证。同时,为了保证数据的安全性,可以对密码进行加密处理,比如使用MD5或SHA算法进行加密。 为了提高用户体验,可以使用动画效果,比如点击按钮时添加动画效果,或者在登录成功后添加跳转动画等。 最后,进行调试和测试,确保登录注册功能的正常运行。可以使用Android模拟器或真机进行测试。如果发现问题,可以通过查找错误日志或使用调试工具排查问题。 通过以上步骤,就可以完成一个简单的Android Studio注册页面登录页面的制作。当然,根据需求的复杂程度和具体的设计要求,还可以进一步完善功能和界面,以提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值