我已经在模拟器上尝试过连接到我创建的Java Web服务。但是当我尝试从我的Android设备访问它时,它无法正常工作。有人知道如何解决这个问题吗?
另一个问题是,通过这种方式是否有可能让两个Android设备访问同一个数据库?
我正在使用Tomcat服务器和MySQL数据库。Web服务实际上是用来从MySQL数据库获取数据并传递给我的Android手机。
提前谢谢你。
我已经在模拟器上尝试过连接到我创建的Java Web服务。但是当我尝试从我的Android设备访问它时,它无法正常工作。有人知道如何解决这个问题吗?
另一个问题是,通过这种方式是否有可能让两个Android设备访问同一个数据库?
我正在使用Tomcat服务器和MySQL数据库。Web服务实际上是用来从MySQL数据库获取数据并传递给我的Android手机。
提前谢谢你。
你能否在你的局域网IP上运行服务,而不是在本地主机上,并通过WiFi连接手机?
也可以通过设置代理来连接。
你可以获取本地特定端口运行的服务器的公共URL。
在我的工作场所,我可以通过在应用程序中使用我的机器的本地IP地址来访问本地服务器,就像大多数其他答案建议的那样。但是在家里,由于某种原因,我无法这样做。尝试了很多答案并花费了很多时间后,我发现了https://ngrok.com。它非常简单明了。只需从文件夹内下载它并执行以下操作:
ngrok portnumber
(从Windows命令提示符中)
./ngrok portnumber
(来自Linux终端)
这将为您的本地服务器提供一个公共URL,该服务器在localhost上运行该端口号。您可以在应用程序中包含它并使用该URL进行调试。
您可以安全地将本地Web服务器暴露给互联网,并捕获所有流量以进行详细检查。您还可以与远程工作的同事开发人员共享URL,并调试App / Server交互。
希望这能节省某些人的时间。
你尝试过使用IP地址10.0.2.2吗?这是模拟器上的本地主机。
你可以尝试使用KSOAP2库访问WebService,目前可以在Google上搜索它 ;)
当它在模拟器上运行时,它应该可以在真实设备上运行。也许这与代理或网络问题有关。
对于您的第二个问题。您是否为客户端使用本地数据库,例如SQLite?如果是,则每个设备都有自己的数据库,您需要通过Web服务将其同步到服务器数据库(MySQL)。