Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        3年前关闭。
                                                                                            
                
        
我正在开发一个使用大量SharedPreferences的Android应用。我有几个SharedPreferences文件,在我的整个应用程序中,我最多要对这些文件进行77次调用。有时我正在使用:

static final String FileName= "SharedPreferencesFile";

在我开始活动时,然后:

SharedPreferences settings = getSharedPreferences(FileName, Context.MODE_PRIVATE);


每当我需要使用它们时。在其他时候,我只是直接引用文件,如下所示:

 SharedPreferences settings = getSharedPreferences("SharedPreferencesFile", Context.MODE_PRIVATE);


我现在正在尝试整理事物,所以我想知道其他替代方法。我的问题是:


我应该为我的应用程序中的所有变量定义一个“ SharedPreferencesFile”还是应该像现在这样使用多个文件?
我应该在应用程序资源文件夹的String FileName= "SharedPreferencesFile"中定义所有这些strings.xml而不是将它们放在我的活动开始时,并将其用作SharedPreferences settings = getSharedPreferences(R.string.SharedPreferencesFile, Context.MODE_PRIVATE);
我是否应该创建一个助手类来处理Android Shared Preferences中建议的每个活动的所有共享首选项调用

最佳答案

我是否应该为所有变量定义一个“ SharedPreferencesFile”
  在我的应用中还是现在使用多个文件可以吗?


如果您可以按逻辑方式对它们进行分类,请执行此操作。不要只是为了让它们以随机方式分割多个文件而这样做。以后会引起很多混乱


  我应该在其中定义所有这些字符串FileName =“ SharedPreferencesFile”
  我的应用程序资源文件夹中的strings.xml,而不是将它们放在
  在我开始活动时,只需将其用作
  SharedPreferences设置=
  getSharedPreferences(R.string.SharedPreferencesFile,
  Context.MODE_PRIVATE);


将字符串资源提取到strings.xml总是很好。如果要添加翻译,请务必小心,并确保不翻译名称。将它们标记为notranslate字符串资源。


  我是否应该创建一个处理所有共享首选项的助手类
  要求执行Android共享偏好设置中建议的每项活动


已经有几种可用。这是我为简化SharedPreferences的使用而创建的。它是开源的,只需添加gradle依赖项即可使用-Android-SharedPreferences-Helper

关于android - 处理许多SharedPreferences的替代方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37304478/

10-10 16:48