实现排行榜数据库 - Android

时间:2013-05-06 14:50:33

标签: java android sqlite

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

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

1 个答案:

答案 0 :(得分: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