2012-01-10 7 views
1

私はアンドロイドアプリケーションを開発中です。アプリケーションのコンテンツはWebサービスを使用してWebサーバーから取得されます。私はWebサーバーからデータを取り出し、モバイルDBに格納し、アプリケーションとその作業全体にアクセスしていますが、問題はモバイルDBからレコードを取っているうちに時間がかかり、アプリケーションがハングするということです。アンドロイドアプリ全体でJavaコレクションを維持する方法

ハッシュマップやハッシュテーブルなどのJavaコレクションを維持して、ユーザーがアプリケーションをログアウトしてコレクションのデータを追加または更新できるようになるまで、アプリケーション全体で維持することは可能ですか?もしそうなら、私を案内してください。その非常に緊急の...私を助けてください。

+1

感謝。私はすべての可能な解決策を試みます。もう一度感謝します。 – deepa

+0

それを試し、あなたの質問に合った答えを受け入れてください。 –

答えて

0

まず、目的を保存するためにユーザーdbより優れています。 db querysを最適化する方法と、db querysを使用する方法を探してください。しかし、とにかく、最初のアクティビティでオブジェクトの静的ハッシュマップまたはarraylistを作成できます。次に、このコレクションオブジェクトを任意の場所で使用して任意の操作を実行できます。アプリケーションのログアウトやコレクションの作業中に例外が発生した場合を除いて、このオブジェクトは取り消されません。

クラスMylunchedActivityはActivty {

パブリック静的HashMapの地図=新規HashMapを()に延在します。 }

あなたの最初のアクティビティはMylunchedActivityです。次に、MylunchedActivity.mapを使用することによって、あなたがマップすることができます。

私はこれが役に立ちそうです。

よろしく、 ラヴィすべてのあなたの貴重なソリューションのための

0

スタンドアロンクラスまたは静的クラスを使用して、格納する必要がある実行時スタティックデータを維持します。

+0

スタンドアロンクラスを使用すると、コレクション内の既存のデータを更新、削除できますか?あなたはメモリの問題が発生する可能性がありますこの方法を使用して少し多くまたはいくつかの参照リンク – deepa

+0

を説明してください。 –

+0

スタンドアロンでは、スタンドアロン検索のgoogleのためにデータやコレクションを操作するために必要なメソッドを多く定義することができます。 – jeet

0

は、Applicationクラスのグローバルシングルトンを作成し、私が使用活動からアクセスすることができました。

多くのデータを使用する場合は、Global Singletonでデータを渡すことができます。

public class YourApplication extends Application { 

public SomeDataClass data = new SomeDataClass(); 
// Your JAVA collections... 
} 

その後で任意の活動でそれを呼び出す:詳細情報については

YourApplication appState = ((YourApplication)this.getApplication()); 
appState.data.UseAGetterOrSetterHere(); // Do whatever you need to with the data here. 

はここAndroid Application Class

関連する問題