Androidアプリケーションのチェックボックスのステータスをさまざまな数で保存する必要があります。5〜10分ごとに、1つのチェックボックスのステータスを取得する必要があります(他のアクティビティでのユーザー操作によって変更する必要があります)。私はそれらをsharedPreferencesまたはSQLiteデータベースに保存できることを知っています。数またはチェックボックスは10から(無限-1)まで可変です。
私の最初のアイデアは、すべてのステータスを1つの文字列に格納することでした。
chk1:true,chk2:false,chk3:false,chk4:false,chk5:true
とで区切られ:
ます,
。1回のgetString()
呼び出しで、すべてのチェックボックスを取得できます。
チェックボックスの数が増えており、数千のデータを含む単一の文字列を使用することはできなかったため、このソリューションを終了しました。
私の2番目のアイデアは、すべてのchkを個別の設定で保存することでした。取得する必要がある原因がチェックボックスのステータスの倍になる可能性があるため、このソリューションを終了しました。10000 getString()
回以上呼び出されると想像してください。これはリソースの浪費です。
私の3番目のアイデアは、すべての単一のステータスをSQLiteデータベースに保存することです。
ID Status
1 T
2 F
3 F
4 F
5 T
このソリューションでは、DBに何度もアクセスする必要があるのは気に入らない。
今から5分ごとにチェックボックスのステータスを無限に取得する必要がある場合の最善の解決策(パフォーマンスとメモリ消費量)は何ですか?DBまたはsharedpref?DBの場合、dbを毎回開いてカーソルをインスタンス化する必要がありますか、それともアクティビティの開始時にインスタンス化する必要がありますか?