我有一个非常广泛的问题,主要想要一些关于这个Sqlite异常的建议和最佳实践以及如何处理它。我抓住它没问题,只需要处理它的帮助。在我的应用程序中,由于这个原因,我的数据库只有一个字段标记为唯一,因为我不希望在数据库中复制这个特定值。我正在使用方法insertWithOnConflict()
,但我想知道为conflictAlgorithm
参数设置的最佳常量是什么。我已经阅读了SQLiteDatabase | Android参考页面提供的所有内容,但我仍然不确定哪个是我最好的选择。理想情况下,我更愿意做到这一点:
使用AlertDialogueBuilder
或Toast
消息提示用户他们输入的值已经包含在数据库中,他们需要在继续之前更改此当前值。由于这个独特的领域是其中15个领域中的第一个领域之一,我甚至可以将当前交易与其他剩余领域收集的所有其他数据一起提交并仅标记该唯一字段并显示一条消息,指示默认"需要唯一"价值或东西,但这将是最后的手段。此时,当捕获到异常时,我的应用程序不会崩溃,它只是不提交写入,并返回上一个调用Activity
,这是之前收集的所有资产的listView
数据库。继续重新启动数据收集发生的Activity
是否明智,提示他们当时有重复的密钥?或者在将应用程序发送回调用Activity
之前,阻止事务尝试提交并且不写入?一旦发生异常,我似乎无法对异常做任何事情。任何建议或提示将不胜感激。无论使用数据和数据库的最佳实践是什么,我都希望了解并了解未来。谢谢大家。