package com.example.myexamproject;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.example.myexamproject.utils.MD5Utils;
public class LoginActivity extends AppCompatActivity {
//声明所有按钮
private Button login;
private TextView tv_register;
private EditText et_username,et_pwd;
private CheckBox save_pwd;
private String userName,passWord,spPsw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
init();
}
private void init() {
//给所有按钮匹配id
et_username = (EditText) findViewById(R.id.username);
et_pwd = (EditText) findViewById(R.id.pwd);
save_pwd = (CheckBox) findViewById(R.id.save_pwd);
login = (Button)findViewById(R.id.loginBtn);
tv_register = (TextView) findViewById(R.id.register);
//获取记住的账号密码
getUserInfo();
//登录方法
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getEditString();
//对当前用户输入的密码进行MD5加密再进行比对判断。
String md5Psw= MD5Utils.md5(passWord);
// 定义方法 readPsw为了读取用户名,得到密码
spPsw = readPsw(userName);
if(TextUtils.isEmpty(userName)){
Toast.makeText( LoginActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show();
return;
}else if(TextUtils.isEmpty(passWord)){
Toast.makeText( LoginActivity.this, "请输入密码", Toast.LENGTH_SHORT).show();
return;
// md5Psw.equals(); 判断密码是否与注册的一致
}else if(md5Psw.equals(spPsw)){
//一致登录成功
Toast.makeText( LoginActivity.this, "welcome!"+ userName, Toast.LENGTH_SHORT).show();
//保存登录状态,在界面保存登录的用户名和密码
saveLoginInfo(userName,passWord);
saveLoginStatus(true, userName);
//登录成功后关闭此页面进入主页
Intent data = new Intent();
data.putExtra("isLogin",true);
setResult(RESULT_OK,data);
//关闭登录界面
LoginActivity.this.finish();
//跳转到下一个界面
startActivity(new Intent( LoginActivity.this, MainActivity.class));
return;
//如果用户名或者账号错误会提示错误
}else if((spPsw!=null&&!TextUtils.isEmpty(spPsw)&&!md5Psw.equals(spPsw))){
Toast.makeText( LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
return;
}else{
Toast.makeText( LoginActivity.this, "此用户名不存在", Toast.LENGTH_SHORT).show();
}
}
});
tv_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转到注册界面
Intent intent=new Intent( LoginActivity.this,RegisterActivity.class);
startActivity(intent);
LoginActivity.this.finish();
}
});
}
//获取用户名和密码
private void getEditString(){
userName = et_username.getText().toString().trim();
passWord = et_pwd.getText().toString().trim();
}
//保存登录信息
public void saveLoginInfo(String userName, String passWord){
//获取SharedPreferences对象
boolean CheckBoxLogin = save_pwd.isChecked();
SharedPreferences sp = getSharedPreferences("userInfo", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
//设置参数
if (CheckBoxLogin){
editor.putString("username", userName);
editor.putString("password", passWord);
editor.putBoolean("checkboxBoolean",true);
editor.commit();
}else {
editor.putString("username", null);
editor.putString("password", null);
editor.putBoolean("checkboxBoolean", false);
editor.commit();
}
}
//从已经存入的对象中读取密码
private String readPsw(String userName){
SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE);
return sp.getString(userName , "");
}
//保存登录状态
private void saveLoginStatus(boolean status,String userName){
SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("isLogin", status);
editor.putString("loginUserName", userName);
editor.commit();
}
//返回注册成功数据
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data!=null){
String userName=data.getStringExtra("userName");
if(!TextUtils.isEmpty(userName)){
et_username.setText(userName);
et_username.setSelection(userName.length());
}
}
}
//获得用户已注册的信息
public void getUserInfo(){
SharedPreferences sp = null;
sp = this.getSharedPreferences("userInfo", Context.MODE_PRIVATE);
if (sp.getBoolean("checkboxBoolean", false))
{
et_username.setText(sp.getString("username", null));
et_pwd.setText(sp.getString("password", null));
save_pwd.setChecked(true);
}else{
et_username.setText(sp.getString("username", userName));
et_pwd.setText(sp.getString("password", passWord));
save_pwd.setChecked(false);
}
}
public void onBackPressed() {
LoginActivity.this.finish();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
安卓大作业-开黑盒子,高分课程设计,可一键运行
共102个文件
xml:36个
png:23个
java:20个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2023-12-20
10:01:39
上传
评论
收藏 1.06MB ZIP 举报
温馨提示
安卓大作业--开黑盒子,高分课程设计,可一键运行 - 运行中有什么问题可以私聊博主,本人高级安卓工程师,主页置顶有常见爆红解决的方法 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
安卓大作业-开黑盒子,高分课程设计,可一键运行 (102个子文件)
gradlew.bat 3KB
.gitignore 225B
.gitignore 47B
.gitignore 6B
build.gradle 1KB
settings.gradle 330B
build.gradle 291B
gradlew 6KB
gradle-wrapper.jar 58KB
LoginActivity.java 6KB
UpdateIFActivity.java 4KB
RegisterActivity.java 4KB
MySQLiteOpenHelper.java 4KB
StudentDbHelper.java 3KB
AddGamesActivity.java 3KB
MyIFActivity.java 3KB
UpdateGamesActivity.java 3KB
MainActivity.java 3KB
DeleteGamesActivity.java 2KB
PersonalCenterActivity.java 2KB
BackActivity.java 1KB
QueryGamesActivity.java 1KB
MyDBHelper.java 1KB
Student.java 1KB
MD5Utils.java 1KB
WelcomeActivity.java 875B
ExampleInstrumentedTest.java 764B
ExampleUnitTest.java 386B
Game.java 173B
bg.jpg 133KB
userupd.png 145KB
logo2.png 138KB
userdel.png 131KB
back.png 130KB
usercre.png 129KB
register.png 123KB
gender.png 10KB
hobby.png 9KB
name.png 8KB
qq.png 8KB
phone.png 8KB
tubiao.png 5KB
id.png 5KB
major.png 5KB
isbn.png 5KB
user.png 4KB
manager.png 3KB
key.png 3KB
password.png 2KB
isbn2.png 2KB
personal.png 2KB
add.png 1KB
function.png 760B
proguard-rules.pro 750B
gradle.properties 1KB
gradle-wrapper.properties 230B
ic_launcher_round.webp 8KB
ic_launcher_round.webp 6KB
ic_launcher_round.webp 4KB
ic_launcher.webp 4KB
ic_launcher_round.webp 3KB
ic_launcher.webp 3KB
ic_launcher.webp 2KB
ic_launcher_round.webp 2KB
ic_launcher.webp 1KB
ic_launcher.webp 982B
activity_update_ifactivity.xml 9KB
activity_my_ifactivity.xml 9KB
activity_add_games.xml 7KB
activity_delete_games.xml 6KB
activity_update_games.xml 6KB
ic_launcher_background.xml 5KB
activity_register.xml 5KB
activity_main.xml 4KB
activity_login.xml 3KB
activity_query_games.xml 3KB
activity_personal_center.xml 3KB
misc.xml 2KB
activity_back.xml 2KB
AndroidManifest.xml 2KB
ic_launcher_foreground.xml 2KB
item_list.xml 2KB
themes.xml 833B
themes.xml 833B
gradle.xml 746B
button_style.xml 645B
activity_welcome.xml 605B
shape_edit_focus.xml 533B
shape_edit_normal.xml 533B
colors.xml 378B
shape_btn_normal.xml 340B
shape_btn_pressed.xml 340B
btn_bg_selector.xml 307B
ic_launcher_round.xml 272B
ic_launcher.xml 272B
editext_selector.xml 266B
btn_selector.xml 266B
edit_text_bg.xml 247B
edit_text.xml 244B
render.experimental.xml 173B
共 102 条
- 1
- 2
资源评论
.Android安卓科研室.
- 粉丝: 4391
- 资源: 2444
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于MQTT协议和Docker的IoT远程监控管理系统.zip
- 高项论文写作思路之项目整体管理
- (源码)基于 ASP.NET Core 3.1 + Vue.js 的 EasyCode 后台管理系统.zip
- (源码)基于Spring和MyBatis的疫情防控管理系统.zip
- Rust 学习教程(入门到实践)
- (源码)基于Spring Boot和MyBatis的博客管理系统.zip
- 广东省省级政务信息化服务预算编制标准:软件开发服务分类及费用计算规则
- 支持IJKPlayer、Media3(EXOPlayer2)、MediaPlayer、AliPlayer实现了多功能的视频播放器
- NS3中CSMA模型介绍和数据收发流程代码分析
- (源码)基于Spring Boot和Stable Diffusion的风格化图片生成系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功