2011-02-02 8 views
1

写真のいくつかをダウンロードして電話のdata/data/project/usernameディレクトリに保存して、表示したい)ユーザ名を持つユーザが自分のアプリケーションを使用するたびに。アンドロイドで画像をリロードしようとすると奇妙な問題が発生する

この写真が保存されている電話のパスにリンクリストを作成しました。新しい写真がダウンロードされるたびに、このリンクリストに追加されます。アクティビティが作成/停止されるたびに、これらのリンクを含むリストをデシリアライズ/シリル化します。

私はチェックして、シリアル化されていないリストには電話の写真への適切なリンクが含まれているように見えますが、私がこのアクティビティを開始したときには何も画面に表示されませんユーザーがログインするたびに写真をダウンロードし、適切に表示され、すべてがうまくいっていた)、ログキャッチなどでエラーが発生していない。私は最初に、写真のURLをリストに追加するときにいくつかのタイプミスがあったと思ったが、私はチェックしてすべてうまく見える。何か案は? (考えて)

+2

なぜシリアル化を手動で使用しますか? Androidには、Bundleというオブジェクトがあり、これは特にアクティビティの状態を格納/取得するために使用されます。基本的に、アクティビティが一時停止されている場合は、バンドルを使用してリンクされたリストを保存し、アクティビティが再開したときに戻します。詳細については、この質問を読む:http://stackoverflow.com/q/151777/422931 – gulbrandr

+0

リンク、gulbrandrありがとう! – asenovm

+0

ようこそ。だから、あなたはあなたの問題を解決しましたか? – gulbrandr

答えて

2

Flickrの写真は一意のIDを持っています。デバイスの内部ストレージに写真を保存するときは、名前にIDを使用します(たとえば、123456111.jpg)。ユーザーがFlickerに再接続したとき、既にダウンロードされている場合はギャラリー内の各画像を確認するだけです。

キャッシュディレクトリにはgetCacheDir()を使用することをお勧めします。これはAndroidによって自動的に管理されるためです。

+0

onCaveからアクセスしようとすると、ダウンロードした写真の情報を保存するonSaveInstanceState()のバンドルは常にnullです。 – asenovm

+0

http://stackoverflow.com/questions/3730708/how-to-send-an-arraylist-of-custom-objects-in-a-bundle – fiction

+0

なぜあなたはbundleを使い続けますか? – fiction

関連する問題