对不起标题,但我无法想出更具体的内容。
过去7年我是Rails开发人员,现在我正在学习Android应用程序的Java。
在rails中,要从数据库中获取记录,我使用以下命令:
user = User.find(1)
这将返回一个User对象,其中包含我需要的所有列和信息。要访问它们,我只需调用该对象上的方法,例如:user.first_name
在Java中,我正在做这样的事情:
public User getUser(String userEmail, Context context) {
DBHelper helper = new DBHelper(context);
db = helper.getWritableDatabase();
String query[] = { userEmail };
SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
builder.setTables(helper.TABLE_USERS);
Cursor cursor = null;
try {
cursor = builder.query(db, null, " email = ? ", query, null, null, null);
User user = null;
if (cursor.getCount() > 0 && cursor.moveToFirst()) {
user = new User();
user.setId(cursor.getLong(cursor.getColumnIndex("id")));
user.setNome(cursor.getString(cursor.getColumnIndex("nome")));
user.setToken(cursor.getString(cursor.getColumnIndex("token")));
user.setRole(cursor.getString(cursor.getColumnIndex("role")));
}
return user;
} finally {
cursor.close();
}
}
这是对的吗?我是否真的需要实例化一个空的User对象并通过从数据库中请求它们来手动填充每个属性(即user.setId(cursor.getLong(cursor.getColumnIndex("id")));
)
是否有更简单的方法来获取记录并使用它们而不需要所有这些?