我正在开发一个使用Web服务从服务器获取数据的Android应用程序,因为我有三套不同的URL来指向开发系统,测试服务器和实时服务器.每当我想提供测试/实时应用程序时,很难更改URL.所以我计划将其设置为可配置,以便应用程序可以根据我的构建类型配置常量获取适当的URL.所以,
例如:xml资源
<integer name="config_build_type">0</integer>
<string-array name="url_authentication">
<item >http://development.com/xxxx</item>
<item >http://test.com/xxx</item>
<item >http://example.com/xxx</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
Java静态常量
public class Config {
public static final int BUILD_TYPE = 0; // 0 - development, 1 - test, 2 - live
public static final String[] URL_AUTHENTICATION = {"http://development.com/", "http://test.com/", "http://example.com"};
}
Run Code Online (Sandbox Code Playgroud) 根据文档,Android操作系统可以杀死后端堆栈后面的活动.
所以,例如我说有一个应用程序并打开主要活动(让我们称之为活动A).在这个公共活动类中,我声明并初始化一个公共静态变量(让我们称之为"foo").在Activity A的onCreate()方法中,我然后更改"foo"的值.从活动A开始,用户在我的应用程序中启动另一个名为Activity B的活动.在活动B中使用变量"foo".在用户导航到其他应用程序中的某些其他活动后,活动B将暂停.最终,在发生内存不足之后,可以杀死活动A然后活动B. 用户导航回我的应用程序后,它会重新启动(实际上是"重新创建")活动B.
怎么了:
当活动A的onCreate()方法运行时,此时变量"foo"是否具有设置的值?
变量"foo"不存在?
变量"foo"存在,但现在是初始化值,而不是Activity A的onCreate()方法中设置的值?