2013-05-06 4 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