API级别10的SqliteDatabase.getDatabaseName

时间:2013-04-20 21:27:50

标签: android sqlite

我想获取已打开数据库的名称,我通过SqliteOpenHelper为其提供了参考。 API级别14(getDatabasename)没问题。但我需要它与API级别10一起工作(硬性要求 - 这是我正在上课的。)

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

但是,您打开它并将其传递给SqliteOpenHelper的构造函数后,您是否已经拥有数据库名称?所以只需子类SqliteOpenHelper并自己创建方法getDatabaseName()并让它做你想要的。  这似乎更多是关于面向对象的主体。如果您需要代码或者我错了,请告诉我。

我抓住了代码。您查找的函数只是存储您在构造函数中设置的变量:

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