2011-01-11 98 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