我正在使用 ORMLite 使用以下代码进行插入:
protected void registerUser(EditText fullName, EditText email, EditText mobile, EditText username, EditText password) {
//Perform DB Call to Insert Records
User user = new User();
user.setFullName(fullName.getText().toString());
user.setEmail(email.getText().toString());
user.setMobile(mobile.getText().toString());
user.setUsername(username.getText().toString());
user.setPassword(password.getText().toString());
DBManager.getInstance().addUser(user);
}
但是重启应用后,上面的记录不见了,我的登录失败了。我使用以下代码进行身份验证,它适用于现有记录。
public boolean login(String username, String password) {
boolean validLogin = false;
try {
QueryBuilder<User, Integer> qb = getHelper().getUserDao().queryBuilder();
qb.where().eq("username", username).and().eq("password", password);
PreparedQuery<User> pq = qb.prepare();
User user = getHelper().getUserDao().queryForFirst(pq);
if(user!=null){
validLogin = true;
}
} catch (SQLException e) {e.printStackTrace();}
return validLogin;
}
在我的 Helper 类中,我仅在不可用时创建表。
TableUtils.createTableIfNotExists(connectionSource, User.class);
ORMLite 如何处理提交操作?我们必须手动提交吗?请建议如果我缺少一些东西,因为我是 Android 和 ORMLite 的新手。