2

ORMLite Androidの例を理解しています。ただし、ORMlite でマップしたいクラスが複数あります。

「SimpleData」クラスと一致するテーブルを作成する例では、これを使用しました:

public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
    try {
        Log.i(DatabaseHelper.class.getName(), "onCreate");
        TableUtils.createTable(connectionSource, SimpleData.class);
    } 

    catch (SQLException e) {
        Log.e(DatabaseHelper.class.getName(), "Can't create database", e);
        throw new RuntimeException(e);
    }

すべてのテーブル (クラスに一致するもの) を作成するにはどうすればよいですか?

4

2 に答える 2

3

だから多分私はあなたが何をしようとしているのか理解していません。上記のSimpleData例では、 からコードを引用していDatabaseHelperます。メソッドでは、onCreate必要な数のクラスを作成できます。

public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
    try {
        Log.i(DatabaseHelper.class.getName(), "onCreate");
        TableUtils.createTable(connectionSource, SimpleData.class);
        TableUtils.createTable(connectionSource, AnotherData.class);
        TableUtils.createTable(connectionSource, AndAnotherData.class);
        ...
    } catch (SQLException e) {
        ...

作業プログラム用。ClickCounterの例を見ると、onCreateメソッドに 2 つのエンティティが作成されます。

public void onCreate(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource) {
    try {
        TableUtils.createTable(connectionSource, ClickGroup.class);
        TableUtils.createTable(connectionSource, ClickCount.class);
    } catch (SQLException e) {
        Log.e(DatabaseHelper.class.getName(), "Unable to create datbases", e);
    }
}
于 2012-04-17T17:25:01.973 に答える
2

最初のものを作成したのと同じ方法: データベース内のテーブルを表すクラスを渡す TableUtils.createTable メソッドを複数回呼び出す

于 2012-04-17T17:21:46.583 に答える