0

我的应用程序有一个主要活动,它启动两个不同的活动。一个是主游戏,另一个是排行榜。我已经建立了一个 SQLite 数据库。

我需要能够通过主游戏活动视图向数据库添加分数,然后读取排行榜活动视图中的数据。如果我在主活动类中创建数据库,我无法从其他活动访问数据库。有没有解决的办法?

4

1 回答 1

0

我通常做的是创建一个扩展 SQLiteOpenHelper 并处理所有数据库交互的单例类。

private static String DB_NAME = DATABASE_NAME;

private SQLiteDatabase myDataBase;

private final Context myContext;

private static DataBaseHelper databaseHelperInstance;
private DataBaseHelper(Context context) {

    super(context, DB_NAME, null, 1);
    this.myContext = context;
}
public static synchronized DataBaseHelper getInstance(Context c) {
    if (databaseHelperInstance == null) {
        synchronized (DataBaseHelper.class) {
            databaseHelperInstance = new DataBaseHelper(c);
        }
    }
    return databaseHelperInstance;
}

然后在你需要它的地方调用它:

DataBaseHelper.getInstance(this.getApplicationContext());

这个博客可能会有所帮助: http ://www.androiddesignpatterns.com/2012/05/correctly-managing-your-sqlite-database.html

于 2013-05-06T15:00:24.173 回答