質問

OrmLiteを使用することにしたときに、かなり大量のコードが書かれています。

ドキュメントを読んだ後、私は次のように拡張する必要があることがわかりました。

MyClass extends OrmLiteBaseActivity<DatabaseHelper>

しかし、私はすでにListActivityでそれを拡張しています。

ormlitebaseativityを拡張せずに行うことは可能ですか?

事前にTNX。

役に立ちましたか?

解決

拡張する必要はありません OrmLiteBaseActivity. 。ユーティリティ機能を自分で管理するだけです。

あなたの最良の選択肢は、あなた自身を作成することです DatabaseHelper あなたのアクティビティ内で、そしてそれが何人のユーザーがいるかを管理し、それが使用されたときにそれを破棄するために。一般的に言えば、これはユーティリティです OrmLiteBaseActivity あなたに与えます。データベースオブジェクトを管理するメカニズム。それはただの便利です。


例:

private static Dao<Agent, Object> agentDao = null;
public void someMethod() {
    if(agentDao == null){
      helper = (MyDBHelper) OpenHelperManager.getHelper(getContext());
      try {
        agentDao = helper.getAgentDao();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }

クラスMydbhelperにDAOを返す方法を実装しました。を見てください ormlite android javadoc より一般的なものと同様に Ormlite Core Javadoc. 。そこにはたくさんの良い例があります。

他のヒント

@ニックの答えは大丈夫ですが、もっと情報を追加すると思いました。

ormliteにはありません OrmLiteBaseListActivity バージョン4.10に追加されたクラス - ミスについて申し訳ありません。それまでの間、あなたはこのクラスの独自のバージョンを簡単に作成することができます OrmLiteBaseTabActivity クラスが伸びるクラスを変更します TabActivityListActivity. 。次に、すべてのリストアクティビティクラスを変更して、この新しいクラスを拡張します。 4.10が発生したら、戻ってクラスを削除できます。

例えば:

public abstract class OrmLiteBaseListActivity<H extends OrmLiteSqliteOpenHelper>
    extends ListActivity {
    // insert contents of the OrmLiteBaseTabActivity class here
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top