ORMLite を使用することにしたとき、かなり大量のコードを記述しました。
ドキュメントを読んだ後、次のように拡張する必要があることがわかりました。
MyClass extends OrmLiteBaseActivity<DatabaseHelper>
しかし、私はすでに ListActivity で拡張しています。
OrmLiteBaseActivity を拡張せずにそれを行うことは可能ですか?
事前に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と、より一般的なORMLiteCoreJavadocをご覧ください。そこには良い例がたくさんあります。
[ @Nick の回答は問題ありませんが、さらに情報を追加すると思いました。]
ORMLite にはOrmLiteBaseListActivity
、バージョン 4.10 で追加されたクラスがありません。欠落していて申し訳ありません。それまでの間、このクラスの独自のバージョンを簡単に作成できます。クラスをコピーしてOrmLiteBaseTabActivity
、拡張元のクラスを に変更TabActivity
しListActivity
ます。次に、すべてのリスト アクティビティ クラスを変更して、この新しいクラスを拡張します。4.10 がリリースされたら、戻ってクラスを削除できます。
例えば:
public abstract class OrmLiteBaseListActivity<H extends OrmLiteSqliteOpenHelper>
extends ListActivity {
// insert contents of the OrmLiteBaseTabActivity class here
}