我的记事本之--登录注册功能实现

今天我们完成登录和注册功能,并简单绘制主页面。首先来说注册页面。
我们要在程序中监听注册按钮,代码如下:
register = (Button) findViewById(R.id.register); //实例化按钮
register.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//注册动作
}
}
获取用户输入的用户名、密码以及确认密码,并进行判断,代码如下:
String nameStr = name.getText().toString(); //获取用户输入的用户名
String pwdStr = pwd.getText().toString(); //获取用户输入的密码
String repwdStr = repwd.getText().toString(); //获取用户输入的确认密码
if ("".equals(nameStr)) {
Toast.makeText(RegisterActivity.this, "用户名不能为空", Toast.LENGTH_SHORT).show();
return ;
}
if ("".equals(pwdStr)) {
Toast.makeText(RegisterActivity.this, "密码不能为空", Toast.LENGTH_SHORT).show();
return ;
}
if (!repwdStr.equals(pwdStr)) {
Toast.makeText(RegisterActivity.this, "两次输入密码不一致,请重新输入", Toast.LENGTH_SHORT).show();
pwd.setText(""); //密码框设为空
repwd.setText(""); //确认密码框设为空
return ;
}
//这里我们没有使用数据库来存储我们的用户名和密码
//存储用户名和密码
SharedPreferences.Editor editor = sp.edit();
editor.putString("name", nameStr); //存储用户名
editor.putString("pwd", pwdStr); //存储用户密码
editor.commit();

//跳转到主页面
Intent intent = new Intent();
intent.setClass(RegisterActivity.this, MainActivity.class);
RegisterActivity.this.startActivity(intent);
接下来我们说说登录,基本思路是,取出用户注册的用户名和密码与用户现在输入的用户名和密码进行比对如果相同就进入主页面,否则进入重新输入。基本代码与注册一致。
主页面明天再写。

源码下载地址[url]http://www.exceptionhelp.com/posts/543[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android记事本应用中实现登录注册功能,可以使用SQLite数据库来存储用户信息。以下是简单的步骤: 1. 创建一个SQLite数据库:创建一个继承自SQLiteOpenHelper的类,并在onCreate()方法中定义数据表。 2. 创建一个用户类:创建一个Java类来表示用户,其属性应包括用户名和密码。 3. 实现注册功能:在注册活动中获取用户输入的用户名和密码,并将其添加到数据库中。 4. 实现登录功能:在登录活动中获取用户输入的用户名和密码,并通过查询数据库来检查用户是否存在。 下面是一些示例代码: 1. 创建数据库帮助类: ``` public class DBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "myapp.db"; private static final int DATABASE_VERSION = 1; public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS users"); onCreate(db); } } ``` 2. 创建用户类: ``` public class User { private int id; private String username; private String password; public User() { } public User(String username, String password) { this.username = username; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ``` 3. 实现注册功能: ``` public class RegisterActivity extends AppCompatActivity { private EditText etUsername, etPassword; private Button btnRegister; private DBHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); etUsername = (EditText) findViewById(R.id.et_username); etPassword = (EditText) findViewById(R.id.et_password); btnRegister = (Button) findViewById(R.id.btn_register); dbHelper = new DBHelper(this); btnRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = etUsername.getText().toString(); String password = etPassword.getText().toString(); if (username.isEmpty() || password.isEmpty()) { Toast.makeText(RegisterActivity.this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show(); } else { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("username", username); values.put("password", password); db.insert("users", null, values); Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show(); finish(); } } }); } } ``` 4. 实现登录功能: ``` public class LoginActivity extends AppCompatActivity { private EditText etUsername, etPassword; private Button btnLogin; private DBHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); etUsername = (EditText) findViewById(R.id.et_username); etPassword = (EditText) findViewById(R.id.et_password); btnLogin = (Button) findViewById(R.id.btn_login); dbHelper = new DBHelper(this); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = etUsername.getText().toString(); String password = etPassword.getText().toString(); if (username.isEmpty() || password.isEmpty()) { Toast.makeText(LoginActivity.this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show(); } else { SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM users WHERE username = ? AND password = ?", new String[]{username, password}); if (cursor.moveToFirst()) { Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show(); finish(); } else { Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show(); } cursor.close(); } } }); } } ``` 这样,您就可以在Android记事本应用中实现登录注册功能了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值