AndroidStudio实现用户登录注册界面代码(一)

您所在的位置:网站首页 androidstudio注册界面 AndroidStudio实现用户登录注册界面代码(一)

AndroidStudio实现用户登录注册界面代码(一)

2024-06-14 17:40| 来源: 网络整理| 查看: 265

首先使用Android Studio的布局文件xml实现界面设计 第一步:新建工程项目MyAPP

选择Empty Activity 点击“下一步”

1、在res/layout/activity_main.xml中编写布局内容:主界面布局 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687                                                                                                         2、登录界面布局代码:

在res/layout/activity_first.xml中编写登录布局内容。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849            

3、实现登录逻辑功能代码:

FirstActivity.java具体代码如下:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121package com.example.myapplication; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class FirstActivity extends AppCompatActivity {     private Button btn_login;//登录按钮     private String uerName,password,spPsw;//获取的用户名,密码,加密密码     private EditText user_input,password_input;//编辑框     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_first); //设置此界面为竖屏         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);         init();     }     private void init() {         btn_login=findViewById(R.id.btn_login);         user_input=findViewById(R.id.user_input);         password_input=findViewById(R.id.password_input);         btn_login.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 //开始登录,获取用户名和密码 getText().toString().trim();                 uerName=user_input.getText().toString().trim();                 password=password_input.getText().toString().trim();                 //对当前用户输入的密码进行MD5加密再进行比对判断, MD5Utils.md5( ); psw 进行加密判断是否一致                 String md5Psw= MD5Utils.md5(password);                 // md5Psw ; spPsw 为 根据从SharedPreferences中用户名读取密码                 // 定义方法 readPsw为了读取用户名,得到密码                 spPsw=readPsw(uerName);                 // TextUtils.isEmpty                 if(TextUtils.isEmpty(uerName)){                     Toast.makeText(FirstActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show();                     return;                 }else if(TextUtils.isEmpty(password)){                     Toast.makeText(FirstActivity.this, "请输入密码", Toast.LENGTH_SHORT).show();                     return;                     // md5Psw.equals(); 判断,输入的密码加密后,是否与保存在SharedPreferences中一致                 }else if(md5Psw.equals(spPsw)){                     //一致登录成功                     Toast.makeText(FirstActivity.this, "登录成功", Toast.LENGTH_SHORT).show();                     //保存登录状态,在界面保存登录的用户名 定义个方法 saveLoginStatus boolean 状态 , userName 用户名;                     saveLoginStatus(true, uerName);                     //登录成功后关闭此页面进入主页                     Intent data=new Intent();                     //datad.putExtra( ); name , value ;                     data.putExtra("isLogin",true);                     //RESULT_OK为Activity系统常量,状态码为-1                     // 表示此页面下的内容操作成功将data返回到上一页面,如果是用back返回过去的则不存在用setResult传递data值                     setResult(RESULT_OK,data);                     //销毁登录界面                     FirstActivity.this.finish();                     //跳转到主界面,登录成功的状态传递到 MainActivity 中                     startActivity(new Intent(FirstActivity.this, UserActivity.class));                     return;                 }else if((spPsw!=null&&!TextUtils.isEmpty(spPsw)&&!md5Psw.equals(spPsw))){                     Toast.makeText(FirstActivity.this, "输入的用户名和密码不一致", Toast.LENGTH_SHORT).show();                     return;                 }else{                     Toast.makeText(FirstActivity.this, "此用户名不存在", Toast.LENGTH_SHORT).show();                 }             }         });     }     /**      *从SharedPreferences中根据用户名读取密码      */     private String readPsw(String userName){         //getSharedPreferences("loginInfo",MODE_PRIVATE);         //"loginInfo",mode_private; MODE_PRIVATE表示可以继续写入         SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE);         //sp.getString() userName, "";         return sp.getString(userName , "");     }     /**      *保存登录状态和登录用户名到SharedPreferences中      */     private void saveLoginStatus(boolean status,String userName){         //saveLoginStatus(true, userName);         //loginInfo表示文件名  SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE);         SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE);         //获取编辑器         SharedPreferences.Editor editor=sp.edit();         //存入boolean类型的登录状态         editor.putBoolean("isLogin", status);         //存入登录状态时的用户名         editor.putString("loginUserName", userName);         //提交修改         editor.commit();     }         protected void onActivityResult(int requestCode, int resultCode, Intent data) {         //super.onActivityResult(requestCode, resultCode, data);         super.onActivityResult(requestCode, resultCode, data);         if(data!=null){             //是获取注册界面回传过来的用户名             // getExtra().getString("***");             String userName=data.getStringExtra("userName");             if(!TextUtils.isEmpty(userName)){                 //设置用户名到 et_user_name 控件                 user_input.setText(userName);                 //et_user_name控件的setSelection()方法来设置光标位置                 user_input.setSelection(userName.length());             }         }     } } 4、布局需要用到的资源:

登录注册界面中的“请输入用户名和密码”的ExitText实现圆角弧度,显得比较好看,可以在res/drawable下新建sharp.xml布局文件中设置你想要的颜色等。我自己设计的布局文件sharp.xml如下:

123456789101112                                 第二步:截图如下:

第三步:运行程序

今天就是大概分享一下登录界面设计的一些代码还有一些关于注册以及对密码的加密算法下次分享。 下载地址:[MyApplication.zip]

https://download.csdn.net/download/Aran_sun/12366910



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3