在sqlCipher中为SQLiteOpenHelper定制ErrorHandler

时间:2012-12-24 10:52:49

标签: android database sqlcipher

我开始使用sqlCipher for Android(ver)2.1.1,它在Android 4.0.3上的功能就像魅力一样。但是我发现SQLiteOpenHelper类没有采用自定义错误处理程序的构造函数。这在android.database中提供的原始SQLiteOpenHelper类中非常有用,并且以特定于应用程序的方式处理错误非常有用。有没有人知道在使用sqlCipher时如何合并自定义错误处理程序?

android.database.sqlite

中提供的构造函数
public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version);
public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler);

net.sqlcipher.database

中提供的构造函数
public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version);

具体而言,遇到某些类型的错误时,默认错误处理程序(使用sqlcipher时)正在删除数据库,尽管提供了Log.e消息。但我需要避免它。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

自定义数据库错误处理程序是android.database包的最新补充。 SQLCipher包基于较旧的API(级别7),因此不包括此功能。我们将尝试仔细研究这一点,看看我们是否可以采取措施解决问题,而不会影响向后兼容性。