我一直在研究如何在Android项目中管理我的配置属性。我需要一个地方来存储我的应用程序连接到的Web服务的URL,用户名和密码。在一个普通的java项目中,我会有一个config.properties文件,并使用spring将属性注入到需要它们的任何地方。我想过使用strings.xml文件,这是一个存放它们的好地方吗?在那里存储密码等敏感数据是否存在问题?关于我能做什么的任何其他想法?
非常感谢任何建议!
大卫
答案 0 :(得分:4)
最好将它们存储在/ assets目录或/ res / raw目录中,请参阅http://myossdevblog.blogspot.in/2010/02/reading-properties-files-on-android.html
答案 1 :(得分:3)
我总是把这样的东西放在strings.xml中,但我并没有真正处理密码。偏好也是一种选择。您可能希望encrypt密码。
请注意您已控制Web应用程序服务器,您无法控制用户的设备。它可能是root,也可能不是,他们可能很容易获取拉你的apk并查看它,或查看首选项。因此,如果您真的担心这些东西的安全性,您可能不希望将它们存储在设备上。
一个简单的选择是运行具有必要访问权限的代理服务器,并通过代理运行所有Web服务调用。
答案 2 :(得分:1)
一个好的地方是将它们放在属性文件中,优点是如果由于某种原因你的URL发生了变化,那么你可以使用服务器中的新URL轻松覆盖文件中的键/值(前提是你有支持的代码)那个并在app启动时运行)。此外,此机制可用于启用/禁用应用程序的功能,启用调试日志以帮助解决客户服务问题等。
答案 3 :(得分:0)
Android Shared Preferences似乎是适当的存储空间,可以通过应用程序重新启动来保留任何应用程序配置数据(假设数据不是太大,在这种情况下您可能需要数据库)。 希望这可以帮助, 罗伯特