我有sqlite数据库处理程序,它将在用户登录应用程序时创建一个表。服务器发回有关存储用户的一些信息。当用户进入下一个活动时,我需要从该数据库中检索一个值并将其存储在本地。我不确定如何检索值5并将其存储在活动OnCreate中。任何帮助将不胜感激。
数据库处理程序:
public HashMap<String, String> retrieveUser(){
HashMap<String,String> user = new HashMap<String,String>();
String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// Move to first row
cursor.moveToFirst();
if(cursor.getCount() > 0){
user.put("first_name", cursor.getString(1));
user.put("last_name", cursor.getString(2));
user.put("email", cursor.getString(3));
user.put("dob", cursor.getString(4));
user.put("userid", cursor.getString(5));
user.put("created_at", cursor.getString(6));
}
cursor.close();
db.close();
// return user
return user;
}
编辑:我这样解决了
dbh = new DatabaseHandler(this);
HashMap<String, String> details = dbh.retrieveUser();
String UserId = details.get("userid");
答案 0 :(得分:2)
如果您想从表格中的userid
列中进行检索,请通过仅查询userid
来尝试以下内容。
public HashMap<String, String> retrieveUser(){
HashMap<String,String> user = new HashMap<String,String>();
String selectQuery = "SELECT userid FROM " + TABLE_LOGIN;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// Move to first row
cursor.moveToFirst();
while(cursor.getCount() > 0){
user.put("userid", cursor.getString(0));
cursor.moveToNext();
user.add("userVal",cursor.getString(0));
}
cursor.close();
db.close();
return user;
}