当前位置 : 主页 > 手机开发 > android >

Android自定义SharedPreferences实现能否持久化到数据库?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我试图使用SharedPreferences接口的自定义实现将应用程序的首选项持久保存到数据库(而不是默认的 XML). 为什么?我想使用PreferenceActivity的便利来构建UI,但是这个应用程序将在多个设备上使
我试图使用SharedPreferences接口的自定义实现将应用程序的首选项持久保存到数据库(而不是默认的 XML).

为什么?我想使用PreferenceActivity的便利来构建UI,但是这个应用程序将在多个设备上使用,因此用户设置的首选项需要在设备之间保留.

所以..我已经编写了实现,但无法弄清楚如何将特定的SharedPreference与PreferenceActivity相关联.我知道使用getSharedPreferences(),但我怎么能覆盖呢?我可以以某种方式注册我的SharedPreferences吗?我没有在API中看到任何内容来执行此操作.

或者……如果我发现这一切都错了,请告诉我.谢谢.

我前段时间一直在研究这个问题.但是出于不同的原因.

我发现PreferenceActivity与PreferenceManager高度耦合,它在内部使用PreferenceManager.getDefaultSharedPreferences()来获取SharedPreference实例.并且无法在PrefernceActivity中替换自定义PreferenceManager或SharedPreference实例.

我发现Preference框架不灵活,扩展或更改默认行为非常困难,有时甚至是不可能的.但我的猜测是,这个框架的设计者将“易用性”作为他们的首要任务,而不是可扩展性和灵活性.这是可以理解的.

网友评论