将 URL 存储在 string.xml 资源文件中?

Storing URLs in string.xml resource file?

我正在尝试在某处放置一些 API 网址,以便应用程序可以在需要时获取它们。例如,它需要获取 Google 日历 API URL 来检索日历、事件等

将它们硬编码并存储在 string.xml 中是个好主意吗?否则,什么是更好的方法?

谢谢

我建议将所有 URL 存储在 Constants.java 文件中

根据这个thread你可以在string.xml

中存储url

我个人更喜欢创建一个 "contract" 文件来存储有关 API 的信息。例如

//No need to use "static final" attributes because this is an interface an not a class
public interface APIContract {
    String BASE_URL = "";
    //...
}

现在您可以使用

在您的代码中使用它
APIContract.BASE_URL

你必须在字符串资源和常量之间做出选择,这里有些专业。并反对

本地化:

对于本地化问题,字符串资源无疑是最好的,因为您可以为不同的语言环境使用不同的语言文件。

内存:

由于字符串资源保存在 xml 文件中,因此会有一些额外的开销(虽然不是主要开销)

性能:

从内存中读取总是比从文件中读取快。虽然在这种情况下性能差异并不显着

我个人使用常量 类 因为我不需要为 Urls 在语言之间进行转换,性能更好。