을 위해 내가 데이터베이스 이름을 표시 찾을 수 모든 예제는 다음과 같이 인스턴스화, 하드 코딩 된 안드로이드에서 사용자 정의 컨텐트 프로를 만드는 오전 :변수 데이터베이스 이름은 컨텐트 프로
public class ItemProvider extends ContentProvider {
private static String DATABASE_NAME = "xyz";
public static class ItemDatabaseHelper extends SQLiteOpenHelper {
ItemDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
내가 뭘 원하는 것은에 대한 변수를 사용하다 런타임에 데이터베이스 이름, 나는 클래스에서 데이터베이스 이름을 하드 코드 싶지 않아. ContentProvider 클래스를 사용하여이 작업을 수행하는 예제를 찾으려고 시도했으며 설명서도 살펴 보았습니다. ContentProvider 클래스를 흘려서 매개 변수로 생성자에 데이터베이스 이름을 전달할 수 있기 때문에 SQLiteOpenHelper 클래스를 사용하면이 작업을 수행 할 수 있습니다. 그러나 ContentProvider가 가능한지 알아낼 수는 없습니다.
이public static class ItemDatabaseHelper extends SQLiteOpenHelper {
ItemDatabaseHelper(Context context, String dbname) {
super(context, dbname, null, DATABASE_VERSION);
}
사람이 나 콘텐츠 제공자에 대한 변수 데이터베이스 이름을 얻을 수 있도록 수 : 나는 SQLiteOpenHelper를 사용하여 데이터베이스에 대한 변수 이름을 얻는 방법은 다음이다?
감사합니다.
답장을 보내 주셔서 감사합니다. 당신은 ContentProvider가 인스턴스화되는 방법에 대해 정확합니다. 그 모든 "자동"은 SQLiteOpenHelper 레벨에서 제어 할 수없는 이유입니다. 두 번째 제안은 장치에서 여러 개의 동일하게 구조화 된 데이터베이스가 있어야하고 사용자가 런타임에서 전환 할 수 있어야하고 사전에 호출 될 내용을 모르기 때문에 두 번째 제안이 효과가 있다고 생각하지 않습니다. 첫 번째 제안은 좋게 들리지만 구현하려고 시도했지만 자바 기술은 그렇지 않습니다. 어떻게 할 것입니까? – stevekiwi