Benutzerprofile in Java einbinden - welches Dateiformat?

Angiii

Erfahrenes Mitglied
Hallo,

ich habe zu Testzwecken ein einfaches Java-Applet geschrieben, welches ein paar LEDs über einen Mikrocontroller ansteuert. Das Applet stellt eine einfache Testanwendung dar, welches als Basis für eine spätere "richtige" Anwendung dient.

Durch das Applet können die einzelnen LEDs ein- und ausgeschaltet und in ihrer Helligkeit geregelt werden. Aufgabenstellung ist nun, dass verschiedene Personen die LEDs jeweils anders konfiguriert haben wollen.
Person A will zum Beispiel LED 1 an haben, LED 2 aus und LED 3 auf 100% Helligkeit.
Person B will LED 1 aus, LED2 ein und LED 3 auf 25 % Helligkeit haben.

Diese Konfigurationen sollen in Benutzerprofilen gespeichert werden. Aus diesen Profilen können sie bei Bedarf wieder geladen werden. Im Moment erstelle ich für jedes Profil eine eigene Textdatei und speichere die entsprechenden Konfigurationswerte darin. Das funktioniert zwar, aber ich finde das speichern in Textdateien wenig elegant, da zum Beispiel kein Schreibschutz vorhanden ist und jeder nach gutdünken in den Profilen rumpfuschen kann.... eventuell sollte das ganze sogar passwortgeschützt sein.
Speichern in XML-Dateien gefällt mir auch nicht (sehe darin keinen großen Vorteil zu meinen Textdateien).

Es gibt doch bestimmt eine schönere Weise, meine Benutzerprofile zu speichern, laden bzw. zu verwalten. Sollte natürlich auch nicht zu kompliziert sein....

Anforderung ist, dass auf dem Zielrechner keine größere und schon gar keine kostenpflichte Software installiert werden darf. Also z.B. kein Access....

Weiß da jemand was?
Vielen Dank im Voraus!
 
Weitere Möglichkeiten wäre Objekt-Serialisierung und eine Datenbank. Passwortschützen kannst du nur, wenn das Betriebssystem das auch unterstützt (also nein). Eine einfache Verschlüsselung der Daten sollte aber möglich sein, wobei du das bei Objekt-Serialisierung oder bei der Verwendung einer DB sowieso nicht brauchst.
 
Was du natürlich auch noch machen könntest, dass du das ganze in einer Properties-Datei im jeweiligen User-Home verzeichnis anlegst.
Voraussetzung ist natürlich, dass du die Daten auf dem Client-Rechner abspeichern möchtest.
So hast du nachher für jeden Nutzer eine Properties-Datei, auf die eigentlich nur der Nutzer zugreifen kann, da die anderen normal nicht in das Profil der anderen User kommen, es sei denn sie sind Admin.

Wenn du dann noch eine Verschlüsselung einbauen möchtest, kannst du das natürlich auch tun.

MFG

Sascha
 
Hallo,

du könntest für sowas auch einfach das Preferences API verwenden.

Java:
/**
 * 
 */
package de.tutorials;

import java.util.prefs.Preferences;

/**
 * @author Thomas.Darimont
 *
 */
public class UserPreferencesExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Preferences userPreferences = Preferences.userNodeForPackage(UserPreferencesExample.class);
        if("default".equals(userPreferences.get("property", "default"))){
            System.out.println("set property");
            userPreferences.put("property", "test");    
        }
        
        System.out.println(userPreferences.get("property", "default"));
    }
}

AFAIK werden die Informationen unter Windows in der registry abgelegt (in diesem Fall im User-Zweig). Unter Linux wird dazu eine normale Properties Datei im User-Home erzeugt.

Gruß Tom
 
Zurück