Java利用Preferences設置個人偏好


Java利用Preferences設置個人偏好

Preferences的中文意思即偏好或喜好的意思,也就是說同一個程序在每次運行完后,可以通過Preferences來記錄用戶的偏好,下次啟動時,程序會利用這些信息來了解用戶的喜好。而這些信息個人理解應該就是存儲在系統的注冊表中。

下面我們來學習一下Java中的Preferences的API;
概述:

本文將介紹自jdk1.4版本后可用的java的Preferences. Java的Preferences API提供系統的方法來處理用戶和系統的偏好及數據配置, 例如.保存用戶設置,記住一個文本框的最后一個值等. 用Java的Preference保存的信息被存儲在用戶本地的機器上,這些信息將會被這個程序重復使用.

我們並不希望Java Preferences API來保存應用數據。

java Preference API減輕了程序員編寫代碼來保存跨平台程序的配置信息的負擔。

1. Java Preferences API
1.1. 介紹
The Preferences API 提供一種系統的方法來處理用戶的偏好設置信息,例如.保存用戶設置, 記住某個文本框的最后一個值等.

Preferences 是一個可以為任意名字的鍵/值對. 值可以為布爾型,字符型, 其他簡單的數據類型,如int. Preferences 通過get和set來獲取和設置偏好信息,且get的方法可設置一個默認值,當要獲取的鍵未被設置值時,就返回此默認值.

1.2. 數據的實際存儲
數據的實際存儲是依賴於操作系統平台的, 例如.在Windows 下面是使用注冊表來保存這些信息,而在Linux下面是使用用戶的home目錄下面的一個隱藏文件來存儲的.

2. API使用
java.util.prefs.Preferences 很容易使用. 你不得不定義一個節點來存儲數據. 接下來就可以使用get和set的方法. 第二個參數是默認值,即當找不到值時,得到的就是這個默認值了, 例如. 如果preference的值還未設置, 那么將會返回這個默認值.

創建代碼如下:

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();       
}       
}      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM