返回介绍

8.8 灵活切换服务器

发布于 2024-08-17 23:46:11 字数 1195 浏览 0 评论 0 收藏 0

我们在开发App功能的时候,会使用到MobileAPI提供的接口。但实际的情况是,在我们开发App新功能的时候,这些接口有可能还没有上线,仅仅在测试环境可以使用。

一种方法是把不同环境的IP写到配置文件中,每次打包时指定其中一个环境的IP。但这样的缺点是每个包只能针对于一种环境。

对于Android我们可以这么做,在Menu里加入IP的列表,点击其中一项后将会把全局变量Globals.IP设置为相应的IP。

为了每个页面都能切换服务器IP,我们将这个逻辑封装到基类BaseActivity中:

public class BaseActivity extends Activity {
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    if (Config.isDebug) {
      getMenuInfiater().infiate(R.menu.activity_main, menu);
    }
    return true;
  }
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_ip1:
      Globals.IP = "http:// 212.1.2.3";
      break;
    case R.id.menu_ip2:
      Globals.IP = "http:// 192.168.1.14";
      break;
    case R.id.menu_ip3:
      Globals.IP = "http:// 192.168.2.28";
      break;
    default:
    return super.onOptionsItemSelected(item);
    }
    return true;
  }
}

这样做的好处是,在任何页面都可以通过Menu切换IP,从而连接不同的环境,马上就会生效。

当然,为了避免正式版也有这个功能,需要在Config文件中增加一个开关isDebug,只有这个值为true时,才能在Menu中看到那个按钮。

相应的,要修改dailybuild.xml和batch_build.xml文件,以控制这个isDebug开关。这里就不再多说了,原理和前面介绍过的开关isMonkey相同。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文