我已经找到了解决方案,但获得了SharedPreferences和SQLite数据库的解决方案。我必须存储我的Android应用程序将访问的单个URL以获取一些数据。我喜欢将其保持为可配置状态,因为我可以更改URL并将应用程序与另一组数据一起使用。
如果我使用strings.xml,我是否需要重复相同的操作以防我添加对其他语言的支持?
对于存储在SharedPreferences中,我需要将其存储在某个地方,直到安装该应用程序才能将其保存在那里。
使用SQLite数据库似乎太过分了吗?
我认为基本的事情是将它存储在Constants类中,但我不确定这是否是正确的方法。
有人可以提出更好的解决方案吗?
答案 0 :(得分:1)
在我们的应用程序中,我们将AndroidManifest.xml中的所有静态配置存储为元数据属性。
指向文档的链接可以比我更好地解释它:
http://developer.android.com/guide/topics/manifest/meta-data-element.html
基本上:
<meta-data android:name="api.url" android:value="http://api.some-api.com"/>
然后假设元数据处于应用程序级别,您可以使用:
Bundle data = context.getPackageManager().getApplicationInfo(
context.getPackageName(),
PackageManager.GET_META_DATA).metaData;
String apiUrl = data.getString("api.url");
答案 1 :(得分:1)
您未指明该网址应保持私密状态。所以,你可能会忽略显而易见的事实。为什么不简单地创建随应用程序一起安装的“配置”文件?这可以通过遵循方法here来实现。安装完成后,您的应用程序可以轻松阅读并相应处理。
答案 2 :(得分:0)
我会将URL存储在常量中。除非您需要在版本之间进行更改。
如果要将其存储在XML中,请将其放入donottranslate.xml
,以便Lint不会抱怨。