0

SQLiteOpenHelper.onCreate期间,我需要向数据库添加各种行。为了不使用冗余代码,我想调用使用ContentResolver的包装函数 - 也就是应用程序级代码使用的函数。可以在SQLiteOpenHelper中使用ContentResolver吗?

但是,这样做意味着ContentProvider将调用getContentResolver,并最终产生对其自身的递归调用。这个可以吗?我会在某些环境中遇到问题吗?有一个更好的方法吗?

我意识到这不是最有效的方式来做到这一点,但数据库创建应该很少发生。我更大的担心是避免多余的代码 - 具有相同的ContentValues .put调用的两个函数。

回答

0

Peri,

什么意思是没有冗余代码。您应该能够使用SqLiteOpenHelper来满足您的需要,而不必使用内容解析器。让我知道你在做什么,我可以分享一些代码。我在项目中广泛使用SqLiteOpenHelper。

+0

当然,如果我不使用ContentResolver,这很容易。也许我不需要一个。我正准备让数据库保持持久性,而不管我将来对应用程序做什么。更具体地说,我需要做一堆插入。插入代码使用ContentResolver存在于包装器中。但是,从SQLiteOpenHelper,我该如何获得该插入代码? –

+0

更好的是,最终,我希望活动检测数据库是否存在,并最终允许用户连接到现有数据库(在云中)或在本地创建一个数据库。 (虽然这是一种方法。) –

+0

嗯,我重构了代码,所以我可以在“围墙两边”分享它。没有我想要的那么干净,但至少没有什么是多余的。 –

相关问题