使用Android Room insert AsyncTask时如何获取insert id?

使用Android Room insert AsyncTask时如何获取insert id?,android,android-asynctask,android-room,Android,Android Asynctask,Android Room,如何读取活动中的插入项? 活动: private void saveNewCode() { mCodeRepository.insertCodeTask(mInitialCode); } 在存储库插入代码中: public void insertCodeTask(Code code) { new InsertAsyncTask(myDatabase.getCodeDao()).execute(code); } 插入同步任务: public class Inse

如何读取活动中的插入项? 活动:

private void saveNewCode() {
    mCodeRepository.insertCodeTask(mInitialCode);
}
在存储库插入代码中:

public void insertCodeTask(Code code) {
        new InsertAsyncTask(myDatabase.getCodeDao()).execute(code);
    }
插入同步任务:

public class InsertAsyncTask extends AsyncTask<Code, Void, Void> {
    private static final String TAG = "InsertAsyncTask";
    private CodeDao mCodeDao;
    private long insertId;


    public InsertAsyncTask(CodeDao dao) {
        mCodeDao = dao;
    }

    @Override
    protected Void doInBackground(Code... codes) {
        insertId = mCodeDao.insertCode(codes);
        return null;
    }
}
公共类InsertAsyncTask扩展了AsyncTask{
私有静态最终字符串标记=“InsertAsyncTask”;
私有代码道mCodeDao;
私人长插入;
公共InsertAsyncTask(CodeDao){
mCodeDao=dao;
}
@凌驾
受保护的无效doInBackground(代码…代码){
insertId=mCodeDao.insertCode(代码);
返回null;
}
}

如何将insertId传递给活动?实现接口或onPostExecute方法,但它应该如何传递回活动?谢谢。

使用活动侦听的回调接口,并在onPostExecute调用中传递您的id以使活动获得它。您可以进一步解释吗?谢谢@tyczj我制作了它。