文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
8.8 灵活切换服务器
我们在开发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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论