2012-05-10 4 views
1

Androidのsharedpreferencesを使用して、さまざまなアクティビティ間でJavaオブジェクトを渡すことはできますか?Androidでsharedpreferencesを使用してJavaオブジェクトを渡す

+1

ない:ネイティブは、グローバルな状態を使用することです。 –

+0

回避策はありますか? – Kalaji

+0

いいえ回避策はありません。ポインタを渡すことはできません。 –

答えて

1

「バンドル」、おそらく行くには最高の方法です:

意図とバンドルは、別のアクティビティへのオブジェクトの1つの 活動からを転送するには、2つのクラスです。あなたは、あなたのバンドル内の「オブジェクト」を渡したい場合は、そのオブジェクトは「Parcelable」を実装する必要がありますバンドルオブジェクトを作成し、意図

に にそれらを置くことができます。

さらに別のALTERあなたはマーシャルそれは、Parcleableを調べない限り

+0

私はそれを試しています..ありがとう – Kalaji

0

いいえ。そのためには、Applicationクラスの実装をシングルトンとして作成し、そこでオブジェクトへの参照を保持することをお勧めします。

コメントを編集して編集: シングルトンには多くの欠点があります。他の解決策が不十分な場合にのみ使用してください。

+0

これはおそらくあなたのデザインの骨が折れている部分を示しています。 –

+0

@Kristopher Micinski:どういう意味ですか?アプリケーションクラスやシングルトンパターンを実装することに異議はありますか? – OlivierLi

+1

私の反対は、あまりにも多くの人が本当に必要がないときにシングルトンを保持したいということです。私の反対はあなたのコメントではありません。あなたがそれを考え、それを合理化すれば、それは大丈夫です。しかし、実際にはあなたのアプリの中でこれをより良いものに区画化することができるべきであるときに、あなたは単にあなたのデザインをハックするために "グローバル変数"を使うことができるという非常に急いでいる考えがあります。 –

関連する問題