使用ORMLite时构造函数出错

时间:2013-05-28 15:44:13

标签: android ormlite

我遇到了一个问题:无法找到只有辅助类的(context)参数的构造函数...

class ORMDBHelper extends OrmLiteSqliteOpenHelper {
    private EventDAO mMyDao;

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

    @Override
    public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
        try {
            TableUtils.createTable(connectionSource, MyClass.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource,
            int oldVersion, int newVersion) {
        try {
            TableUtils.dropTable(connectionSource, MyClass.class, true);
            onCreate(db, connectionSource);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public EventDAO getEventDAO() throws SQLException {
        if (mMyDao == null) {
            mMyDao = new MyDAO(getConnectionSource(), MyClass.class);
        }

        return mMyDao;
    }

    public void clearTable(Class dataClass) throws SQLException {
        TableUtils.clearTable(getConnectionSource(), dataClass);
    }

    @Override
    public void close() {
        super.close();

        mMyDao = null;
    }
}

哪里出错:

mDbHelper = OpenHelperManager.getHelper(context, ORMDBHelper.class);

我找到了一些答案,但它们是混淆的解决方案。

1 个答案:

答案 0 :(得分:1)

  

无法找到只有辅助类的(context)参数的构造函数...

确保ORMDBHelper类为public,否则类和构造函数将不可见。

否则它可能是指一个不同的ORMDBHelper类,或者某个Context参数可能是错误的类型?