Frage

Ich Baue eine Anwendung, die für Windows -, Mac-und Linux-bald.Ich fragte mich, wo sollte ich halten die Anwendung Daten wie Einstellungen, etc.

Anwendung installation Ordner ist die einfachste Wahl, aber ich denke, dass könnte ein problem mit der neuen Vista-security-Modell.Neben, Benutzer möchten möglicherweise verschiedene Einstellungen.

Ist es C:\Documents und Einstellungen\Benutzername\MyApp gut für Vista und XP?Ist es /home/username/.Anwendung-gut für Linux und Mac?

Irgendwelche Ideen und/oder links zu best practices sehr geschätzt.

Vielen Dank!

Juan

War es hilfreich?

Lösung

Jede Plattform verfügt über eine eigene API für den Home-Ordner des Benutzers zu finden, oder Dokumente-Ordner oder Ordner Einstellungen.

  • Fenster: SHGetFolderPath () oder SHGetKnownFolderPath ()
  • Mac OS X und iPhone OS: NSSearchPathForDirectoriesInDomains ()
  • Unix: $ HOME Umgebungsvariable

Sie hart codieren nicht bestimmte Pfade oder einfach nur ein Präfix und Suffix auf den Namen des Benutzers heften. Versuchen Sie auch, zu folgen, was Konventionen dort für die Plattform ist für die Benennung der Dateien.

Andere Tipps

In Bezug auf Best Practices, Jeff einen Artikel geschrieben auf Benutzerraum verschmutzen, die Ihnen nützlich sein könnten: Do not User Space Verunreinigen

Als allgemeiner Punkt, würde ich empfehlen, die Umsetzung Ihrer Einstellungen in einen ‚Einstellung Provider‘ abstrahieren und verschiedene Anbieter für jede Plattform. Auf diese Weise können Sie die Speicherung der Einstellungen in der Art und Weise implementieren, die am besten die Zielplattformen (beispielsweise eine Datei auf Linux oder Windows-Registry) entspricht.

Sie nicht einfach den ‚kleinsten gemeinsamen Nenner‘ adoptieren. Wo Sie Inhalte, die ausdrücklich in Dateien gespeichert werden müssen, haben Sie Ihre Einstellungen Provider den plattformspezifischen Speicherort für diese Dateien aus.

Ich bin nicht :)

Ich bin mit USERPROFILE in Windows und HOME in Mac / Linux. Aber auch so, muss ich wissen, dass das sind die richtigen Stellen.

Danke!

Im Fenster müssen Sie eine andere Ebene tiefer als nur das Benutzerprofil gehen. Verwenden Sie die Ordner Anwendungsdaten.

Unter Windows verwende ich APPDATA und auf Linux Ich benutze HOME.

Nie, nie Speichern von Benutzerdaten im Anwendungsordner. Es ist nur eine schlechte Idee.

Die meisten Betriebssysteme haben ein $ HOME (oder% HOME%) Umgebungsvariable. Das wäre der erste Ort zu suchen.

Wenn Sie möchten, sauber, mehrere Betriebssysteme unterstützen, aber Sie gehen einige OS-spezifischen Code für jeden zu haben zu haben, die genau herausfindet, wo die Dinge gehen müssen. (~ / Library für Mac OS, ~ / .config für GNOME-basierte Systeme% HOME% / Anwendungsdaten für Windows, etc.).

Welche Sprache wollen Sie verwenden? Java zum Beispiel verfügt über eine eigene Preference API rel="nofollow .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top