外部化URL的最佳方法是什么?

时间:2010-11-11 16:32:21

标签: java android properties fileinputstream

我的应用程序中有10个URL,目前是硬编码的。我想将其外化并将其放在一个文件中,以便我的应用程序可以读取它。

这样做的最佳方式是什么?

private String appURL = "http://..."
private String storeURL = "http://..."
private String someURL = "http://..."

注意:我永远不会在我的应用中写出这个文件。我希望开发人员能够打开文件,并在必要时更改URL。

3 个答案:

答案 0 :(得分:3)

在android应用程序中外部化字符串的最简单方法是使用字符串资源。在uris.xml文件夹中创建文件res/values

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="appUrl">http://...</string>
    <string name="storeUrl">http://...</string>
    <!-- etc /-->
</resources>
然后,您可以通过以下方式访问字符串:

String appUrl = getString(R.string.appUrl);
String storeUrl = getString(R.string.storeUrl);
//..etc

getString()Context类的方法。另请注意,在开始访问其资源之前,您应该等到Context初始化。因此,getString()方法onCreate()Activity不会更早地调用Application

答案 1 :(得分:0)

您可以将值放在XML“配置”文件中,然后只读取XML文件中的值。

Example of reading an XML file.

或者只使用Konstantin Burov指出的Android的原生资源文件夹XML资源文件。

答案 2 :(得分:0)

如果您希望能够编辑外部平面文件,您可以简单地在SD上创建一个文本文件(并将一些默认值设置为静态字符串或属性)。然后您的代码读取文件(标准Java IO)并在您的活动的onCreate中显示更改说明

You can also have such file in /assets folder; see this for example