2017-10-03 5 views
-1

MVC構造体を使用しており、HTTPリクエストを行うためにretrofitを使用しています。私は、ユーザモデルを使用して、GSONコンバーターによって更新されたユーザデータをマッピングします。ログインしたユーザーは、すべてのアクティビティ(ID、名前など)に渡って静的なデータを保持する必要があります。また、updateTokenやlogoutなどのメソッドもあります。私が言及したように、Jsonの結果をマッピングするために同じクラスが必要なので、これをシングルトンにすることはできません。では、それを達成するためのベストプラクティスは何ですか?静的メンバーを使用してユーザーデータをすべてのアクティビティに格納し、ユーザーデータを取得および更新することは良いことですか?Android - すべてのアクティビティにモデルデータを保存

+0

が、私はこれが外部ライブラリを必要とせずに、ユーザーモデルの静的メソッドによって達成することができると信じて –

+0

あなたがEventBusライブラリを使用することができるオプションがあり

チェック、問題は同じクラスであります改造のためのデータモデルとして、およびログインしたユーザのために使用される。私は分けるべきですか? –

+0

SharedPreferencesの使用を検討したくないですか? –

答えて

0

私はこれらの変数を保持して静的にする新しいクラスを作成するべきだと思います。

+0

静的にするか、クラスSingletonを作成する方が良いですか?私はそれがシングルトンならば、それはすべての活動に渡ってデータを保持するのでしょうか? –

+0

はい、シングルトンを作成すると、すべてのアクティビティに渡ってデータが保持され、静的クラスよりも優れています。 – sudoman281

0

共有プリファレンスを使用して、JSON形式に変換されたモデルクラスデータを保存できます。このJSONは文字列に変換され、共有設定に保存されます。データをフェッチする必要があるときはいつでも、共有プリファレンスから文字列を呼び出し、それをGSONを使用してモデルクラスに再度解析します。このリンク https://stackoverflow.com/a/18463758/1791551

+0

これは頭痛のプロセスです。シンプトンにsharedPreferenceを一度ロードすると、パフォーマンスも –

関連する問題