Android如何为离线演示模拟HTTP通信

And*_*der 7 android http

我有一个Android应用程序,几乎每个操作都使用http通信.我想通过某种方式重播http交换,能够在没有连接到互联网的情况下进行演示.如何才能做到这一点?所以我想以某种方式几乎像模拟对象,但真的模拟http会话,所以我总是可以在线或离线演示应用程序.这真的是一件非常酷的事情.因为您可以轻松可靠地演示应用程序.有谁知道我怎么能做到这一点.复制整个服务器端只是不是一个选项,它有太多的东西.重要的是不要只显示截屏视频而是真正的数据交换.我只是希望能够通过应用程序运行并重播.也许调试.谢谢

sco*_*awg 5

这是一个混合解决方案,使用其他答案的类似想法:

您可以编写一个简单的HTTP服务器来侦听"localhost:80"(或者您要定位的服务器上的任何端口),并将应用程序指向此主机,而不是通过从请求中分解出主机名.您的本地服务器具有对实际远程服务器的引用,并执行以下操作:

  • 如果是ONLINE,则将请求按原样转发到真实服务器,获取响应,将其本地保存在由请求URL键入的内存缓存中,或者以URL作为其标识符命名的文件(适当地引导)
  • 如果为OFFLINE,则在其(内存或文件系统)缓存中查找请求,并从缓存中返回内容

这有点像@ nicholas.hauschild所说的录制/播放模式.

现在,您可以在ONLINE时运行一次应用程序,从而使您的localhost服务器保存它针对真实服务器发出的请求.然后,当您将应用程序脱机运行时,只要发出相同的URL,它就会返回这些缓存的内容.

希望这可以帮助.