This Java Preferences API is not  indented to save application data. The Java Preference API removes the burden  from the individual programmer to write code to save configuration values on the  different platforms his program may be running.
The Preferences API provides a  systematic way to handle program preference configurations, e.g. to save user  settings, remember the last value of a field etc.
Preferences are key / values  pairs where the key is an arbitrary name for the preference. The value can be a  boolean, string, int of another primitive type. Preferences are received and  saved by get and put methods while the get methods also supply a default value  in case the preferences is not yet set.
The actual storage of the data is  dependent on the platform, e.g. under Windows the Windows Registry is used while  under Linux a hidden file in the home directory of the user is used.  
java.util.prefs.Preferences can  be easily used. You have to define a node in which the data is stored. Then you  can call the getter and setter methods. The second value is the default value,  e.g. if the preference value is not set yet, then this value will be  used.
Create the following  program.
import java.util.prefs.Preferences;
public class PreferenceTest {
             
             private Preferences prefs;
             public void setPreference() {
                          // This will define a node in which the preferences can be  stored
                          prefs =  Preferences.userRoot().node(this.getClass().getName());
                          String ID1 = "Test1";
                          String ID2 = "Test2";
                          String ID3 = "Test3";
                          // First we will get the values
                          // Define a boolean value
                          System.out.println(prefs.getBoolean(ID1,  true));
                          // Define a string with default "Hello World
                          System.out.println(prefs.get(ID2, "Hello  World"));
                          // Define a integer with default 50
                          System.out.println(prefs.getInt(ID3, 50));
                          // Now set the values
                          prefs.putBoolean(ID1, false);
                          prefs.put(ID2, "Hello Europa");
                          prefs.putInt(ID3, 45);
                          // Delete the preference settings for the first  value
                          prefs.remove(ID1);
             }
             public static void main(String[] args) {
                          PreferenceTest test = new PreferenceTest();
                          test.setPreference();
             }
}
Run the program twice. The value of "ID1" should be still true as we delete it. The value of "ID2" and "ID2" should have changed after the first call.


No comments:
Post a Comment