0
나는 안드로이드 응용 프로그램을 만들고 있습니다. 콘텐츠 제공자를 생성하기 위해 schematic을 사용하고 있습니다.Java에서 생성 된 참조 코드
나는 애플리케이션에서 사용되는 실제 코드가 내가 만든 클래스에서 생성된다는 것을 알고 있습니다. 이를 바탕으로 소스 코드에서 생성 된 코드를 참조하면 어떤 문제가 발생하는지 알고 싶습니다.
내가 사용하는 코드는 다음과 같다 :
package com.example.movies.data;
@Database(
version = MovieDatabase.VERSION,
packageName = "com.example.movies.provider"
)
public class MovieDatabase {
public static final int VERSION = 1;
@Table(MovieColumns.class)
public static final String MOVIE = "movie";
// Some more tables here
@OnUpgrade
public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists " + MOVIE);
// The next SQL statement is generated out of the current class
db.execSQL(com.example.movies.provider.MovieDatabase.MOVIE);
}
}
생성 된 코드는 옆 :
당신이 볼 수 있듯이, 나는 소스 코드에 의해 생성 된 SQL 문을 필요package com.example.movies.provider;
public class MovieDatabase extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
// The next statement is the one I use in the source code
public static final String MOVIE = "CREATE TABLE movie ("
+ MovieColumns._ID + " INTEGER PRIMARY KEY,"
+ MovieColumns.TITLE + " TEXT NOT NULL,"
+ MovieColumns.SYNOPSIS + " TEXT,"
+ MovieColumns.POSTER_URL + " TEXT NOT NULL,"
+ MovieColumns.RELEASE_DATE + " INTEGER NOT NULL,"
+ MovieColumns.RATING + " REAL)";
// Some other SQL statements and functions
// The next function is generated out of onUpgrade
// in the source class MovieDatabase
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
com.example.movies.data.MovieDatabase.onUpgrade(context, db, oldVersion, newVersion);
}
}
, 언급 된 라이브러리를 사용한다는 아이디어는 모든 상용구 코드를 피하는 것입니다.
다른 대안이 있습니까?