开发者社区> 问答> 正文

如何通过微调框使用共享首选项?

我的活动中有3个微调器,每次打开应用程序时都需要显示以前选择的微调器值。 假设如果我第一次在微调器中选择“ CSE”,并且如果我再次重新打开该应用程序,则必须选择“ CSE”默认。 我使用了shared_preferences来存储值,并尝试检索它们,但没有任何用处。 还是我应该使用复选框来记住用户数据? 共享首选项声明

sharedPreferences=getSharedPreferences("settings1",MODE_PRIVATE);
        sharedPreferences=getSharedPreferences("settings2",MODE_PRIVATE);
        sharedPreferences=getSharedPreferences("settings3",MODE_PRIVATE);
        int settings1 = sharedPreferences.getInt("spinnerSelection1",0);
        int settings2 = sharedPreferences.getInt("spinnerSelection2",0);
        int settings3 = sharedPreferences.getInt("spinnerSelection3",0);

从微调器中检索数据

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        //on selecting a spinner item
        String item = parent.getItemAtPosition(position).toString();
        Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();

        try {
            int selectedposition1 = spin1.getSelectedItemPosition();
            int selectedposition2 = spin2.getSelectedItemPosition();
            int selectedposition3 = spin3.getSelectedItemPosition();
            editor.putInt("spinnerSelection1",selectedposition1);
            editor.putInt("spinnerSelection2",selectedposition2);
            editor.putInt("spinnerSelection3",selectedposition3);
            editor.apply();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

我想念什么吗? 我需要研究的任何参考链接吗? 有人可以指导我吗?

展开
收起
垚tutu 2019-12-12 10:00:30 849 0
1 条回答
写回答
取消 提交回答
  • 这只是调整组策略对象上一部分目标的权限(目标=策略范围内的用户和计算机)。用户和计算机需要对对象具有“读取”和“应用组策略”权限,才能成功应用GPO。如果我们有一个“ LockDown” GP将桌面限制到最小,并且将其应用于“ ManufacturingOU”,则该OU中的所有对象都会受到影响。要将LockDown-GP仅应用于多个目标,我们可以创建一个Active Directory组,将目标对象放入该组中,然后在GP的“ Scope”选项卡中修改安全过滤设置,如屏幕快照所示:

    我们从“安全过滤”选项卡中删除“授权用户”,并向我们的安全组添加目标。另一种方法将涉及“委派”选项卡。它列出了对GPO的正确权限。单击那里的“高级”按钮,打开您可能对NTFS权限熟悉的访问控制编辑器:

    您可以看到锁定组具有“读取”和“应用组策略”权限。使用ACL编辑器,您甚至可以采用另一种方式:将“已认证的用户”保留在允许的组和用户列表中,并拒绝特定的组“读取”和“应用组策略”权限,以防止他们应用GPO。

    WMI筛选:您可以通过在GPO上应用WMI筛选器来进一步筛选策略范围。WMI筛选器在执行有问题的GPO之前运行。如果过滤器评估为“ TRUE”,则将应用GPO,否则将忽略该GPO。一个典型的用例是用于不同操作系统的GPO。右键单击GPMC中的“ WMI筛选器”节点,然后使用WQL语法创建一个新的WMI筛选器。针对Windows Vista的示例为:

    SELECT Version, ProductType FROM Win32_OperatingSystem WHERE Version >= ‘6.0′ AND ProductType = ‘1′ .

    之后,打开有问题的GPO的“范围”选项卡,然后在“ WMI筛选器”部分中选择Vista-WMI筛选器。GPO将仅应用于Vista计算机,然后过滤器将其评估为“ true”,仅适用于这些计算机。显然,您需要知道如何创建WQL查询。Scriptomatic是将WQL查询放在一起的一个巨大帮助

    现在,有了“组策略首选项”,还有另一种方法可以过滤目标上的策略。称为“ 项目级定位 ”。顾名思义,您现在可以为在GP偏好设置中配置的每个设置定义过滤器。您没有看错:对于每种设置。安全筛选和WMI筛选用于按GPO筛选–项级别的目标是按设置进行的。这样一来,您就可以配置一个具有多个GP首选项的GPO,但仅根据过滤器及其评估应用其中的一部分。您将在哪里添加这些过滤器?检查GPP的“公用”选项卡:

    您需要勾选“项目级定位”复选框以启用该按钮。打开“定位…”后,您将看到以下编辑器:

    我已经为您打开“新建项目”菜单,因此您可以看到GPP中可以过滤的所有选项。没错,您可以过滤GPP项(在具有其他GPP和GP设置的GPO中)仅在以下情况下适用:例如……用户位于安全组 “帮助台”中,并且计算机名称为“ XP-00233”,是在上午8点到下午5点之间(时间范围),并且用户处于终端会话上,在Windows XP(作为操作系统)上具有特定的会话名称,并且在系统分区上具有20GB的可用磁盘空间。好吧,从理论上讲,您可以。如果这确实有用,则取决于您。

    项目级定位编辑器使您可以根据屏幕快照中显示的“新项目”条件形成过滤器。您可以使用布尔逻辑(“与”,“或”,“不”)来组合过滤器,以实现复杂的逻辑:

    在可以在文本框中输入字符串的任何地方,都可以按F3键以获得GPP可以理解的已知环境变量的列表。这样可以更轻松地(例如)创建文件匹配规则,因为您可以使用本地系统将其转换为实际路径的“ CommonAppDir”,“ CommonStartUpDir”或“ ProgramFilesDir”变量。

    考虑一下您可以在单个GPO中使用的配置,并针对已定义的不同设置进行项目级定位-仅需一秒钟:

    2021-02-08 23:35:55
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载