Android 使用多个首选项文件重用PreferenceFragment
场景: 我的android应用程序充当服务器。连接到服务器的客户端有N个。 客户端有一组设置,用户可以从服务器(android应用程序)配置这些设置。因此,基本上我是通过套接字将用户偏好发送到相应的客户端。 所有客户端的设置都相同,但我需要维护每个客户端的设置状态。 例如: 设置集:Android 使用多个首选项文件重用PreferenceFragment,android,sharedpreferences,preferences,preferenceactivity,preferencefragment,Android,Sharedpreferences,Preferences,Preferenceactivity,Preferencefragment,场景: 我的android应用程序充当服务器。连接到服务器的客户端有N个。 客户端有一组设置,用户可以从服务器(android应用程序)配置这些设置。因此,基本上我是通过套接字将用户偏好发送到相应的客户端。 所有客户端的设置都相同,但我需要维护每个客户端的设置状态。 例如: 设置集: Settings 1 Settings 2 Settings 3 现在,用户为2个客户端配置上述设置,如下所示: 对于客户1: Settings 1 :true Settings 2 :false Setting
Settings 1
Settings 2
Settings 3
现在,用户为2个客户端配置上述设置,如下所示:
对于客户1:
Settings 1 :true
Settings 2 :false
Settings 3 :false
对于客户2:
Settings 1 :false
Settings 2 :false
Settings 3 :false
现在在android应用程序中,当用户选择client1时,应显示client1特定的集合
问题:
我无法保存客户端设置的状态
我的专业知识:
我是android编程的初学者
我目前的进展情况:
根据我对该场景的理解,我需要创建客户端不同的-2共享首选项文件。
我为设置集创建了一个通用首选项片段。由于所有客户端的设置都是相同的,所以我将重用首选项片段。
我还尝试为每个客户端动态指定首选项文件:
SharedPreferences sharedPreference = context.getSharedPreferences(
"<Here I dynamically specify prefs file name>", Context.MODE_PRIVATE);
SharedReferences SharedReference=context.getSharedReferences(
“”,Context.MODE_PRIVATE);
但它不起作用
请帮忙。回答我自己的问题,希望这能对将来的人有所帮助: 在这种情况下,我们需要创建不同的-2首选项文件。我们可以这样做:
getPreferenceManager().setSharedPreferencesName("preference_file_name");
然后加载特定的首选项文件
getSharedPreferences("preference_file_name", Context.MODE_PRIVATE);