Android 如何使用最后一个id SQLite

Android 如何使用最后一个id SQLite,android,sqlite,Android,Sqlite,我是android世界的新手,有一个id问题。我需要的是,当用户单击new match时,它会在db中插入一个新行。这是工作,我得到了最后的id,但现在我需要这个id在下一个活动。如何存储该id以便在其他地方使用 以下是插入新匹配项的方式: public void newMatch(WedstrijdenGeschiedenis wedstrijd){ // 1. SQLiteDatabase db = this.getWritableDatabase(); // 2. DateForm

我是android世界的新手,有一个id问题。我需要的是,当用户单击new match时,它会在db中插入一个新行。这是工作,我得到了最后的id,但现在我需要这个id在下一个活动。如何存储该id以便在其他地方使用

以下是插入新匹配项的方式:

public void newMatch(WedstrijdenGeschiedenis wedstrijd){

// 1. 
SQLiteDatabase db = this.getWritableDatabase();

// 2. 
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = new Date();
ContentValues values = new ContentValues();
values.put(KEY_DATUM, dateFormat.format(date)); // get datum 

// 3. 
long lastId = db.insert(TABLE_WEDSTRIJD, // table
null, //nullColumnHack
values); // key/value -> keys = column names/ values = column values
Log.d("New Match","ID ="+lastId);

// 4. close
db.close(); 

}

所以我在LogCat中看到了lastId,但我不知道如何存储它以供进一步使用。我尝试了void,但在void上这是不可能的。很抱歉出现这个假问题

void
更改为
long
,并添加一个返回lastId的return语句

public long newMatch(WedstrijdenGeschiedenis wedstrijd){
  // Your other code
  return lastId;
}
通过以下方式访问它:

long lastId= db.newMatch(new WedstrijdenGeschiedenis());

我不确定我是否理解你的问题。您在
lastId
上获得的id是自动创建为该记录的主键的id。它已经存储在数据库中。为什么?数据库知道该id,如果您从另一个活动中插入,它仍然知道该id并使用另一个id(通常仅高出1个);db.newMatch(newwedstrijdengeschiedenis());那我怎么才能拿到那里的身份证呢?是的。对不起我的无知,谢谢你的帮助!这就是我需要的