【问题标题】:Android config properties安卓配置属性
【发布时间】:2011-07-10 11:43:29
【问题描述】:

我一直在研究如何在一个 android 项目中管理我的配置属性。我需要一个地方来存储我的应用程序连接到的 Web 服务的 URL、用户名和密码。在一个普通的 java 项目中,我会有一个 config.properties 文件,并会使用 spring 将属性注入到需要它们的任何地方。我考虑过使用 strings.xml 文件,这是存储它们的坏地方吗?在其中存储密码等敏感数据是否有任何问题?关于我能做什么的任何其他想法?

任何建议将不胜感激!

大卫

【问题讨论】:

    标签: java android configuration properties


    【解决方案1】:

    最好将它们存储在 /assets 目录或 /res/raw 目录中,请参阅http://myossdevblog.blogspot.in/2010/02/reading-properties-files-on-android.html

    【讨论】:

      【解决方案2】:

      我总是把这样的东西放在 strings.xml 中,但我并不真正处理密码。偏好也是一种选择。您可能想要encrypt 密码。

      请记住,您可以控制网络应用服务器,但您无法控制用户的设备。它可能已植根,也可能没有,他们可能很容易获取您的 apk 并查看它,或查看首选项。因此,如果您真的担心这些东西的安全性,您可能不想将它们存储在设备上。

      一个简单的选择是运行具有必要访问权限的代理服务器,并通过代理运行所有 Web 服务调用。

      【讨论】:

      • 感谢您的回复,我已经通过代理运行了我所有的网络服务调用,代理有一个用户名和密码,因为我想限制对它的访问。所以这将是我将存储在 strings.xml 中的代理的 url、用户名、密码等,这听起来合理吗?
      【解决方案3】:

      一个好地方是将这些放在属性文件中,其优点是如果由于某种原因您的 URL 发生更改,那么您可以轻松地用来自服务器的新 URL 覆盖文件中的键/值(前提是您有支持的代码并在应用程序启动时运行)。进一步来说,此机制可用于启用/禁用应用的功能、启用调试日志以帮助解决客户服务问题等。

      【讨论】:

      • 您可以建议创建属性的任何教程吗??
      【解决方案4】:

      Android Shared Preferences 似乎适合存储任何应用程序配置数据,以便在应用程序重新启动时保留(前提是数据不是太大,在这种情况下您可能需要数据库)。 希望这可以帮助, 罗伯特

      【讨论】:

        猜你喜欢
        • 2011-07-05
        • 2010-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多