2016-04-27 12 views
2

私はカートに商品のリストを保存しなければならないeコマースアプリケーションに取り組んでいます。カスタムオブジェクトの格納に静的フィールドまたはSharedPreferencesを使用する必要がありますか?

まず、スタティックフィールドを使ってカスタムオブジェクト(製品)のリストを保存しましたが、アプリケーションがしばらくの間シーンの後ろにいたときに問題が発生しました。静的フィールドはデータを失います。

次に、製品をSharedPreferencesに保存することに決めましたが、カスタムオブジェクトを使用しないという問題があります。最初にGsonとシリアル化して保存しておきたいときは、逆シリアル化します。

SharedPreferencesの問題は、私はいくつかの余分な作業(シリアライズとデシリアライズ)をしなければならないということです。私は何をすべきか?データをグローバルに格納する他の簡単な方法はありますか?

+1

いいえ一度に完全なオブジェクトを保存する場合は、シリアライズとデシリアライズを行う必要はありません。別のオプションは、共有環境設定の文字列として各オブジェクトを別々に保存することです –

+0

カートアイテムを保存するベストプラクティスは –

+0

あなたはすでにそれをやっています –

答えて

0

は、静的フィールドよりもSharedPreferencesを優先します。しかし、SQLite、ActiveAndroid、または他のORMを使ってデータを格納することができます。

ActiveAndroidは、データの実装と処理が比較的簡単です。 ActiveAndroid:https://github.com/pardom/ActiveAndroid

関連する問題