User-Settings: Wie handelt ihr das?

Thallius

Top Contributor
Hi,

Rein Interesse halber wollte ich mal fragen, wie Ihr eigentlich mit den User-Settiings in euren Applikationen umgeht.

Ich sitze gerade an einer Applikation, wo der User viele verschiedene Frames öffnen, moven, resizen und schließen kann. Auf die Art kann er sich seine individuelle UI quasi zusammensetzen für das was er machen möchte. Es geht sogar sowiet, dass er diese Settings unter Namen speichern kann, so dass er je nachdem was er machen will, sich unterschiedliche Fenster-Settings laden kann.

Nun könnte ich die Positionen, Größen und Stati (Offen, Zu, Minimiert etc) beim Beenden des Programmes einfach in eine Propertie-Datei speichern und beim Start wieder lesen. Das finde ich aber echt nicht mehr up to date, da wenn der Rechner oder die Applikation abstürzt, dann alle Ämderungen weg sind. Also sollte man die Einstellungen bei jeder Änderung speichern. Dazu muss ich aber alle Frame-Ändeurngen überwachen und entsprchend jedesmal die Property-Datei mit allen Werten speichern. Das ist sehr inperformant.

Sinn macht hier sicher mehr eine Datenbank zu benutzen. Aber nicht jede Applikation braucht eine DB im Hintergrund und wenn ich es über sqlite mache ist der Vorteil wieder nicht so groß, da dieses ja auch nur eine dateibasiernde Speicherung ist.

Gibt es noch andere Methoden oder gar Ansätze die mir gerade nicht einfallen?

Gruß

Claus
 
K

kneitzel

Gast
Also jede Lösung wird unter dem Strich Datei-basierend sein, denn unter dem Strich muss es ja irgendwo dauerhaft gesichert werden.

Und eine Lösung mit einer Datenbanklösung (SQLite und co) hat den großen Vorteil, dass hier einige Optimierungen automatisch inbegriffen sind, die wichtig sein können. So müssen eben nicht - wie bei Textdateien üblich - alle Daten gelesen oder geschrieben werden. Statt dessen gibt es zielgerichtete Schreib- und Leseoperationen, die große Vorteile bieten, sobald die Datenmenge etwas größer wird und nicht immer alle Daten benötigt werden.

Properties in Dateiform sind gut, wenn man eben alles einliest in den Speicher und dann eben auch immer alles schreibt. Aber jetzt hast Du ja den Fall, dass nur kleine Subsets benötigt werden. (Ein User hat z.B. 20 Konfigurationen und er hat maximal Interesse an einer Konfiguration. Und selbst diese eine Konfiguration willst Du nicht ständig komplett laden sondern Du willst immer nur die Konfiguration von genau den Fenstern, die gerade angezeigt werden.)

Also daher ist von Deiner Beschreibung her eine Datenbanklösung wohl das Mittel der Wahl. (Zumal dies auch gekapselt sein kann, d.h. es kann leicht eine lokale/integrierte Lösung durch eine Netzwerklösung ersetzt werden. Dann gibt es in einer Firma z.B. die Möglichkeit auf einem Datenbankserver die zentrale Konfiguration liegen zu haben und der User hat diese Config überall egal auf welchem Rechner er arbeitet.)

Und durch die Nutzung der geeigneten Technologien gibt es dann oft auch entsprechenden Mehrwert. Ich kenne das jetzt z.B. vom MS SQL Server CE Erweiterungen bezüglich Replikation und so. Das kann auch hilfreich sein.

Das wäre so auf die Schnelle meine Sicht auf dieses Thema.
 

Joose

Top Contributor
Das finde ich aber echt nicht mehr up to date, da wenn der Rechner oder die Applikation abstürzt, dann alle Ämderungen weg sind. Also sollte man die Einstellungen bei jeder Änderung speichern.

Nicht unbedingt! Auch in den aktuellen Versionen von VS und IntelliJ kann es passieren das "Positionen von Frames" oder "geöffnete Tabs" nicht sofort gespeichert werden.
Mir schon hier und da mal passiert das eine der beiden IDEs abgestürzt ist und nach erneuten Starten musste ich meine letzten UI Anpassungen nochmals vornehmen.
Es ist nun mal so das es bei einem Absturz zu Datenverlust kommen kann. Hierbei sollte man natürlich versuchen die Möglichkeit eines Absturzes zu minimieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Login für User, der im Hintergrund Schedules ausführt Allgemeine Java-Themen 16
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
OnDemand Logfile pro User / Thread Allgemeine Java-Themen 7
W Java Telegram Bot - Eingabe durch User Allgemeine Java-Themen 2
T Loginname von User an PC im Netzwerk holen Allgemeine Java-Themen 2
K Jar/DLL Abhängigkeiten durch User angeben lassen Allgemeine Java-Themen 6
VfL_Freak JDK installieren System-Property "user.dir" Allgemeine Java-Themen 6
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
Bananabert Swing jtree : image als user object Allgemeine Java-Themen 2
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
S Random Passwort für den User + Hashen Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
T User Verwaltung mit JPA Allgemeine Java-Themen 2
B Java FTP (common net - user anlegen) Allgemeine Java-Themen 2
C Input/Output Beste Möglichkeit für user non-readable Datei Allgemeine Java-Themen 7
D Daten eines User auslesen. Allgemeine Java-Themen 5
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2
Kr0e User management system Allgemeine Java-Themen 2
B User-Input aus Zahlen und Operatoren - beste Umsetzung? Allgemeine Java-Themen 8
H blinde MAC User Allgemeine Java-Themen 15
H user.dir + verknüpfung Allgemeine Java-Themen 5
S "Guessed User name" bei Tomcat belegen Allgemeine Java-Themen 2
G Java Anwendung für Multi-User Allgemeine Java-Themen 2
K Chatengine User auf Chatbot Allgemeine Java-Themen 3
S Änderung an Proberties datei an alle User weitergeben? Allgemeine Java-Themen 7
P URL mit htaccess in Explorer öffnen (ohne user-passwort) Allgemeine Java-Themen 6
K JUnit 4 User Interaktion Allgemeine Java-Themen 7
P System.getProperty("user.dir") Allgemeine Java-Themen 10
B User Login: JPasswordField + JPasswordField_wdh vergleichen Allgemeine Java-Themen 2
J Suse + Tomcat + Sysdeo Plugin: Tomcat als user starten Allgemeine Java-Themen 2
T User-Kennung im Source hinterlegen? Allgemeine Java-Themen 4
T System.getProperty("user.home") Allgemeine Java-Themen 12
S Simple User Interface Frage Allgemeine Java-Themen 13
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
D NT User auslesen aus windows 2000 Allgemeine Java-Themen 2
A Synchronisation Datenquelle und Anwendung (Multi-User) Allgemeine Java-Themen 7
D System.getProperty("user.dir") ? Allgemeine Java-Themen 1
H Zugriff auf statische Methode durch mehrere User Allgemeine Java-Themen 19
J User Klasse in den Vector, Object Klasse wieder raus... Allgemeine Java-Themen 4
M Best Practice Glassfish Production Settings Allgemeine Java-Themen 0
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
K settings.properties in den src-ordner schreiben Allgemeine Java-Themen 2
G [Please help me out here. Problem by eclipse settings] Allgemeine Java-Themen 2
P Wie überprüfen ob es sich Hexadezimalzahl handelt? Allgemeine Java-Themen 2
H Prüfen, ob es sich um ein Integer handelt Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben