0

jenkins を使用して、ORMLite を使用する Android ライブラリ プロジェクトをビルドしていますが、解決方法がわからない次のエラーが表示されます。

[javac] /Users/x/Desktop/workspace/x/src/com/x/x/database/DatabaseHelper.java:109:
    type parameters of <D>D cannot be determined; no unique maximal instance exists
    for type variable D with upper bounds com.x.x.database.dao.DatabaseObjectDao,
    com.j256.ormlite.dao.Dao<com.x.x.database.entity.UserEntity,?>
[javac] sUserEntityDao = getDao(UserEntity.class);

どんな助けでも本当に素晴らしいでしょう:)

4

1 に答える 1

0

したがって、以下はおそらく間違っていますが、後世のために残します。最初はこれは ORMLite エラーだと思っていましたが、今ではコンパイラ エラーだと思います。

この質問/回答を見るべきだと思います:

コンパイラは、一意の最大インスタンスが存在しないと述べているのはなぜですか?


例外ツリーの一部に次のようなメッセージがある場合、これはORMLiteエラーである可能性があります。

Could not find OpenHelperClass because none of the generic parameters of class 
YourActivityClass extends OrmLiteSqliteOpenHelper.  You should use
getHelper(Context, Class) instead.

Android アプリケーションの単純な ORMLite パターンは、アクティビティを拡張することOrmLiteBaseActivity<YourDatabaseHelper>です。何かのようなもの:

public class HelloAndroid extends OrmLiteBaseActivity<DatabaseHelper> {

その後、 を呼び出すとgetHelper()、ORMLite はDatabaseHelper使用するヘルパー クラスを自動的に判断できます。ORMLite の配線をセットアップする方法は他にもあります。Android の開始ドキュメントを見てから、Android のサンプル プログラムを見てみましょう。

于 2013-08-06T14:11:16.253 に答える