存储静态配置数据

时间:2013-10-08 12:55:13

标签: android configuration static

我已经找到了解决方案,但获得了SharedPreferences和SQLite数据库的解决方案。我必须存储我的Android应用程序将访问的单个URL以获取一些数据。我喜欢将其保持为可配置状态,因为我可以更改URL并将应用程序与另一组数据一起使用。

如果我使用strings.xml,我是否需要重复相同的操作以防我添加对其他语言的支持?

对于存储在SharedPreferences中,我需要将其存储在某个地方,直到安装该应用程序才能将其保存在那里。

使用SQLite数据库似乎太过分了吗?

我认为基本的事情是将它存储在Constants类中,但我不确定这是否是正确的方法。

有人可以提出更好的解决方案吗?

3 个答案:

答案 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不会抱怨。