2014-05-16 3 views
0

나는 선택, 삽입 및 업데이트를 실현하기 위해 데이터베이스를 다루는 SQLiteAssetHelper을 사용하고 있습니다. 하지만 두 개 이상 필요합니다 database; 하나의 클래스에 모든 데이터베이스의 메소드를 넣을 수 있습니까? 시도했지만 오류가 두 번째 테이블을 찾을 수 없습니다. 고맙습니다.SQLiteAssetHelper에서 둘 이상의 테이블을 사용하려면 어떻게해야합니까?

+1

"하지만 하나 이상의 데이터베이스가 필요합니다"- 왜? 데이터베이스는 여러 테이블을 가질 수 있습니다. – CommonsWare

+0

@CommonsWare 혼란스러워서 죄송합니다. 여러 개의 테이블을 의미합니다. – dacandou

답변

0

은 (는) 모든 클래스의 데이터베이스 메서드를 의미합니다.?

여러 데이터베이스에 대해 하나의 Helper 클래스를 사용할 수 없습니다. 각 데이터베이스는 Helper로 표시됩니다. 그런 다음 생성자에서 도우미를 사용하는 다른 클래스를 만들고이 클래스를 사용하여 메서드를 만들 수 있습니다.

사용하려는 각 테이블에 대해 편집

, 당신은 SQLiteAssetHelper를 확장하는 클래스를 작성해야합니다.

public class MyDatabase extends SQLiteAssetHelper { 

    private static final String DATABASE_NAME = "northwind.db"; 
    private static final int DATABASE_VERSION = 1; 

    public MyDatabase(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
} 

DATABASE_NAME 변수의 각 테이블마다 다른 이름을 사용하십시오.

그런 다음 정상적으로 읽거나 쓸 테이블에 해당하는 도우미를 사용하십시오. 여기에 샘플이 있습니다 : http://developer.android.com/training/basics/data-storage/databases.html#ReadDbRow

+0

그럼 하나 이상의 테이블을 사용할 수 있습니까? – dacandou

+0

물론. SQLiteAssetHelper를 사용하기 전에 SQLiteOpenHelper에 익숙합니까? – bobby4078

+0

아닙니다. 저는 완전히 자바와 SQL에 익숙합니다. 처음에는 openHelper를 사용했지만, asset 아래에서 데이터베이스를 사용하려면 SQLiteAssetHelper로 변경했습니다. 클래스에 두 개의 테이블을 할당하지만 주 활동에서 두 번째 테이블을 찾을 수 없습니다. 여러 테이블에 대한 자습서가 있습니까? – dacandou

관련 문제