0

シンプルなデータ型では、SharedPreferencesがより簡単で高速になると、SQLiteは大量のデータを扱うように設計されています。Sharedpreferences Vs SQLite with search without large data

私は、1年の毎日のために単純な真のfalseブール値を保存したいと思います。これは、3次元jsonを作成し、それを共有設定(または、年としてキーを持つ次元配列に)として格納するか、年月とデータを別々の列として作成する必要があることを意味します(または、単純な日付列にすることもできます)。私はまた、 "YYYY-MM-DD"を365ブールのsharedPreferencesのキーとして使うことができます)。

ここに質問があります。もし私が100%確信しているなら、特別なパラメータ機能によって検索/グループ化/選択をする必要はないでしょう。シンプルなブール値(たとえ365 +ブール値の場合でも)を保存する必要がある場合、私はSharedPreferencesを使うべきだと思うので、それはより速い解決策です。しかし、SharedPreferencesがこのような多くの変数を格納することになっているかどうかわからないので、私には間違っているようです。

追加:

これらのブール値は、オフラインでのみ負荷やユーザーの観点からするというより高速なアクセスのためにローカルに保存されます。これらの1 | 0の値は、アプリのユーザーごとにサーバーに保存されるため、データで複雑な作業を行っても、電話で行う必要があるかどうかはわかりません。

答えて

1

あなたのデータを共有設定に保存することは良いアイデアのように思えるかもしれませんが、実際には正常に動作しますが、簡単な方法です。あなたは将来何が必要なのか分からない。あなたの要件は現時点では達成されていますが、決して縮尺は変わりません。一般的には、少し時間を投資して物事を適切に設定し、長期的に利益を得る価値があります。

もちろん、いくつかのラピッドプロトタイピングや簡単なデモを行っている場合は、別の話です。

"複雑なデータベース"を設定するなど、時間がかかることはありません。試してみてください。Realm本当に速いです。

+0

この領域のものは面白く聞こえる、提案ありがとう!また、試作品を作ろうとしても時間が無駄になるとは思わない。私の経験から言えば、これらのヘルパーは複数のプロジェクトで役立ち、プログラムされていれば非常に便利でフレキシブルで、長期間に渡ってあなたが指摘したように時間を節約できます。 –

2

共有プリファレンスは365値をとることができます。共有プリファレンスの最大サイズはthisによると約1.4MBです。ボリュームやユーザー設定などの非常に少量のデータを保存するために、私はsqliteデータベースに行くことをお勧めします。それを設定するには時間がかかりますが、それは費やした時間の価値があるでしょう

+1

これは新しいものです。私はそれがいくつかのサイズの制限があることを知らなかった、あなたは多くの潜在的なバグから私を救った。どうも –