2011-01-11 60 views
2

我正在使用首選項屏幕配置的動態壁紙。我使用共享偏好來存儲顏色,速度和壁紙運動等內容。由於我有很多設置,因此我希望用戶能夠:實現加載/保存偏好設置的'profiles'?

  • 將所有當前首選項保存在配置文件下,其中配置文件由用戶指定名稱。
  • 用戶可以通過名單從列表中選擇一個配置文件並恢復其所有設置。
  • 用戶也可以刪除配置文件。

任何人都可以推薦一個很好的方式做到這一點?

我的一個想法是將所有當前首選項保存到一個XML文件中,選擇一個配置文件只會加載該文件並根據此設置共享首選項。但是,如果我有20個左右的配置文件,我需要檢查所有文件以生成配置文件名稱列表(因爲我必須將配置文件名稱存儲在每個文件中),這似乎效率不高。

回答

0

我在SQLiteDatabase的幫助下在我的一個應用程序中實現了一個配置文件系統(基本知識在notepad tutorial中進行了說明)。您只需要一張表來存儲配置文件名稱/ ID以及所需的所有設置。

  • 每個配置文件保存在您的表中的新記錄,以適當的名稱領域
  • 檢索的所有記錄,當你希望用戶能夠選擇一個個人資料顯示名稱的列表(例如SELECT * FROM Profile
  • 通過刪除相應的記錄刪除配置文件在你的系統(例如DELETE FROM Profile WHERE name='john'

我也使用SharedPreferences讓我的系統有一個簡單的方法來知道哪些公關保存當前配置文件的名稱/標識符在配置文件加載的情況之外,isile當前/最近活動。

+0

爲什麼選擇sql over,保存XML文件格式?後者似乎對我更靈活,例如使用戶可以輕鬆交換配置文件。 – drjr 2011-01-12 09:48:47