0

私はAndroidプログラミングを学ぶために新しいプロジェクトに取り組んでいます。したがって、アクティビティ間でデータを処理する方法を知りたいです。

リモートXMLファイルを解析してすべての解析済みデータをリストに入れるMainActivityがあります。さらにMainActivityはすべてのMyDataのリストを表示し、アイテムをクリックするとDetailActivityが起動します。

しかし、今はMyDataアイテムのParcelableでputExtraを使用して、データ(テキストのみ)を表示しています。だから私はそれが正しい方法であるかどうか知りたいですか?

そして、私は別の質問があります。MainActivityでは1つのリモートXMLファイルを処理しますが、2番目のリモートXMLファイルを処理するアクティビティSecondActivityがある場合。MainActivityとSecondActivityを切り替えるときに多くのダウンロードを回避するために、これら2つのファイルを1回だけダウンロードするにはどうすればよいですか。

ありがとう

4

2 に答える 2

4

繰り返しダウンロードしないように、ファイルを電話に保存します。ファイルの存在を確認し、存在しない場合はダウンロードして保存します。アクティビティ間でデータを渡すことに関しては、IntentのputExtraメソッドが正しいメソッドです。私はパーセル可能よりもシリアル化可能を好みますが、それはパーセル可能の実装が難しいためかもしれません。

putExtraメソッドの簡単な例については、こちらをご覧ください: StackOverflowの回答

于 2012-10-16T21:38:21.613 に答える
0

あなたの代わりに、XMLから解析されたデータを保持するシングルトンクラスを作成します。これにより、両方のアクティビティがデータにアクセスできるようになります。Parcelableの処理は困難であり、単純なデータ型でのみ使用する必要があります。また、このアプローチが推奨されることも読みました。あなたの場合、別のクラスでXMLを解析します。リストを使用しているため、データはArrayListまたはArrayに配置されます。アクティビティ間で渡す必要があるのは、詳細を表示し、シングルトンクラスにあるArrayListから取得するデータのインデックスだけです。私はこの種のアプローチを使用しました。さらに、アプリケーション内の任意のアクティビティからこの方法でデータにアクセスできます。

于 2012-10-16T21:40:21.847 に答える