2011-09-14 10 views
0

私はいくつかのユーザー設定を保存する方法を必要とする非常にシンプルなJavaアプリケーションがあります。私はバイナリ形式で保存したいので、XMLは本当に良い解決策ではありません。だから、この場合、組込みデータベース(Apache Derbyなど)や単純な古いシリアル化の中で最善の解決策は何でしょうか?
これは2つの全く異なることですが、どちらもアプリケーションの状態を維持することができます。だから、あなたは何を選んだのですか?なぜですか?シンプルなスタンドアロンアプリケーションのための組み込みデータベースとの比較

編集
限り保存する簡単なユーザの好みが行くように、.propertiesファイルやXMLファイルは大丈夫です、私はあなたに同意。しかし、パスワードやアプリケーション固有のデータを保存する場合はどうすればよいですか?

+3

「バイナリ形式で保存したいから」どうして?なぜそれを複雑にするのですか? –

+0

よく、これは一般的なケースではありませんが、ユーザーがこれらの設定を編集できないようにしたいと考えています – jFrenetic

+0

"これらの設定を編集できないようにする"。それは面白い。本当の理由は何ですか?真剣に、誰でもバイトレベルのエディタや小さなPythonスクリプトでバイナリファイルを微調整できます。 –

答えて

2

Apache Derbyは組み込み可能なリレーショナル・データベースであるため、リレーショナル・データを格納および操作するために使用できます。いくつかのユーザー設定を永続化するために埋め込みDBを使用するのはちょっと残酷です。

私の場合は、永続的なユーザー設定にシンプルなキーと値のペアのシリアル化を使用します。

+0

あなたはいくつかの非常に重要な側面について説明しました。 「リレーショナルデータ用のデータベースを使用する」や「少数の設定だけを格納するためにデータベースを使用しない」などです。完全にあなたと同意します。答えをありがとう! – jFrenetic

3

ユーザー設定は、一般的な特性は、環境設定APIを使用して、XML形式に

  • 環境設定を使用してフォーマット
  • プロパティをファイルを使用して、

  • +0

    Preferences APIに感謝します。私はそれについて読む必要があります。これは本当に一般的ですか?私は以前これを見たことがない。私は主に分散アプリケーションを開発しており、データ/構成設定を格納するためにRDBMS、プロパティ、xmlファイルを使用することがよくありました。しかし、もし私がアプリケーションの状態を保存したいのであれば、いくつかのユーザ設定だけではなく(内部のカウンタを言いましょう)?また、パスワードはどうですか?そのようなデータをXMLに保存することは実際には良い考えではないと思います。 – jFrenetic

    +0

    アプリケーションの状態が一部の内部カウンタだけである場合、私はなぜプリファレンスAPIを使用すべきでないのか分かりません。それが巨大なオブジェクトグラフで構成されている場合は、別の問題です。パスワードは、XMLファイル、テキストファイル、バイナリファイル、データベースに格納されていても常に重要な情報です。それは、ユーザーがそれを受け入れ、リスクを理解することなく保存するべきではありません。しかし、フォーマットは関係ありません。 –

    関連する問題