0

私は、起動時に API からデータを取得する Android アプリを開発しています。このデータは、生涯を通じて保持する必要があります。このデータは、アプリケーション内の任意のコンポーネントからアクセスできる可能性があるため、Application クラスで初期化されたシングルトンで常に解決していました。ただし、シングルトンはテストが難しいため、代替案を考えています。アプリケーションが開くたびにデータが取得されるため、共有設定にデータを保存しないでください。ここではシングルトンが最適なオプションですか?

前もって感謝します

4

1 に答える 1

0

それはどのようなデータですか?

それがニーズに合っていて、何らかの種類のレコードを保存している場合、クエリと書き込みを容易にするためにSQLiteDatabaseを使用することをお勧めします。

ある種の設定だけであれば、私はSharedPreferencesを自分で使用しますが、テーブルの外にある場合は、 Environmentを使用して解決できるパスにデータを書き込むだけです。getExternalStorageDirectory () が利用可能な場合、そうでない場合はContextにフォールバックできます。getFilesDir ()

たとえば次のように..

BufferedWriter bw = new BufferedWriter(new FileWriter(new File(mContext.getFilesDir(), "prefs.dat")));
bw.write(data);
bw.close();

同じように読み返す

BufferedReader br = new BufferedReader(new FileReader(new File(mContext.getFilesDir(), "prefs.dat")));
data = br.readLine();
br.close();

途中で、JSON などのプレーンテキストよりも優れた形式にデータをシリアル化できます。

于 2016-08-19T10:15:15.100 に答える