0

データベースからデータをフェッチするArrayListを保存する必要があります.android.app.ApplicationクラスのサブクラスであるクラスでそのArrayListを宣言することを考えています。これは、アプリケーション全体で検索、並べ替えなどの目的で頻繁に必要になるためです。 .

1. It would be good approach to create get the Database instance in Application subclass.   
2. Storing a list in the Application subclass.

それが正しいアプローチかどうかはわかりません。このアプローチの欠点を知りたいです。他のアプローチを使用できるかどうかを提案します。

4

3 に答える 3

1

マニフェストでアプリケーションを宣言する必要があるという事実にもかかわらず、欠点があるとは思いません。

しかし、同じ結果を簡単に達成して、シングルトンを作成することができます。これは、IMHOの方がはるかにクリーンな方法です。

編集:

私はあなたの編集を見ただけで、私の答えを編集しています:

同じことがDBオブジェクトにも当てはまります。シングルトンを使おう!そして、最初のアクセスでDBを開きます。

于 2012-12-21T14:39:40.540 に答える
1

私があなたを正しく理解していれば、DBアクションを処理するクラスを設定し、必要に応じてそのクラスへの参照を作成し、必要なパラメーターを渡すことができます。ArrayListそれが必要なものであれば、返す関数を持つことができます。必要なものによっては、これを必要とするアクティビティのインターフェイスとして実装できる場合があります。

于 2012-12-21T14:41:34.113 に答える
0

Singleton デザイン パターンを使用するか、Android が提供する Application クラスを使用するかを決定する前に、考慮すべき点がいくつかあります。

これらの SO 投稿で、選択に役立ついくつかの引数を見つけることができます。

Android のデータベースに関する優れたチュートリアルは次のとおりです。

于 2012-12-21T14:52:23.617 に答える