2013-04-20 59 views
1

我想获取打开的数据库的名称,对此我有一个参考号SqliteOpenHelper。 API级别14(getDatabasename)没有问题。但我需要它与API级别10(硬要求 - 这是我正在上课的课程)一起工作。API级别10的SqliteDatabase.getDatabaseName

我到目前为止唯一的想法是存储数据库名称以供将来使用 - 无论是在我需要的类中还是作为SqliteOpenHelper的子类的成员。有没有更好的办法?谢谢。

回答

2

getDatabaseName()返回与您在SqliteOpenHelper构造函数中提供的完全相同的名称,所以最好的方法可能是将其存储在子类的成员变量中。如果稍后你有另一个项目,你会遇到同样的问题,它会更加灵活。

1

但是,您打开它并将它传递给SqliteOpenHelper的构造函数后,您是否已经拥有数据库名称?因此,只需创建SqliteOpenHelper的子类并自己创建方法getDatabaseName(),并让它按照您的需要进行操作。 这似乎更多关于面向对象的校长。让我知道如果你需要代码或如果我错了。

我grepped的代码。你寻找的函数只是存储你在构造函数中设置的变量:

public String getDatabaseName(){ return mName; }

如此反复使自己 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.1_r1.2/android/database/sqlite/SQLiteOpenHelper.java#SQLiteOpenHelper.getDatabaseName%28%29

+0

我宁愿让我引用到SqliteOpenHelper - 它创造了更多的通用代码。看起来像旧版本,但不是一个选项。 – SirPentor 2013-04-21 01:21:30