4

场景: 我的 android 应用程序充当服务器。有 N 个客户端连接到服务器。用户可以从服务器(Android 应用程序)配置客户端的一组设置。所以基本上我通过套接字将用户首选项发送到相应的客户端。所有客户端的设置集都是相同的,但我需要维护每个客户端的设置状态。例如:

设置集:

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);

但它不工作。

请帮忙。

4

1 回答 1

6

回答我自己的问题,希望这可以帮助将来的人:我们需要在这种情况下创建不同的 2 首选项文件。我们可以这样做:

getPreferenceManager().setSharedPreferencesName("preference_file_name");

稍后加载该特定首选项文件

getSharedPreferences("preference_file_name", Context.MODE_PRIVATE);
于 2014-09-12T06:05:14.517 回答