我想获取一个打开的数据库的名称,我通过SqliteOpenHelper
. API 级别 14 ( ) 没有问题getDatabasename
。但我需要它与 API 级别 10 一起工作(硬要求——这是针对我正在学习的课程)。
到目前为止,我提出的唯一想法是自己存储数据库名称以供将来使用——无论是在我需要它的类中,还是作为SqliteOpenHelper
. 有没有更好的办法?谢谢。
getDatabaseName()
返回您在构造函数中提供的完全相同的名称SqliteOpenHelper
,因此最好将其存储在子类的成员变量中。如果以后您有另一个遇到相同问题的项目,它将更加灵活。
但是自从您打开数据库并将其传递给 SqliteOpenHelper 的构造函数后,您是否已经有了数据库名称?所以只需继承 SqliteOpenHelper 并自己创建方法 getDatabaseName() 并让它做你想做的事。这似乎更多地是关于面向对象的原则。如果您需要代码或我弄错了,请告诉我。
我grep了代码。您要查找的函数只是存储您在构造函数中设置的变量:
公共字符串 getDatabaseName() { 返回 mName; }