使用SQLite本地数据库实现注册登陆功能
来源:互联网 发布:京东商城数据库设计 编辑:程序博客网 时间:2024/05/16 19:35
共3个页面:注册,确认,登陆。
注册有两种可能。1.用户名已存在,提示更改用户名(select语句) 2.注册成功(insert语句)
登陆有两种可能。(select语句)1.用户名和密码不匹配 2.登陆成功
操作步骤:
一、数据库的准备工作MyDatabaseHelper.java
public class MyDatabaseHelper extends SQLiteOpenHelper { final String CREATE_TABLE_SQL = "create table userlist(_id integer primary key autoincrement,name,passwd,gender)"; public MyDatabaseHelper(Context context, String name, int version) { super(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_SQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}
android自带的数据库SQLite有两个非常重要的类。SQLiteOpenHelper,SQLiteDatabase。
在这段代码,新建一个数据库,在数据库里新建一个表。
二、在用到数据库的每一个.java中,先写两句话
MyDatabaseHelper dbHelper = new MyDatabaseHelper(register_index.this, "userlist.db", 1); SQLiteDatabase db = dbHelper.getReadableDatabase();
三、select语句和insert语句
select语句
String sql = "select * from userlist where name='" + Name + "' and passwd='" + Passwd + "'"; Cursor cursor = db.rawQuery(sql, null); if (!cursor.moveToNext()){} else{}
Name和Passwd是String类型,注意这里必须写成”+Name+”
insert语句
insertData(db, Name, Passwd, Gender);private void insertData(SQLiteDatabase db, String name, String passwd, String gender) {db.execSQL("insert into userlist values(null,?,?,?)", new String[]{name, passwd, gender}); }
写一个函数insertData。
四、还有2个补充。
第1,带数据的跳转。
发送
Intent intent = new Intent(register_index.this, result.class); Bundle data = new Bundle(); data.putString("name", Name); data.putString("passwd", Passwd); data.putString("gender", Gender); intent.putExtras(data); startActivity(intent);
分3步。1.new Bundle 2.放入数据putXXX 3.把bundle绑在intent上(putExtras)
接收
Bundle data = getIntent().getExtras(); String Name = data.getString("name"); String Passwd = data.getString("passwd"); String Gender = data.getString("gender");
分2步。1.得到intent,然后得到intent里的bundle。2.得到bundle里的数据(getXXX)。
第2,调试经常用到Toast
Toast.makeText(register_index.this, "用户名已存在,请更改用户名!", Toast.LENGTH_SHORT).show();
附录:
register.java
public class login extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); findViews(); setListeners(); } private EditText name; private EditText passwd; private Button login; private Button register; private void findViews() { name = (EditText) findViewById(R.id.name); passwd = (EditText) findViewById(R.id.passwd); login = (Button) findViewById(R.id.login); register = (Button) findViewById(R.id.register); } private void setListeners() { login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String Name = name.getText().toString().trim(); String Passwd = passwd.getText().toString().trim(); MyDatabaseHelper dbHelper = new MyDatabaseHelper(login.this, "userlist.db", 1); SQLiteDatabase db = dbHelper.getReadableDatabase(); String sql = "select * from userlist where name='" + Name + "' and passwd='" + Passwd + "'"; Cursor cursor = db.rawQuery(sql, null); if (!cursor.moveToNext()) Toast.makeText(login.this, "用户名与密码不匹配,请重新输入!", Toast.LENGTH_SHORT).show(); else Toast.makeText(login.this, "登陆成功!", Toast.LENGTH_SHORT).show(); } }); register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(login.this, register_index.class); startActivity(intent); } }); }}
result.java
public class result extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); findViews(); showResults(); setListeners(); } private TextView name; private TextView passwd; private TextView gender; private Button insert; private void findViews() { name = (TextView) findViewById(R.id.name); passwd = (TextView) findViewById(R.id.passwd); gender = (TextView) findViewById(R.id.gender); insert = (Button) findViewById(R.id.insert); } private void showResults() { Bundle data = getIntent().getExtras(); name.setText("您的用户名为:" + data.getString("name")); passwd.setText("您的密码为:" + data.getString("passwd")); gender.setText("您的性别为:" + data.getString("gender")); } private void setListeners() { insert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { MyDatabaseHelper dbHelper = new MyDatabaseHelper(result.this, "userlist.db", 1); SQLiteDatabase db = dbHelper.getWritableDatabase(); Bundle data = getIntent().getExtras(); String Name = data.getString("name"); String Passwd = data.getString("passwd"); String Gender = data.getString("gender"); insertData(db, Name, Passwd, Gender); Toast.makeText(result.this, "注册成功!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(result.this, login.class); startActivity(intent); } }); } private void insertData(SQLiteDatabase db, String name, String passwd, String gender) { db.execSQL("insert into userlist values(null,?,?,?)", new String[]{name, passwd, gender}); }}
login.java
public class login extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); findViews(); setListeners(); } private EditText name; private EditText passwd; private Button login; private Button register; private void findViews() { name = (EditText) findViewById(R.id.name); passwd = (EditText) findViewById(R.id.passwd); login = (Button) findViewById(R.id.login); register = (Button) findViewById(R.id.register); } private void setListeners() { login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String Name = name.getText().toString().trim(); String Passwd = passwd.getText().toString().trim(); MyDatabaseHelper dbHelper = new MyDatabaseHelper(login.this, "userlist.db", 1); SQLiteDatabase db = dbHelper.getReadableDatabase(); String sql = "select * from userlist where name='" + Name + "' and passwd='" + Passwd + "'"; Cursor cursor = db.rawQuery(sql, null); if (!cursor.moveToNext()) Toast.makeText(login.this, "用户名与密码不匹配,请重新输入!", Toast.LENGTH_SHORT).show(); else Toast.makeText(login.this, "登陆成功!", Toast.LENGTH_SHORT).show(); } }); register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(login.this, register_index.class); startActivity(intent); } }); }}
0 1
- 使用SQLite本地数据库实现注册登陆功能
- 利用SQLite数据库实现登陆和注册
- 使用数据库sqlite3 C语言实现登陆注册的功能
- 使用OrmLite数据库实现本地的账号登录,注册功能
- 完善注册功能,编写本地SQLite数据库的工具类
- android之利用SQLite数据库实现登陆和注册
- Android之利用SQLite数据库实现登陆和注册
- android之利用SQLite数据库实现登陆和注册
- android之利用SQLite数据库实现登陆和注册
- Android之利用SQLite数据库实现登陆和注册
- android SQLite实现本地登录注册功能,SQLite简单应用(android studio)
- 使用SQLite本地数据库
- 使用SQLite本地数据库
- django实现登陆注册功能
- Android 实现简单的登陆注册功能(SharedPreferences和SQLite)
- Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例)
- 安卓Android本地Sqlite实现注册账号和登录功能
- Android中使用 SQLite 创建数据库实现登录和注册
- win10 安装sqlserver 2008R2 出现问题:性能计数器注册表配置单元一致性
- Java压缩文件
- Linux C 第八课
- win+Apache+mod_wsgi配置mapproxy心得(二)
- (OK) How To Install Wine 1.9.9 (Development Release) on CentOS, RHEL & Fedora
- 使用SQLite本地数据库实现注册登陆功能
- iOS UIAlertController弹窗效果
- tjut 4937
- Y2K Accounting Bug
- 【工具软件合集】
- C++/C语言函数:isalpha()函数 isdigit(int c)宏
- bzoj 4610: [Wf2016]Ceiling Functi
- Android进阶图片处理之三级缓存方案
- Myeclipse 运行maven控制台中文乱码