第一步、用一个类来封装用户对象
package com.adolph.bean;
import java.io.Serializable;
/**
* Created by WXJ-try on 2016/12/30.
*/
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private String passwd;
public User(String name,String passwd)
{
super();
this.name = name;
this.passwd = passwd;
}
public User()
{
super();
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", passwd='" + passwd + '\'' +
'}';
}
}
第二步、
public class SqliteHelper extends SQLiteOpenHelper{
//子类继承父类的时候,如果父类不含有无参构造器,子类必须重写父类的构造方法
/**
*
* @param context:上下文环境
* @param name:数据库名
* @param factory:游标工厂对象cursor对象
* @param version:数据库版本号
*/
public SqliteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public SqliteHelper(Context context)
{
super(context,"briup.db6",null,1);
}
//当创建一个数据库的时候会执行改方法,仅执行一次
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("SqliteHelper","我执行了omCreate");
String sql ="create table tbl_userinfo(_id integer primary key autoincrement,name text,passwd text)";
db.execSQL(sql);
}
//当数据库升级时调用该方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i("SqliteHelper","我执行了onUpgrade");
}
}
/**
* Created by WXJ-try on 2016/12/30.
*/
public class UserDao {
private SqliteHelper helper;
private SQLiteDatabase db;
public UserDao(Context context) {
helper = new SqliteHelper(context);
}
//添加数据
public void addData(User user){
//插入
db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",user.getName());
values.put("passwd",user.getPasswd());
db.insert("tbl_userinfo",null,values);
Log.i("UserDao","添加数据成功");
}
//删除数据
public void delectData(User user)
{
db = helper.getWritableDatabase();
db.delete("tbl_userinfo","name=?",new String[] {user.getName()});
Log.i("UserDao","删除数据成功");
}
//修改数据
public void updateData(User newUser)
{
db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",newUser.getName());
values.put("passwd",newUser.getPasswd());
db.update("tbl_userinfo",values,"name = ?",new String[]{newUser.getName()});
Log.i("UserDao","修改数据成功");
}
//查询数据
public User queryDataByName(String name)
{
User user = null;
db = helper.getReadableDatabase();
ContentValues values = new ContentValues();
Cursor cursor =db.query("tbl_userinfo",null,"name = ?",new String[]{name},null,null,null);
while (cursor.moveToNext()){
String name1 = cursor.getString(cursor.getColumnIndex("name"));
String passwd = cursor.getString(cursor.getColumnIndex("passwd"));
user = new User(name1,passwd);
}
return user;
}
}
第四步、业务逻辑层代码
public class SeventhtActivity extends AppCompatActivity {
private SqliteHelper helper;//数据库创建帮助类
private SQLiteDatabase db;//数据库对象
private EditText mEt_Username,mEt_passwd;
private Button mBt_Login,mBt_Register;
private UserDao dao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main9);
mBt_Login = (Button) findViewById(R.id.seventh_bt_login);
mBt_Register = (Button) findViewById(R.id.seventh_bt_register);
mEt_Username = (EditText) findViewById(R.id.seventh_et_username);
mEt_passwd = (EditText) findViewById(R.id.seventh_et_password);
dao = new UserDao(this);
}
public void login(View view)
{
String userName = mEt_Username.getText().toString();
String userPasswd = mEt_passwd.getText().toString();
User user = dao.queryDataByName(userName);
if (user == null)
{
ToastUtil.showToast(this,"该用户不存在");
}else{
if (user.getPasswd().equals(userPasswd))
{
ToastUtil.showToast(this,"登入成功");
}else{
ToastUtil.showToast(this,"密码错误");
}
}
}
public void register(View view)
{
String userName = mEt_Username.getText().toString();
String userPasswd = mEt_passwd.getText().toString();
if (userName.trim().equals("") || userPasswd.trim().equals(""))
{
ToastUtil.showToast(this,"用户名或密码为空");
}else{
User user = dao.queryDataByName(userName);
if (user == null){
dao.addData(new User(userName,userPasswd));
ToastUtil.showToast(this,"注册成功");
}else{
ToastUtil.showToast(this,"该用户已存在");
}
}
}
}