私はAndroidの開発にはまったく新しく、ちょっとした趣味のプロジェクトで勉強しようとしています。私のアプリは、アプリケーションが適切に再開するためには、メインアクティビティ用に保存する必要がある比較的少量の状態を持っています。さらに、私のアプリはwebappと同期しているので、保存したいと思うすべての状態のJSONベースのシリアル化ロジックが既に含まれています。オブジェクトを直列化する比較的小さな(〜数KB)文字列を格納するためにSharedPreferencesを使用するのは良いですか?内部ストレージを使用してテキストファイルに書き出すほうがよいでしょうか?助けてくれてありがとう!シリアライゼーションのSharedPreferences?
0
A
答えて
2
共有プリファレンスは、そのような種類のデータを保存するのに適しています。内部ストレージ内のファイルを使用する方が良いかどうか分かりません。 (データが大量だった場合は、SDカード上のファイルを使用することを検討したい)
0
共有設定は、たとえば好みのような名前の値のペアを格納するために使用されます。これらのデータを格納するために使用されるフォーマットは、単純なXMLファイルです:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="id1">text1</string>
<string name="id2">textb</string>
<string name="id3">text</string>
</map>
だからあなたの文字列が大きなわずか数キロバイト結果(XMLベース)であるとき、データ関係へのオーバーヘッド格納するときなどではありません同じ構造の大きな文字列。 この場合、小さなデータセットを格納するほうが効率的です(たとえば、JSONライブラリを使用していますか?!)。
もう1つの欠点は、xmlファイルにjavaファイルオブジェクトとしてアクセスできないため、削除できないことです。
関連する問題
- 1. シリアライゼーションの制御
- 2. Scala/Akkaのシリアライゼーション
- 3. C#のJsonシリアライゼーション
- 4. sharedpreferences
- 5. Javaとオブジェクトのシリアライゼーション
- 6. ストラクチャードスカラケースクラスのカスタムjsonシリアライゼーション
- 7. シリアライゼーションとデシリアライゼーションのC#
- 8. GWTシリアライゼーションMyObject java.sql.Timestamp
- 9. シリアライゼーションとポインタJava
- 10. GPUシリアライゼーション分解
- 11. シリアライゼーションjava to c#
- 12. 4 FIFOとシリアライゼーション
- 13. シリアライゼーション例外
- 14. CGLibとシリアライゼーション
- 15. Android SharedPreferences
- 16. SharedPreferences issues
- 17. SharedPreferences - Android
- 18. SharedPreferences - OnSharedPreferenceChangeListener
- 19. SharedPreferences Facebook
- 20. SharedPreferencesクラス
- 21. モノトーンのシリアライゼーションの問題
- 22. シリアライゼーションのないオブジェクトのクローニング
- 23. ブーストのシリアライゼーション:ライブラリへのリンク
- 24. Wicketアプリケーション、シリアライゼーション、Javaタイマー
- 25. シリアライゼーション、強いtypeプロパティ
- 26. CSharp/DotNet:シリアライゼーション、ジェネリックス、ベースクラス
- 27. Javaのシリアライゼーションと継承
- 28. シリアライゼーション - C++とJavaの違い
- 29. JSONシリアライゼーションと.NET SQLのパラメータ
- 30. SharedPreferencesの整数カウンター