2013-05-06 101 views
0

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

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

回答

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

+0

完美的作品。天才。谢谢 :) – Waddas 2013-05-06 16:47:16