Android实现简单的登录界面
创始人
2024-05-29 02:46:54
0

该登录界面一共实现三个功能:

1.实现登录

2.实现注册

3.实现记住密码

AndroidManifest.xml 文件:



bean文件中的Account类:

package com.example.smart_campus.bean;public class Account {private int id;private String account;private String password;public Account(int id, String account, String password) {this.id = id;this.account = account;this.password = password;}public Account() {}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

 db文件夹中的AccountService:

package com.example.smart_campus.db;import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;import com.example.smart_campus.bean.Account;public class AccountService {private DataBaseHelper dataBaseHelper;public AccountService(Context context) {dataBaseHelper = new DataBaseHelper(context);}//登录public Boolean login(String account, String password){SQLiteDatabase sqLiteDatabase = dataBaseHelper.getReadableDatabase();String sql = "select * from Account where act = ? and pwd = ?";Cursor cursor = sqLiteDatabase.rawQuery(sql,new String[]{account,password});if (cursor.moveToFirst()) {cursor.close();return true;} else {return false;}}//注册public Boolean registered(Account account){SQLiteDatabase sqLiteDatabase = dataBaseHelper.getReadableDatabase();String sql = "insert into Account(act,pwd) values(?,?)";Object[] obj = {account.getAccount(),account.getPassword()};sqLiteDatabase.execSQL(sql,obj);return true;}
}

db文件夹中的DataBaseHelper:

package com.example.smart_campus.db;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;public class DataBaseHelper extends SQLiteOpenHelper {public static final String DATABASE_NAME = "Smart_Campus.db";public static final int DATABASE_VERSION = 1;public static final String TABLE_NAME = "Account";public static final String COLUMN_ID = "id";public static final String COLUMN_Account = "act";public static final String COLUMN_Password = "pwd";public DataBaseHelper(@Nullable Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}//创建数据库@Overridepublic void onCreate(SQLiteDatabase db) {String query = "CREATE TABLE " + TABLE_NAME +" (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +COLUMN_Account + " VARCHAR(20), " +COLUMN_Password + " VARCHAR(20))";db.execSQL(query);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}

MainActivity:

package com.example.smart_campus;import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import com.example.smart_campus.db.AccountService;public class MainActivity extends AppCompatActivity {private SharedPreferences sharedPreferences;private SharedPreferences.Editor editor;private CheckBox rememberPass;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_login = findViewById(R.id.login);EditText account = findViewById(R.id.account);EditText password = findViewById(R.id.password);AccountService accountService = new AccountService(this);rememberPass = findViewById(R.id.reb_pwd);sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);boolean isRemember = sharedPreferences.getBoolean("remember_password", false);if (isRemember) {String reb_account = sharedPreferences.getString("account", "");String reb_password = sharedPreferences.getString("password", "");account.setText(reb_account);password.setText(reb_password);rememberPass.setChecked(true);}button_login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String act = account.getText().toString();String pwd = password.getText().toString();Boolean flag = accountService.login(act, pwd);if (flag) {editor = sharedPreferences.edit();if (rememberPass.isChecked()) {editor.putBoolean("remember_password", true);editor.putString("account", act);editor.putString("password", pwd);} else {editor.clear();}editor.commit();Intent intent = new Intent(MainActivity.this, loginActivity.class);startActivity(intent);} else {Toast.makeText(MainActivity.this, "账号或密码错误!", Toast.LENGTH_SHORT).show();}}});Button button_registered = findViewById(R.id.registered);button_registered.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, registeredActivity.class);startActivity(intent);}});}
}

 loginActivity

package com.example.smart_campus;import android.os.Bundle;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;public class loginActivity extends AppCompatActivity {@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.login);}
}

registeredActivity

package com.example.smart_campus;import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;import com.example.smart_campus.bean.Account;
import com.example.smart_campus.db.AccountService;public class registeredActivity extends AppCompatActivity {@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.registered);}public void myClick(View view){if (view.getId() == R.id.reg){AlertDialog.Builder builder = new AlertDialog.Builder(this);EditText new_account = findViewById(R.id.new_account);EditText new_pwd = findViewById(R.id.new_pwd);EditText re_pwd = findViewById(R.id.re_pwd);AccountService accountService = new AccountService(this);if (!new_account.getText().toString().isEmpty() && new_pwd.getText().toString().equals(re_pwd.getText().toString())){Account account = new Account();account.setAccount(new_account.getText().toString());account.setPassword(new_pwd.getText().toString());accountService.registered(account);builder.setTitle("提示");builder.setMessage("注册成功");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Intent intent = new Intent(registeredActivity.this, MainActivity.class);startActivity(intent);}});builder.setNegativeButton("取消",null);builder.show();} else {builder.setTitle("提示");builder.setMessage("注册失败!新账号为空或新密码与确认密码不同");builder.setNegativeButton("确认",null);builder.show();}}}
}

layout文件中的activity_main



layout中的login文件



layout文件中的registered


相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...