当用户点击他们的NFC标签时,我的应用
users
表格,取回用户_id
,然后_id
值写入用户的NFC标记。问题在于,如果该用户过快地移动其代码,则步骤2将失败并显示IOException
。然后用户必须再次点击他们的标签,但这将导致重复步骤1 - 即重复的条目。 : - /
要解决此问题,我想使用基于this example code from the API documentation的交易:
db.beginTransaction();
try {
// Insert data into database, getting back _id
// Write _id to NFC tag
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
...但我的数据库包含在MyContentProvider
中,因此我无法访问db
。
在插入数据时是否有办法在不放弃使用MyContentProvider
的情况下使用交易?
答案 0 :(得分:0)
您可以撤消操作:您可以在数据库中查询下一个可用ID,将ID写入NFC标签,如果您成功更新了NFC标签,则使用该ID更新数据库。