情境: 我的android应用程序充当服务器。有N个客户端连接到服务器。 用户可以从服务器(Android应用程序)配置客户端的一组设置。所以基本上我通过套接字将用户首选项发送给相应的客户端。 所有客户端的设置集都相同,但我需要维护每个客户端的设置状态。 例如:
设置集:
Settings 1
Settings 2
Settings 3
现在,用户为2个客户端配置上述设置,如下所示: 对于client1:
Settings 1 :true
Settings 2 :false
Settings 3 :false
对于Client2:
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);
但它不起作用。
请帮忙。
答案 0 :(得分:5)
回答我自己的问题,希望这有助于将来的某些人: 我们需要在这种情况下创建不同的2个首选项文件。我们可以这样做:
getPreferenceManager().setSharedPreferencesName("preference_file_name");
以及稍后加载该特定首选项文件
getSharedPreferences("preference_file_name", Context.MODE_PRIVATE);